diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 1a5d6f7b00..6b1d11167a 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -1320,6 +1320,8 @@ App::get('/v1/account') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_ACCOUNT) + ->label('sdk.offline.model', '/account') + ->label('sdk.offline.key', 'current') ->inject('response') ->inject('user') ->action(function (Response $response, Document $user) { @@ -1339,6 +1341,8 @@ App::get('/v1/account/prefs') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_PREFERENCES) + ->label('sdk.offline.model', '/account/prefs') + ->label('sdk.offline.key', 'current') ->inject('response') ->inject('user') ->action(function (Response $response, Document $user) { @@ -1360,6 +1364,7 @@ App::get('/v1/account/sessions') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_SESSION_LIST) + ->label('sdk.offline.model', '/account/sessions') ->inject('response') ->inject('user') ->inject('locale') @@ -1458,6 +1463,8 @@ App::get('/v1/account/sessions/:sessionId') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_SESSION) + ->label('sdk.offline.model', '/account/sessions') + ->label('sdk.offline.key', '{sessionId}') ->param('sessionId', '', new UID(), 'Session ID. Use the string \'current\' to get the current device session.') ->inject('response') ->inject('user') @@ -1504,6 +1511,8 @@ App::patch('/v1/account/name') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_ACCOUNT) + ->label('sdk.offline.model', '/account') + ->label('sdk.offline.key', 'current') ->param('name', '', new Text(128), 'User name. Max length: 128 chars.') ->inject('response') ->inject('user') @@ -1536,6 +1545,8 @@ App::patch('/v1/account/password') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_ACCOUNT) + ->label('sdk.offline.model', '/account') + ->label('sdk.offline.key', 'current') ->param('password', '', new Password(), 'New user password. Must be at least 8 chars.') ->param('oldPassword', '', new Password(), 'Current user password. Must be at least 8 chars.', true) ->inject('response') @@ -1575,6 +1586,8 @@ App::patch('/v1/account/email') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_ACCOUNT) + ->label('sdk.offline.model', '/account') + ->label('sdk.offline.key', 'current') ->param('email', '', new Email(), 'User email.') ->param('password', '', new Password(), 'User password. Must be at least 8 chars.') ->inject('response') @@ -1627,6 +1640,8 @@ App::patch('/v1/account/phone') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_ACCOUNT) + ->label('sdk.offline.model', '/account') + ->label('sdk.offline.key', 'current') ->param('phone', '', new Phone(), 'Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.') ->param('password', '', new Password(), 'User password. Must be at least 8 chars.') ->inject('response') @@ -1675,6 +1690,8 @@ App::patch('/v1/account/prefs') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_ACCOUNT) + ->label('sdk.offline.model', '/account/prefs') + ->label('sdk.offline.key', 'current') ->param('prefs', [], new Assoc(), 'Prefs key-value JSON object.') ->inject('response') ->inject('user') diff --git a/app/controllers/api/databases.php b/app/controllers/api/databases.php index 88242482a1..9ec46817ac 100644 --- a/app/controllers/api/databases.php +++ b/app/controllers/api/databases.php @@ -1852,6 +1852,8 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') ->label('sdk.response.code', Response::STATUS_CODE_CREATED) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_DOCUMENT) + ->label('sdk.offline.model', '/databases/{databaseId}/collections/{collectionId}/documents') + ->label('sdk.offline.key', '{documentId}') ->param('databaseId', '', new UID(), 'Database ID.') ->param('documentId', '', new CustomId(), 'Document 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('collectionId', '', new UID(), 'Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection). Make sure to define attributes before creating documents.') @@ -1974,6 +1976,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/documents') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_DOCUMENT_LIST) + ->label('sdk.offline.model', '/databases/{databaseId}/collections/{collectionId}/documents') ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).') ->param('queries', [], new ArrayList(new Text(APP_LIMIT_ARRAY_ELEMENT_SIZE), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) @@ -2071,6 +2074,8 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/documents/:documen ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_DOCUMENT) + ->label('sdk.offline.model', '/databases/{databaseId}/collections/{collectionId}/documents') + ->label('sdk.offline.key', '{documentId}') ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).') ->param('documentId', '', new UID(), 'Document ID.') @@ -2240,6 +2245,8 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_DOCUMENT) + ->label('sdk.offline.model', '/databases/{databaseId}/collections/{collectionId}/documents') + ->label('sdk.offline.key', '{documentId}') ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('documentId', '', new UID(), 'Document ID.') @@ -2373,6 +2380,8 @@ App::delete('/v1/databases/:databaseId/collections/:collectionId/documents/:docu ->label('sdk.description', '/docs/references/databases/delete-document.md') ->label('sdk.response.code', Response::STATUS_CODE_NOCONTENT) ->label('sdk.response.model', Response::MODEL_NONE) + ->label('sdk.offline.model', '/databases/{databaseId}/collections/{collectionId}/documents') + ->label('sdk.offline.key', '{documentId}') ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).') ->param('documentId', '', new UID(), 'Document ID.') diff --git a/app/controllers/api/locale.php b/app/controllers/api/locale.php index 6d824da055..9c958fb080 100644 --- a/app/controllers/api/locale.php +++ b/app/controllers/api/locale.php @@ -19,6 +19,8 @@ App::get('/v1/locale') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_LOCALE) + ->label('sdk.offline.model', '/locale') + ->label('sdk.offline.key', 'current') ->inject('request') ->inject('response') ->inject('locale') @@ -77,6 +79,8 @@ App::get('/v1/locale/countries') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_COUNTRY_LIST) + ->label('sdk.offline.model', '/locale/countries') + ->label('sdk.offline.response.key', 'code') ->inject('response') ->inject('locale') ->action(function (Response $response, Locale $locale) { @@ -108,6 +112,8 @@ App::get('/v1/locale/countries/eu') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_COUNTRY_LIST) + ->label('sdk.offline.model', '/locale/countries/eu') + ->label('sdk.offline.response.key', 'code') ->inject('response') ->inject('locale') ->action(function (Response $response, Locale $locale) { @@ -141,6 +147,8 @@ App::get('/v1/locale/countries/phones') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_PHONE_LIST) + ->label('sdk.offline.model', '/locale/countries/phones') + ->label('sdk.offline.response.key', 'countryCode') ->inject('response') ->inject('locale') ->action(function (Response $response, Locale $locale) { @@ -173,6 +181,8 @@ App::get('/v1/locale/continents') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_CONTINENT_LIST) + ->label('sdk.offline.model', '/locale/continents') + ->label('sdk.offline.response.key', 'code') ->inject('response') ->inject('locale') ->action(function (Response $response, Locale $locale) { @@ -203,6 +213,8 @@ App::get('/v1/locale/currencies') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_CURRENCY_LIST) + ->label('sdk.offline.model', '/locale/currencies') + ->label('sdk.offline.response.key', 'code') ->inject('response') ->action(function (Response $response) { $list = Config::getParam('locale-currencies'); @@ -224,6 +236,8 @@ App::get('/v1/locale/languages') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_LANGUAGE_LIST) + ->label('sdk.offline.model', '/locale/languages') + ->label('sdk.offline.response.key', 'code') ->inject('response') ->action(function (Response $response) { $list = Config::getParam('locale-languages'); diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index f7ebae6381..a6a49fd798 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -133,6 +133,7 @@ App::get('/v1/teams') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_TEAM_LIST) + ->label('sdk.offline.model', '/teams') ->param('queries', [], new Teams(), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long. You may filter on the following attributes: ' . implode(', ', Teams::ALLOWED_ATTRIBUTES), true) ->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true) ->inject('response') @@ -182,6 +183,8 @@ App::get('/v1/teams/:teamId') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_TEAM) + ->label('sdk.offline.model', '/teams') + ->label('sdk.offline.key', '{teamId}') ->param('teamId', '', new UID(), 'Team ID.') ->inject('response') ->inject('dbForProject') @@ -210,6 +213,8 @@ App::put('/v1/teams/:teamId') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_TEAM) + ->label('sdk.offline.model', '/teams') + ->label('sdk.offline.key', '{teamId}') ->param('teamId', '', new UID(), 'Team ID.') ->param('name', null, new Text(128), 'New team name. Max length: 128 chars.') ->inject('response') @@ -496,6 +501,7 @@ App::get('/v1/teams/:teamId/memberships') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_MEMBERSHIP_LIST) + ->label('sdk.offline.model', '/teams/{teamId}/memberships') ->param('teamId', '', new UID(), 'Team ID.') ->param('queries', [], new Memberships(), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long. You may filter on the following attributes: ' . implode(', ', Memberships::ALLOWED_ATTRIBUTES), true) ->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true) @@ -577,6 +583,8 @@ App::get('/v1/teams/:teamId/memberships/:membershipId') ->label('sdk.response.code', Response::STATUS_CODE_OK) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_MEMBERSHIP) + ->label('sdk.offline.model', '/teams/{teamId}/memberships') + ->label('sdk.offline.key', '{membershipId}') ->param('teamId', '', new UID(), 'Team ID.') ->param('membershipId', '', new UID(), 'Membership ID.') ->inject('response')