. * */ namespace Friendica\Module\Api\Twitter\Lists; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Module\BaseApi; use Friendica\Model\Contact; use Friendica\Model\Group; use Friendica\Network\HTTPException; /** * Update information about a group. * * @see https://developer.twitter.com/en/docs/accounts-and-users/create-manage-lists/api-reference/post-lists-update */ class Create extends BaseApi { protected function rawContent(array $request = []) { BaseApi::checkAllowedScope(BaseApi::SCOPE_WRITE); $uid = BaseApi::getCurrentUserID(); // params $name = $_REQUEST['name'] ?? ''; if ($name == '') { throw new HTTPException\BadRequestException('group name not specified'); } // error message if specified group name already exists if (DBA::exists('group', ['uid' => $uid, 'name' => $name, 'deleted' => false])) { throw new HTTPException\BadRequestException('group name already exists'); } $ret = Group::create($uid, $name); if ($ret) { $gid = Group::getIdByName($uid, $name); } else { throw new HTTPException\BadRequestException('other API error'); } $grp = DI::friendicaGroup()->createFromId($gid); $this->response->exit('statuses', ['lists' => ['lists' => $grp]], $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid)); } }