diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 4d3a592bc..37a6604c4 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -1635,8 +1635,7 @@ $createSession = function (string $userId, string $secret, Request $request, Res }; App::put('/v1/account/sessions/magic-url') - ->alias('/v1/account/sessions/phone') - ->desc('Create session (deprecated)') + ->desc('Update magic URL session') ->label('event', 'users.[userId].sessions.[sessionId].create') ->groups(['api', 'account']) ->label('scope', 'sessions.write') @@ -1644,8 +1643,39 @@ App::put('/v1/account/sessions/magic-url') ->label('audits.resource', 'user/{response.userId}') ->label('audits.userId', '{response.userId}') ->label('sdk.auth', []) + ->label('sdk.deprecated', true) ->label('sdk.namespace', 'account') - ->label('sdk.method', ['updateMagicURLSession', 'updatePhoneSession']) + ->label('sdk.method', 'updateMagicURLSession') + ->label('sdk.description', '/docs/references/account/create-session.md') + ->label('sdk.response.code', Response::STATUS_CODE_CREATED) + ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) + ->label('sdk.response.model', Response::MODEL_SESSION) + ->label('abuse-limit', 10) + ->label('abuse-key', 'ip:{ip},userId:{param-userId}') + ->param('userId', '', new CustomId(), 'User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can\'t start with a special char. Max length is 36 chars.') + ->param('secret', '', new Text(256), 'Valid verification token.') + ->inject('request') + ->inject('response') + ->inject('user') + ->inject('dbForProject') + ->inject('project') + ->inject('locale') + ->inject('geodb') + ->inject('queueForEvents') + ->action($createSession); + +App::put('/v1/account/sessions/phone') + ->desc('Update phone session') + ->label('event', 'users.[userId].sessions.[sessionId].create') + ->groups(['api', 'account']) + ->label('scope', 'sessions.write') + ->label('audits.event', 'session.create') + ->label('audits.resource', 'user/{response.userId}') + ->label('audits.userId', '{response.userId}') + ->label('sdk.auth', []) + ->label('sdk.deprecated', true) + ->label('sdk.namespace', 'account') + ->label('sdk.method', 'updatePhoneSession') ->label('sdk.description', '/docs/references/account/create-session.md') ->label('sdk.response.code', Response::STATUS_CODE_CREATED) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) diff --git a/src/Appwrite/Specification/Format/OpenAPI3.php b/src/Appwrite/Specification/Format/OpenAPI3.php index 4bbfce17c..1d5399b51 100644 --- a/src/Appwrite/Specification/Format/OpenAPI3.php +++ b/src/Appwrite/Specification/Format/OpenAPI3.php @@ -127,11 +127,7 @@ class OpenAPI3 extends Format continue; } - $method = $route->getLabel('sdk.method', [\uniqid()]); - if (\is_array($method)) { - $method = $method[0]; - } - + $method = $route->getLabel('sdk.method', 'unknown'); $desc = (!empty($route->getLabel('sdk.description', ''))) ? \realpath(__DIR__ . '/../../../../' . $route->getLabel('sdk.description', '')) : null; $produces = $route->getLabel('sdk.response.type', null); $model = $route->getLabel('sdk.response.model', 'none'); @@ -175,6 +171,7 @@ class OpenAPI3 extends Format 'weight' => $route->getOrder(), 'cookies' => $route->getLabel('sdk.cookies', false), 'type' => $route->getLabel('sdk.methodType', ''), + 'deprecated' => $route->getLabel('sdk.deprecated', false), 'demo' => Template::fromCamelCaseToDash($route->getLabel('sdk.namespace', 'default')) . '/' . Template::fromCamelCaseToDash($method) . '.md', 'edit' => 'https://github.com/appwrite/appwrite/edit/master' . $route->getLabel('sdk.description', ''), 'rate-limit' => $route->getLabel('abuse-limit', 0), diff --git a/src/Appwrite/Specification/Format/Swagger2.php b/src/Appwrite/Specification/Format/Swagger2.php index 6d0b94cba..6fabde14c 100644 --- a/src/Appwrite/Specification/Format/Swagger2.php +++ b/src/Appwrite/Specification/Format/Swagger2.php @@ -125,11 +125,7 @@ class Swagger2 extends Format continue; } - $method = $route->getLabel('sdk.method', [\uniqid()]); - if (\is_array($method)) { - $method = $method[0]; - } - + $method = $route->getLabel('sdk.method', 'unknown'); $desc = (!empty($route->getLabel('sdk.description', ''))) ? \realpath(__DIR__ . '/../../../../' . $route->getLabel('sdk.description', '')) : null; $produces = $route->getLabel('sdk.response.type', null); $model = $route->getLabel('sdk.response.model', 'none'); @@ -171,6 +167,7 @@ class Swagger2 extends Format 'weight' => $route->getOrder(), 'cookies' => $route->getLabel('sdk.cookies', false), 'type' => $route->getLabel('sdk.methodType', ''), + 'deprecated' => $route->getLabel('sdk.deprecated', false), 'demo' => Template::fromCamelCaseToDash($route->getLabel('sdk.namespace', 'default')) . '/' . Template::fromCamelCaseToDash($method) . '.md', 'edit' => 'https://github.com/appwrite/appwrite/edit/master' . $route->getLabel('sdk.description', ''), 'rate-limit' => $route->getLabel('abuse-limit', 0), diff --git a/src/Appwrite/Utopia/Request.php b/src/Appwrite/Utopia/Request.php index 1bf4f8b33..9ad2f6cb7 100644 --- a/src/Appwrite/Utopia/Request.php +++ b/src/Appwrite/Utopia/Request.php @@ -25,10 +25,7 @@ class Request extends UtopiaRequest $parameters = parent::getParams(); if (self::hasFilter() && self::hasRoute()) { - $method = self::getRoute()->getLabel('sdk.method', ['unknown']); - if (\is_array($method)) { - $method = $method[0]; - } + $method = self::getRoute()->getLabel('sdk.method', 'unknown'); $endpointIdentifier = self::getRoute()->getLabel('sdk.namespace', 'unknown') . '.' . $method; $parameters = self::getFilter()->parse($parameters, $endpointIdentifier); }