Changes all name attributes length to max
of 128 chars
This commit is contained in:
parent
0d12c98a94
commit
77667be404
|
@ -22,6 +22,14 @@
|
|||
- Added pagination for projects list on the console home page.
|
||||
- Updated storage calculation to match IEC standards
|
||||
- Now using Alpine as base Docker image
|
||||
- User name max length is now 128 chars and not 100 for better API consistency
|
||||
- Team name max length is now 128 chars and not 100 for better API consistency
|
||||
- Collection name max length is now 128 chars and not 256 for better API consistency
|
||||
- Project name max length is now 128 chars and not 100 for better API consistency
|
||||
- Webhook name max length is now 128 chars and not 256 for better API consistency
|
||||
- API Key name max length is now 128 chars and not 256 for better API consistency
|
||||
- Task name max length is now 128 chars and not 256 for better API consistency
|
||||
- Platform name max length is now 128 chars and not 256 for better API consistency
|
||||
- New and consistent response format for all API object + new response examples in the docs
|
||||
- Removed user roles attribute from user object (can be fetched from /v1/teams/memberships) **
|
||||
- Removed type attribute from session object response (used only internally)
|
||||
|
|
|
@ -53,7 +53,7 @@ App::post('/v1/account')
|
|||
->label('abuse-limit', 10)
|
||||
->param('email', '', function () { return new Email(); }, 'User email.')
|
||||
->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.')
|
||||
->param('name', '', function () { return new Text(100); }, 'User name.', true)
|
||||
->param('name', '', function () { return new Text(128); }, 'User name. Max length: 128 chars.', true)
|
||||
->action(function ($email, $password, $name, $request, $response, $project, $projectDB, $webhooks, $audits) use ($oauth2Keys) {
|
||||
/** @var Utopia\Request $request */
|
||||
/** @var Utopia\Response $response */
|
||||
|
@ -738,7 +738,7 @@ App::patch('/v1/account/name')
|
|||
->label('sdk.namespace', 'account')
|
||||
->label('sdk.method', 'updateName')
|
||||
->label('sdk.description', '/docs/references/account/update-name.md')
|
||||
->param('name', '', function () { return new Text(100); }, 'User name.')
|
||||
->param('name', '', function () { return new Text(128); }, 'User name. Max length: 128 chars.')
|
||||
->action(function ($name, $response, $user, $projectDB, $audits) use ($oauth2Keys) {
|
||||
/** @var Utopia\Response $response */
|
||||
/** @var Appwrite\Database\Document $user */
|
||||
|
|
|
@ -393,7 +393,7 @@ App::get('/v1/avatars/initials')
|
|||
->label('sdk.method', 'getInitials')
|
||||
->label('sdk.methodType', 'location')
|
||||
->label('sdk.description', '/docs/references/avatars/get-initials.md')
|
||||
->param('name', '', function () { return new Text(512); }, 'Full Name. When empty, current user name or email will be used.', true)
|
||||
->param('name', '', function () { return new Text(128); }, 'Full Name. When empty, current user name or email will be used. Max length: 128 chars.', true)
|
||||
->param('width', 500, function () { return new Range(0, 2000); }, 'Image width. Pass an integer between 0 to 2000. Defaults to 100.', true)
|
||||
->param('height', 500, function () { return new Range(0, 2000); }, 'Image height. Pass an integer between 0 to 2000. Defaults to 100.', true)
|
||||
->param('color', '', function () { return new HexColor(); }, 'Changes text color. By default a random color will be picked and stay will persistent to the given name.', true)
|
||||
|
|
|
@ -30,7 +30,7 @@ App::post('/v1/database/collections')
|
|||
->label('sdk.platform', [APP_PLATFORM_SERVER])
|
||||
->label('sdk.method', 'createCollection')
|
||||
->label('sdk.description', '/docs/references/database/create-collection.md')
|
||||
->param('name', '', function () { return new Text(256); }, 'Collection name.')
|
||||
->param('name', '', function () { return new Text(128); }, 'Collection name. Max length: 128 chars.')
|
||||
->param('read', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
|
||||
->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
|
||||
->param('rules', [], function ($projectDB) { return new ArrayList(new Collection($projectDB, [Database::SYSTEM_COLLECTION_RULES], ['$collection' => Database::SYSTEM_COLLECTION_RULES, '$permissions' => ['read' => [], 'write' => []]])); }, 'Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.', false, ['projectDB'])
|
||||
|
@ -226,7 +226,7 @@ App::put('/v1/database/collections/:collectionId')
|
|||
->label('sdk.method', 'updateCollection')
|
||||
->label('sdk.description', '/docs/references/database/update-collection.md')
|
||||
->param('collectionId', '', function () { return new UID(); }, 'Collection unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Collection name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Collection name. Max length: 128 chars.')
|
||||
->param('read', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions(/docs/permissions) and get a full list of available permissions.')
|
||||
->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
|
||||
->param('rules', [], function ($projectDB) { return new ArrayList(new Collection($projectDB, [Database::SYSTEM_COLLECTION_RULES], ['$collection' => Database::SYSTEM_COLLECTION_RULES, '$permissions' => ['read' => [], 'write' => []]])); }, 'Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.', true, ['projectDB'])
|
||||
|
|
|
@ -28,7 +28,7 @@ App::post('/v1/functions')
|
|||
->label('sdk.namespace', 'functions')
|
||||
->label('sdk.method', 'create')
|
||||
->label('sdk.description', '/docs/references/functions/create-function.md')
|
||||
->param('name', '', function () { return new Text(128); }, 'Function name.')
|
||||
->param('name', '', function () { return new Text(128); }, 'Function name. Max length: 128 chars.')
|
||||
->param('env', '', function () { return new WhiteList(array_keys(Config::getParam('environments'))); }, 'Execution enviornment.')
|
||||
->param('vars', [], function () { return new Assoc();}, 'Key-value JSON object.', true)
|
||||
->param('events', [], function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.', true)
|
||||
|
@ -121,7 +121,7 @@ App::put('/v1/functions/:functionId')
|
|||
->label('sdk.method', 'update')
|
||||
->label('sdk.description', '/docs/references/functions/update-function.md')
|
||||
->param('functionId', '', function () { return new UID(); }, 'Function unique ID.')
|
||||
->param('name', '', function () { return new Text(128); }, 'Function name.')
|
||||
->param('name', '', function () { return new Text(128); }, 'Function name. Max length: 128 chars.')
|
||||
->param('vars', [], function () { return new Assoc();}, 'Key-value JSON object.', true)
|
||||
->param('events', [], function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.', true)
|
||||
->param('schedule', '', function () { return new Cron(); }, 'Schedule CRON syntax.', true)
|
||||
|
|
|
@ -27,7 +27,7 @@ App::post('/v1/projects')
|
|||
->label('scope', 'projects.write')
|
||||
->label('sdk.namespace', 'projects')
|
||||
->label('sdk.method', 'create')
|
||||
->param('name', null, function () { return new Text(100); }, 'Project name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Project name. Max length: 128 chars.')
|
||||
->param('teamId', '', function () { return new UID(); }, 'Team unique ID.')
|
||||
->param('description', '', function () { return new Text(255); }, 'Project description.', true)
|
||||
->param('logo', '', function () { return new Text(1024); }, 'Project logo.', true)
|
||||
|
@ -335,8 +335,8 @@ App::patch('/v1/projects/:projectId')
|
|||
->label('sdk.namespace', 'projects')
|
||||
->label('sdk.method', 'update')
|
||||
->param('projectId', '', function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('name', null, function () { return new Text(100); }, 'Project name.')
|
||||
->param('description', '', function () { return new Text(255); }, 'Project description.', true)
|
||||
->param('name', null, function () { return new Text(128); }, 'Project name. Max length: 128 chars.')
|
||||
->param('description', '', function () { return new Text(256); }, 'Project description. Max length: 256 chars.', true)
|
||||
->param('logo', '', function () { return new Text(1024); }, 'Project logo.', true)
|
||||
->param('url', '', function () { return new URL(); }, 'Project URL.', true)
|
||||
->param('legalName', '', function () { return new Text(256); }, 'Project legal name.', true)
|
||||
|
@ -474,7 +474,7 @@ App::post('/v1/projects/:projectId/webhooks')
|
|||
->label('sdk.namespace', 'projects')
|
||||
->label('sdk.method', 'createWebhook')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Webhook name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Webhook name. Max length: 128 chars.')
|
||||
->param('events', null, function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.')
|
||||
->param('url', null, function () { return new URL(); }, 'Webhook URL.')
|
||||
->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.')
|
||||
|
@ -610,7 +610,7 @@ App::put('/v1/projects/:projectId/webhooks/:webhookId')
|
|||
->label('sdk.method', 'updateWebhook')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('webhookId', null, function () { return new UID(); }, 'Webhook unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Webhook name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Webhook name. Max length: 128 chars.')
|
||||
->param('events', null, function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.')
|
||||
->param('url', null, function () { return new URL(); }, 'Webhook URL.')
|
||||
->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.') ->param('httpUser', '', function () { return new Text(256); }, 'Webhook HTTP user.', true)
|
||||
|
@ -699,7 +699,7 @@ App::post('/v1/projects/:projectId/keys')
|
|||
->label('sdk.namespace', 'projects')
|
||||
->label('sdk.method', 'createKey')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Key name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Key name. Max length: 128 chars.')
|
||||
->param('scopes', null, function () { return new ArrayList(new WhiteList(Config::getParam('scopes'))); }, 'Key scopes list.')
|
||||
->action(function ($projectId, $name, $scopes, $response, $consoleDB) {
|
||||
/** @var Utopia\Response $response */
|
||||
|
@ -792,7 +792,7 @@ App::put('/v1/projects/:projectId/keys/:keyId')
|
|||
->label('sdk.method', 'updateKey')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('keyId', null, function () { return new UID(); }, 'Key unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Key name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Key name. Max length: 128 chars.')
|
||||
->param('scopes', null, function () { return new ArrayList(new WhiteList(Config::getParam('scopes'))); }, 'Key scopes list')
|
||||
->action(function ($projectId, $keyId, $name, $scopes, $response, $consoleDB) {
|
||||
/** @var Utopia\Response $response */
|
||||
|
@ -862,7 +862,7 @@ App::post('/v1/projects/:projectId/tasks')
|
|||
->label('sdk.namespace', 'projects')
|
||||
->label('sdk.method', 'createTask')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Task name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Task name. Max length: 128 chars.')
|
||||
->param('status', null, function () { return new WhiteList(['play', 'pause']); }, 'Task status.')
|
||||
->param('schedule', null, function () { return new Cron(); }, 'Task schedule CRON syntax.')
|
||||
->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.')
|
||||
|
@ -1016,7 +1016,7 @@ App::put('/v1/projects/:projectId/tasks/:taskId')
|
|||
->label('sdk.method', 'updateTask')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('taskId', null, function () { return new UID(); }, 'Task unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Task name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Task name. Max length: 128 chars.')
|
||||
->param('status', null, function () { return new WhiteList(['play', 'pause']); }, 'Task status.')
|
||||
->param('schedule', null, function () { return new Cron(); }, 'Task schedule CRON syntax.')
|
||||
->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.')
|
||||
|
@ -1122,7 +1122,7 @@ App::post('/v1/projects/:projectId/platforms')
|
|||
->label('sdk.method', 'createPlatform')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('type', null, function () { return new WhiteList(['web', 'flutter-ios', 'flutter-android', 'ios', 'android', 'unity']); }, 'Platform type.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Platform name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Platform name. Max length: 128 chars.')
|
||||
->param('key', '', function () { return new Text(256); }, 'Package name for android or bundle ID for iOS.', true)
|
||||
->param('store', '', function () { return new Text(256); }, 'App store or Google Play store ID.', true)
|
||||
->param('hostname', '', function () { return new Text(256); }, 'Platform client hostname.', true)
|
||||
|
@ -1226,7 +1226,7 @@ App::put('/v1/projects/:projectId/platforms/:platformId')
|
|||
->label('sdk.method', 'updatePlatform')
|
||||
->param('projectId', null, function () { return new UID(); }, 'Project unique ID.')
|
||||
->param('platformId', null, function () { return new UID(); }, 'Platform unique ID.')
|
||||
->param('name', null, function () { return new Text(256); }, 'Platform name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Platform name. Max length: 128 chars.')
|
||||
->param('key', '', function () { return new Text(256); }, 'Package name for android or bundle ID for iOS.', true)
|
||||
->param('store', '', function () { return new Text(256); }, 'App store or Google Play store ID.', true)
|
||||
->param('hostname', '', function () { return new Text(256); }, 'Platform client URL.', true)
|
||||
|
|
|
@ -26,7 +26,7 @@ App::post('/v1/teams')
|
|||
->label('sdk.namespace', 'teams')
|
||||
->label('sdk.method', 'create')
|
||||
->label('sdk.description', '/docs/references/teams/create-team.md')
|
||||
->param('name', null, function () { return new Text(100); }, 'Team name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Team name. Max length: 128 chars.')
|
||||
->param('roles', ['owner'], function () { return new ArrayList(new Text(128)); }, 'Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](/docs/permissions).', true)
|
||||
->action(function ($name, $roles, $response, $user, $projectDB, $mode) {
|
||||
/** @var Utopia\Response $response */
|
||||
|
@ -147,7 +147,7 @@ App::put('/v1/teams/:teamId')
|
|||
->label('sdk.method', 'update')
|
||||
->label('sdk.description', '/docs/references/teams/update-team.md')
|
||||
->param('teamId', '', function () { return new UID(); }, 'Team unique ID.')
|
||||
->param('name', null, function () { return new Text(100); }, 'Team name.')
|
||||
->param('name', null, function () { return new Text(128); }, 'Team name. Max length: 128 chars.')
|
||||
->action(function ($teamId, $name, $response, $projectDB) {
|
||||
/** @var Utopia\Response $response */
|
||||
/** @var Appwrite\Database\Database $projectDB */
|
||||
|
@ -220,7 +220,7 @@ App::post('/v1/teams/:teamId/memberships')
|
|||
->label('sdk.description', '/docs/references/teams/create-team-membership.md')
|
||||
->param('teamId', '', function () { return new UID(); }, 'Team unique ID.')
|
||||
->param('email', '', function () { return new Email(); }, 'New team member email.')
|
||||
->param('name', '', function () { return new Text(100); }, 'New team member name.', true)
|
||||
->param('name', '', function () { return new Text(128); }, 'New team member name. Max length: 128 chars.', true)
|
||||
->param('roles', [], function () { return new ArrayList(new Text(128)); }, 'Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions).')
|
||||
->param('url', '', function ($clients) { return new Host($clients); }, 'URL to redirect the user back to your app from the invitation email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients']) // TODO add our own built-in confirm page
|
||||
->action(function ($teamId, $email, $name, $roles, $url, $response, $project, $user, $projectDB, $locale, $audits, $mails, $mode) {
|
||||
|
|
|
@ -28,7 +28,7 @@ App::post('/v1/users')
|
|||
->label('sdk.description', '/docs/references/users/create-user.md')
|
||||
->param('email', '', function () { return new Email(); }, 'User email.')
|
||||
->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.')
|
||||
->param('name', '', function () { return new Text(100); }, 'User name.', true)
|
||||
->param('name', '', function () { return new Text(128); }, 'User name. Max length: 128 chars.', true)
|
||||
->action(function ($email, $password, $name, $response, $projectDB) {
|
||||
/** @var Utopia\Response $response */
|
||||
/** @var Appwrite\Database\Database $projectDB */
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
|
||||
<div class="row responsive">
|
||||
<div class="col span-8 margin-bottom-small">
|
||||
<input name="name" id="name" type="text" autocomplete="off" data-ls-bind="{{account.name}}" required class="margin-bottom-no">
|
||||
<input name="name" id="name" type="text" autocomplete="off" data-ls-bind="{{account.name}}" required class="margin-bottom-no" maxlength="128">
|
||||
</div>
|
||||
<div class="col span-4">
|
||||
<button type="submit" class="fill margin-bottom-no">Update Name</button>
|
||||
|
|
|
@ -218,7 +218,7 @@
|
|||
<p>Appwrite projects are containers for your resources and apps across different platforms.</p>
|
||||
|
||||
<label>Name</label>
|
||||
<input type="text" class="full-width margin-bottom-xl" name="name" required autocomplete="off" />
|
||||
<input type="text" class="full-width margin-bottom-xl" name="name" required autocomplete="off" maxlength="128" />
|
||||
|
||||
<footer>
|
||||
<button type="submit">Create</button> <button data-ui-modal-close="" type="button" class="reverse">Cancel</button>
|
||||
|
|
|
@ -193,7 +193,7 @@ $maxCells = 10;
|
|||
|
||||
<div class="box">
|
||||
<label for="collection-name">Name</label>
|
||||
<input name="name" id="collection-name" type="text" autocomplete="off" data-ls-bind="{{project-collection.name}}" data-forms-text-direction required placeholder="Collection Name" />
|
||||
<input name="name" id="collection-name" type="text" autocomplete="off" data-ls-bind="{{project-collection.name}}" data-forms-text-direction required placeholder="Collection Name" maxlength="128" />
|
||||
|
||||
<h3 class="margin-bottom-small">Rules</h3>
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
data-failure-param-alert-classname="error">
|
||||
|
||||
<label for="user-name">Name</label>
|
||||
<input type="text" class="full-width" id="collection-name" name="name" required autocomplete="off" />
|
||||
<input type="text" class="full-width" id="collection-name" name="name" required autocomplete="off" maxlength="128" />
|
||||
|
||||
<input type="hidden" id="collection-read" name="read" required data-cast-to="json" value="<?php echo htmlentities(json_encode([])); ?>" />
|
||||
<input type="hidden" id="collection-write" name="write" required data-cast-to="json" value="<?php echo htmlentities(json_encode([])); ?>" />
|
||||
|
|
|
@ -405,7 +405,7 @@ $timeout = $this->getParam('timeout', 900);
|
|||
<div class="box">
|
||||
<section class="margin-bottom-large">
|
||||
<label for="name">Name</label>
|
||||
<input name="name" id="function-name" type="text" autocomplete="off" data-ls-bind="{{project-function.name}}" data-forms-text-direction required placeholder="Function Name" />
|
||||
<input name="name" id="function-name" type="text" autocomplete="off" data-ls-bind="{{project-function.name}}" data-forms-text-direction required placeholder="Function Name" maxlength="128" />
|
||||
|
||||
<label for="timeout">Timeout (seconds) <span class="tooltip small" data-tooltip="Limit the execution time of your function."><i class="icon-info-circled"></i></span></label>
|
||||
<input name="timeout" id="function-timeout" type="number" autocomplete="off" data-ls-bind="{{project-function.timeout}}" min="1" max="<?php echo $this->escape($timeout); ?>" />
|
||||
|
|
|
@ -106,7 +106,7 @@ $environments = $this->getParam('environments', []);
|
|||
data-failure-param-alert-classname="error">
|
||||
|
||||
<label for="name">Name</label>
|
||||
<input type="text" id="name" name="name" required autocomplete="off" class="margin-bottom" />
|
||||
<input type="text" id="name" name="name" required autocomplete="off" class="margin-bottom" maxlength="128" />
|
||||
|
||||
<label for="env">Environment</label>
|
||||
<select name="env" id="env" required class="margin-bottom-xl">
|
||||
|
|
|
@ -201,7 +201,7 @@ $graph = $this->getParam('graph', false);
|
|||
<input type="hidden" name="type" data-ls-bind="web" />
|
||||
|
||||
<label for="name">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different apps."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" name="name" required autocomplete="off" placeholder="My Web App" />
|
||||
<input type="text" class="full-width" name="name" required autocomplete="off" placeholder="My Web App" maxlength="128" />
|
||||
|
||||
<label for="hostname">Hostname <span class="tooltip large" data-tooltip="The hostname that your website will use to interact with the <?php echo APP_NAME; ?> APIs in production or development environments. No port number required."><i class="icon-question"></i></span></label>
|
||||
<input name="hostname" type="text" class="margin-bottom" autocomplete="off" placeholder="localhost" required>
|
||||
|
@ -239,7 +239,7 @@ $graph = $this->getParam('graph', false);
|
|||
<input type="hidden" name="platformId" data-ls-bind="{{platform.$id}}" />
|
||||
|
||||
<label data-ls-attrs="for=name-{{platform.$id}}">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different apps."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{platform.$id}}" name="name" required autocomplete="off" data-ls-bind="{{platform.name}}" placeholder="My Web App" />
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{platform.$id}}" name="name" required autocomplete="off" data-ls-bind="{{platform.name}}" placeholder="My Web App" maxlength="128" />
|
||||
|
||||
<label for="hostname">Hostname <span class="tooltip large" data-tooltip="The hostname that your website will use to interact with the <?php echo APP_NAME; ?> APIs in production or development environments. No port number required."><i class="icon-question"></i></span></label>
|
||||
<input name="hostname" type="text" class="margin-bottom" autocomplete="off" placeholder="localhost" data-ls-bind="{{platform.hostname}}" required />
|
||||
|
@ -277,7 +277,7 @@ $graph = $this->getParam('graph', false);
|
|||
<input type="hidden" name="type" data-ls-bind="flutter-ios" />
|
||||
|
||||
<label for="name">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different apps."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" name="name" required autocomplete="off" placeholder="My iOS App" />
|
||||
<input type="text" class="full-width" name="name" required autocomplete="off" placeholder="My iOS App" maxlength="128" />
|
||||
|
||||
<label for="key">Bundle ID <span class="tooltip large" data-tooltip="You can find your Bundle Identifier in the General tab for your app's primary target in Xcode."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" name="key" required autocomplete="off" placeholder="com.company.appname" />
|
||||
|
@ -309,7 +309,7 @@ $graph = $this->getParam('graph', false);
|
|||
<input type="hidden" name="type" data-ls-bind="flutter-android" />
|
||||
|
||||
<label for="name">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different apps."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" name="name" required autocomplete="off" placeholder="My Android App" />
|
||||
<input type="text" class="full-width" name="name" required autocomplete="off" placeholder="My Android App" maxlength="128" />
|
||||
|
||||
<label for="key">Package Name <span class="tooltip large" data-tooltip="Your package name is generally the applicationId in your app-level build.gradle file."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" name="key" required autocomplete="off" placeholder="com.company.appname" />
|
||||
|
@ -341,7 +341,7 @@ $graph = $this->getParam('graph', false);
|
|||
<input type="hidden" name="platformId" data-ls-bind="{{platform.$id}}" />
|
||||
|
||||
<label data-ls-attrs="for=name-{{platform.$id}}">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different apps."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{platform.$id}}" name="name" required autocomplete="off" data-ls-bind="{{platform.name}}" placeholder="My iOS App" />
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{platform.$id}}" name="name" required autocomplete="off" data-ls-bind="{{platform.name}}" placeholder="My iOS App" maxlength="128" />
|
||||
|
||||
<label data-ls-attrs="for=key-{{platform.$id}}">Bundle ID <span class="tooltip large" data-tooltip="You can find your Bundle Identifier in the General tab for your app's primary target in Xcode."><i class="icon-question"></i></span></label>
|
||||
<input name="key" type="text" class="margin-bottom" autocomplete="off" placeholder="com.cpmpany.appname" data-ls-bind="{{platform.key}}" required />
|
||||
|
@ -371,7 +371,7 @@ $graph = $this->getParam('graph', false);
|
|||
<input type="hidden" name="platformId" data-ls-bind="{{platform.$id}}" />
|
||||
|
||||
<label data-ls-attrs="for=name-{{platform.$id}}">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different apps."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{platform.$id}}" name="name" required autocomplete="off" data-ls-bind="{{platform.name}}" placeholder="My Android App" />
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{platform.$id}}" name="name" required autocomplete="off" data-ls-bind="{{platform.name}}" placeholder="My Android App" maxlength="128" />
|
||||
|
||||
<label data-ls-attrs="for=key-{{platform.$id}}">Package Name <span class="tooltip large" data-tooltip="Your package name is generally the applicationId in your app-level build.gradle file."><i class="icon-question"></i></span></label>
|
||||
<input name="key" type="text" class="margin-bottom" autocomplete="off" placeholder="com.cpmpany.appname" data-ls-bind="{{platform.key}}" required />
|
||||
|
|
|
@ -50,7 +50,7 @@ $scopes = $this->getParam('scopes', []);
|
|||
<input type="hidden" name="keyId" data-ls-bind="{{key.$id}}" />
|
||||
|
||||
<label data-ls-attrs="for=name-{{key.$id}}">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different API keys."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{key.$id}}" name="name" required autocomplete="off" data-ls-bind="{{key.name}}" />
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{key.$id}}" name="name" required autocomplete="off" data-ls-bind="{{key.name}}" maxlength="128" />
|
||||
|
||||
<label data-ls-attrs="for=scopes-{{key.$id}}">Scopes (<a data-ls-attrs="href={{env.HOME}}/docs/keys" target="_blank" rel="noopener">Learn more</a>)</label>
|
||||
<div class="row responsive thin">
|
||||
|
@ -145,7 +145,7 @@ $scopes = $this->getParam('scopes', []);
|
|||
<input type="hidden" name="projectId" data-ls-bind="{{router.params.project}}" />
|
||||
|
||||
<label for="name">Name <span class="tooltip large" data-tooltip="Choose any name that will help you distinguish between your different API keys."><i class="icon-question"></i></span></label>
|
||||
<input type="text" class="full-width" id="name" name="name" required autocomplete="off" />
|
||||
<input type="text" class="full-width" id="name" name="name" required autocomplete="off" maxlength="128" />
|
||||
|
||||
<label for="scopes">Scopes (<a data-ls-attrs="href={{env.HOME}}/docs/keys" target="_blank" rel="noopener">Learn more</a>)</label>
|
||||
<div class="row responsive thin">
|
||||
|
|
|
@ -50,7 +50,7 @@ $customDomainsTarget = $this->getParam('customDomainsTarget', false);
|
|||
<input name="$id" type="hidden" data-ls-bind="{{console-project.$id}}" />
|
||||
|
||||
<label for="name">Name</label>
|
||||
<input name="name" id="name" type="text" autocomplete="off" data-ls-bind="{{console-project.name}}" data-forms-text-direction required>
|
||||
<input name="name" id="name" type="text" autocomplete="off" data-ls-bind="{{console-project.name}}" data-forms-text-direction required maxlength="128" />
|
||||
|
||||
<label for="logo">Project Logo</label>
|
||||
|
||||
|
@ -483,7 +483,7 @@ $customDomainsTarget = $this->getParam('customDomainsTarget', false);
|
|||
<input name="email" id="email" type="email" autocomplete="email" required>
|
||||
|
||||
<label for="team-name">Name <small>(optional)</small></label>
|
||||
<input name="name" id="team-name" type="text" autocomplete="name">
|
||||
<input name="name" id="team-name" type="text" autocomplete="name" maxlength="128" />
|
||||
|
||||
<label for="roles" style="display: none">Role</label>
|
||||
<select id="roles" name="roles" required data-ls-loop="env.ROLES" data-ls-as="role" data-cast-to="array" style="display: none">
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
<input type="hidden" name="taskId" data-ls-bind="{{task.$id}}" />
|
||||
|
||||
<label data-ls-attrs="for=name-{{task.$id}}">Name</label>
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{task.$id}}" name="name" required autocomplete="off" data-ls-bind="{{task.name}}" />
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{task.$id}}" name="name" required autocomplete="off" data-ls-bind="{{task.name}}" maxlength="128" />
|
||||
|
||||
<label data-ls-attrs="for=status-{{task.$id}}" class="margin-bottom">Status
|
||||
<div class="margin-top-small">
|
||||
|
@ -254,7 +254,7 @@
|
|||
<input type="hidden" name="projectId" data-ls-bind="{{router.params.project}}" />
|
||||
|
||||
<label for="name">Name</label>
|
||||
<input type="text" class="full-width" id="name" name="name" required autocomplete="off" />
|
||||
<input type="text" class="full-width" id="name" name="name" required autocomplete="off" maxlength="128" />
|
||||
|
||||
<label data-ls-attrs="for=status" class="margin-bottom">Status
|
||||
<div class="margin-top-small">
|
||||
|
|
|
@ -36,7 +36,7 @@ $providers = $this->getParam('providers', []);
|
|||
data-failure-param-alert-classname="error">
|
||||
|
||||
<label for="user-name">Name</label>
|
||||
<input type="text" class="full-width" id="user-name" name="name" required autocomplete="off" />
|
||||
<input type="text" class="full-width" id="user-name" name="name" required autocomplete="off" maxlength="128" />
|
||||
|
||||
<label for="user-email">Email</label>
|
||||
<input type="email" class="full-width" id="user-email" name="email" required autocomplete="off" />
|
||||
|
@ -189,7 +189,7 @@ $providers = $this->getParam('providers', []);
|
|||
data-failure-param-alert-classname="error">
|
||||
|
||||
<label for="team-name">Name</label>
|
||||
<input type="text" class="full-width" id="team-name" name="name" required autocomplete="off" />
|
||||
<input type="text" class="full-width" id="team-name" name="name" required autocomplete="off" maxlength="128" />
|
||||
|
||||
<hr />
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
<input data-ls-attrs="id=team-id-{{team.$id}}" name="teamId" type="hidden" disabled data-ls-bind="{{team.$id}}" />
|
||||
|
||||
<label for="name">Name</label>
|
||||
<input data-ls-attrs="id=team-name-{{team.$id}}" name="name" type="text" autocomplete="off" data-ls-bind="{{team.name}}">
|
||||
<input data-ls-attrs="id=team-name-{{team.$id}}" name="name" type="text" autocomplete="off" data-ls-bind="{{team.name}}" maxlength="128" />
|
||||
|
||||
<hr />
|
||||
|
||||
|
@ -145,7 +145,7 @@
|
|||
<input name="email" id="email" type="email" autocomplete="email" required>
|
||||
|
||||
<label for="team-name">Name <small>(optional)</small></label>
|
||||
<input name="name" id="team-name" type="text" autocomplete="name">
|
||||
<input name="name" id="team-name" type="text" autocomplete="name" maxlength="128" />
|
||||
|
||||
<label for="roles">Roles</label>
|
||||
<input type="hidden" id="team-roles" name="roles" data-forms-tags data-cast-to="json" data-ls-bind="<?php echo $this->escape(json_encode(['owner'])); ?>" placeholder="Add any role you like" />
|
||||
|
|
|
@ -54,7 +54,7 @@ $events = array_keys($this->getParam('events', []));
|
|||
<input type="hidden" name="webhookId" data-ls-bind="{{webhook.$id}}" />
|
||||
|
||||
<label data-ls-attrs="for=name-{{webhook.$id}}">Name</label>
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{webhook.$id}}" name="name" required autocomplete="off" data-ls-bind="{{webhook.name}}" />
|
||||
<input type="text" class="full-width" data-ls-attrs="id=name-{{webhook.$id}}" name="name" required autocomplete="off" data-ls-bind="{{webhook.name}}" maxlength="128" />
|
||||
|
||||
<label data-ls-attrs="for=events-{{webhook.$id}}">Events</label>
|
||||
<div class="row responsive thin">
|
||||
|
@ -168,7 +168,7 @@ $events = array_keys($this->getParam('events', []));
|
|||
<input type="hidden" name="projectId" data-ls-bind="{{router.params.project}}" />
|
||||
|
||||
<label for="name">Name</label>
|
||||
<input type="text" class="full-width" id="name" name="name" required autocomplete="off" />
|
||||
<input type="text" class="full-width" id="name" name="name" required autocomplete="off" maxlength="128" />
|
||||
|
||||
<label for="events">Events</label>
|
||||
<div class="row responsive thin">
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
data-failure-param-alert-classname="error">
|
||||
|
||||
<label>Name</label>
|
||||
<input name="name" type="text" autocomplete="name" placeholder="" required>
|
||||
<input name="name" type="text" autocomplete="name" placeholder="" required maxlength="128">
|
||||
|
||||
<label>Email</label>
|
||||
<input name="email" type="email" autocomplete="email" placeholder="" required data-ls-bind="{{router.params.email}}">
|
||||
|
|
Loading…
Reference in a new issue