From eb17ffd5d28f42501a677e9309fb460d257e9a7a Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Mon, 10 Nov 2025 10:15:49 +0530 Subject: [PATCH 1/3] wrap all optional values with default null with nullable --- app/controllers/api/messaging.php | 141 +++++++++--------- app/controllers/api/project.php | 5 +- app/controllers/api/projects.php | 15 +- app/controllers/api/storage.php | 11 +- app/controllers/api/users.php | 5 +- .../Collections/Attributes/Boolean/Create.php | 3 +- .../Collections/Attributes/Boolean/Update.php | 2 +- .../Attributes/Datetime/Update.php | 2 +- .../Collections/Attributes/Email/Create.php | 3 +- .../Collections/Attributes/Email/Update.php | 2 +- .../Collections/Attributes/Enum/Create.php | 3 +- .../Collections/Attributes/Enum/Update.php | 2 +- .../Collections/Attributes/Float/Create.php | 7 +- .../Collections/Attributes/Float/Update.php | 6 +- .../Collections/Attributes/IP/Create.php | 3 +- .../Collections/Attributes/IP/Update.php | 2 +- .../Collections/Attributes/Integer/Create.php | 7 +- .../Collections/Attributes/Integer/Update.php | 6 +- .../Collections/Attributes/Line/Update.php | 2 +- .../Collections/Attributes/Point/Update.php | 2 +- .../Collections/Attributes/Polygon/Update.php | 2 +- .../Attributes/Relationship/Create.php | 5 +- .../Attributes/Relationship/Update.php | 7 +- .../Collections/Attributes/String/Create.php | 3 +- .../Collections/Attributes/String/Update.php | 4 +- .../Collections/Attributes/URL/Create.php | 3 +- .../Collections/Attributes/URL/Update.php | 2 +- .../Http/Databases/Collections/Create.php | 3 +- .../Documents/Attribute/Decrement.php | 5 +- .../Documents/Attribute/Increment.php | 5 +- .../Collections/Documents/Bulk/Delete.php | 3 +- .../Collections/Documents/Bulk/Update.php | 3 +- .../Collections/Documents/Bulk/Upsert.php | 3 +- .../Collections/Documents/Create.php | 5 +- .../Collections/Documents/Delete.php | 2 +- .../Databases/Collections/Documents/Get.php | 3 +- .../Collections/Documents/Update.php | 5 +- .../Collections/Documents/Upsert.php | 5 +- .../Databases/Collections/Documents/XList.php | 3 +- .../Http/Databases/Collections/Update.php | 3 +- .../Tables/Columns/Boolean/Create.php | 3 +- .../Tables/Columns/Boolean/Update.php | 2 +- .../Tables/Columns/Datetime/Update.php | 2 +- .../TablesDB/Tables/Columns/Email/Create.php | 3 +- .../TablesDB/Tables/Columns/Email/Update.php | 2 +- .../TablesDB/Tables/Columns/Enum/Create.php | 3 +- .../TablesDB/Tables/Columns/Enum/Update.php | 2 +- .../TablesDB/Tables/Columns/Float/Create.php | 7 +- .../TablesDB/Tables/Columns/Float/Update.php | 6 +- .../TablesDB/Tables/Columns/IP/Create.php | 3 +- .../TablesDB/Tables/Columns/IP/Update.php | 2 +- .../Tables/Columns/Integer/Create.php | 7 +- .../Tables/Columns/Integer/Update.php | 6 +- .../TablesDB/Tables/Columns/Line/Update.php | 2 +- .../TablesDB/Tables/Columns/Point/Update.php | 2 +- .../Tables/Columns/Polygon/Update.php | 2 +- .../Tables/Columns/Relationship/Create.php | 5 +- .../Tables/Columns/Relationship/Update.php | 7 +- .../TablesDB/Tables/Columns/String/Create.php | 3 +- .../TablesDB/Tables/Columns/String/Update.php | 4 +- .../TablesDB/Tables/Columns/URL/Create.php | 3 +- .../TablesDB/Tables/Columns/URL/Update.php | 2 +- .../Databases/Http/TablesDB/Tables/Create.php | 3 +- .../Http/TablesDB/Tables/Rows/Bulk/Delete.php | 3 +- .../Http/TablesDB/Tables/Rows/Bulk/Update.php | 3 +- .../Http/TablesDB/Tables/Rows/Bulk/Upsert.php | 3 +- .../TablesDB/Tables/Rows/Column/Decrement.php | 5 +- .../TablesDB/Tables/Rows/Column/Increment.php | 5 +- .../Http/TablesDB/Tables/Rows/Create.php | 5 +- .../Http/TablesDB/Tables/Rows/Delete.php | 2 +- .../Http/TablesDB/Tables/Rows/Get.php | 3 +- .../Http/TablesDB/Tables/Rows/Update.php | 5 +- .../Http/TablesDB/Tables/Rows/Upsert.php | 5 +- .../Http/TablesDB/Tables/Rows/XList.php | 3 +- .../Databases/Http/TablesDB/Tables/Update.php | 3 +- .../Functions/Http/Deployments/Create.php | 5 +- .../Functions/Http/Executions/Create.php | 3 +- .../Functions/Http/Variables/Update.php | 5 +- .../Modules/Sites/Http/Deployments/Create.php | 7 +- .../Modules/Sites/Http/Variables/Update.php | 5 +- 80 files changed, 254 insertions(+), 200 deletions(-) diff --git a/app/controllers/api/messaging.php b/app/controllers/api/messaging.php index 5193d0b30f..58a0ffe42f 100644 --- a/app/controllers/api/messaging.php +++ b/app/controllers/api/messaging.php @@ -49,6 +49,7 @@ use Utopia\Validator\ArrayList; use Utopia\Validator\Boolean; use Utopia\Validator\Integer; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; use Utopia\Validator\Text; use Utopia\Validator\WhiteList; @@ -80,12 +81,12 @@ App::post('/v1/messaging/providers/mailgun') ->param('name', '', new Text(128), 'Provider name.') ->param('apiKey', '', new Text(0), 'Mailgun API Key.', true) ->param('domain', '', new Text(0), 'Mailgun Domain.', true) - ->param('isEuRegion', null, new Boolean(), 'Set as EU region.', true) + ->param('isEuRegion', null, new Nullable(new Boolean()), 'Set as EU region.', true) ->param('fromName', '', new Text(128, 0), 'Sender Name.', true) ->param('fromEmail', '', new Email(), 'Sender email address.', true) ->param('replyToName', '', new Text(128, 0), 'Name set in the reply to field for the mail. Default value is sender name. Reply to name must have reply to email as well.', true) ->param('replyToEmail', '', new Email(), 'Email set in the reply to field for the mail. Default value is sender email. Reply to email must have reply to name as well.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -177,7 +178,7 @@ App::post('/v1/messaging/providers/sendgrid') ->param('fromEmail', '', new Email(), 'Sender email address.', true) ->param('replyToName', '', new Text(128, 0), 'Name set in the reply to field for the mail. Default value is sender name.', true) ->param('replyToEmail', '', new Email(), 'Email set in the reply to field for the mail. Default value is sender email.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -259,7 +260,7 @@ App::post('/v1/messaging/providers/resend') ->param('fromEmail', '', new Email(), 'Sender email address.', true) ->param('replyToName', '', new Text(128, 0), 'Name set in the reply to field for the mail. Default value is sender name.', true) ->param('replyToEmail', '', new Email(), 'Email set in the reply to field for the mail. Default value is sender email.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -366,7 +367,7 @@ App::post('/v1/messaging/providers/smtp') ->param('fromEmail', '', new Email(), 'Sender email address.', true) ->param('replyToName', '', new Text(128, 0), 'Name set in the reply to field for the mail. Default value is sender name.', true) ->param('replyToEmail', '', new Email(), 'Email set in the reply to field for the mail. Default value is sender email.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -453,7 +454,7 @@ App::post('/v1/messaging/providers/msg91') ->param('templateId', '', new Text(0), 'Msg91 template ID', true) ->param('senderId', '', new Text(0), 'Msg91 sender ID.', true) ->param('authKey', '', new Text(0), 'Msg91 auth key.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -536,7 +537,7 @@ App::post('/v1/messaging/providers/telesign') ->param('from', '', new Phone(), 'Sender Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.', true) ->param('customerId', '', new Text(0), 'Telesign customer ID.', true) ->param('apiKey', '', new Text(0), 'Telesign API key.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -620,7 +621,7 @@ App::post('/v1/messaging/providers/textmagic') ->param('from', '', new Phone(), 'Sender Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.', true) ->param('username', '', new Text(0), 'Textmagic username.', true) ->param('apiKey', '', new Text(0), 'Textmagic apiKey.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -704,7 +705,7 @@ App::post('/v1/messaging/providers/twilio') ->param('from', '', new Phone(), 'Sender Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.', true) ->param('accountSid', '', new Text(0), 'Twilio account secret ID.', true) ->param('authToken', '', new Text(0), 'Twilio authentication token.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -788,7 +789,7 @@ App::post('/v1/messaging/providers/vonage') ->param('from', '', new Phone(), 'Sender Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.', true) ->param('apiKey', '', new Text(0), 'Vonage API key.', true) ->param('apiSecret', '', new Text(0), 'Vonage API secret.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -888,8 +889,8 @@ App::post('/v1/messaging/providers/fcm') ]) ->param('providerId', '', new CustomId(), 'Provider 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('name', '', new Text(128), 'Provider name.') - ->param('serviceAccountJSON', null, new JSON(), 'FCM service account JSON.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('serviceAccountJSON', null, new Nullable(new JSON()), 'FCM service account JSON.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -982,7 +983,7 @@ App::post('/v1/messaging/providers/apns') ->param('teamId', '', new Text(0), 'APNS team ID.', true) ->param('bundleId', '', new Text(0), 'APNS bundle ID.', true) ->param('sandbox', false, new Boolean(), 'Use APNS sandbox environment.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -1270,8 +1271,8 @@ App::patch('/v1/messaging/providers/mailgun/:providerId') ->param('name', '', new Text(128), 'Provider name.', true) ->param('apiKey', '', new Text(0), 'Mailgun API Key.', true) ->param('domain', '', new Text(0), 'Mailgun Domain.', true) - ->param('isEuRegion', null, new Boolean(), 'Set as EU region.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('isEuRegion', null, new Nullable(new Boolean()), 'Set as EU region.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('fromName', '', new Text(128), 'Sender Name.', true) ->param('fromEmail', '', new Email(), 'Sender email address.', true) ->param('replyToName', '', new Text(128), 'Name set in the reply to field for the mail. Default value is sender name.', true) @@ -1381,7 +1382,7 @@ App::patch('/v1/messaging/providers/sendgrid/:providerId') )) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('apiKey', '', new Text(0), 'Sendgrid API key.', true) ->param('fromName', '', new Text(128), 'Sender Name.', true) ->param('fromEmail', '', new Email(), 'Sender email address.', true) @@ -1479,7 +1480,7 @@ App::patch('/v1/messaging/providers/resend/:providerId') )) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('apiKey', '', new Text(0), 'Resend API key.', true) ->param('fromName', '', new Text(128), 'Sender Name.', true) ->param('fromEmail', '', new Email(), 'Sender email address.', true) @@ -1597,17 +1598,17 @@ App::patch('/v1/messaging/providers/smtp/:providerId') ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) ->param('host', '', new Text(0), 'SMTP hosts. Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host such as `smtp1.example.com:25;smtp2.example.com`. You can also specify encryption type, for example: `tls://smtp1.example.com:587;ssl://smtp2.example.com:465"`. Hosts will be tried in order.', true) - ->param('port', null, new Range(1, 65535), 'SMTP port.', true) + ->param('port', null, new Nullable(new Range(1, 65535)), 'SMTP port.', true) ->param('username', '', new Text(0), 'Authentication username.', true) ->param('password', '', new Text(0), 'Authentication password.', true) ->param('encryption', '', new WhiteList(['none', 'ssl', 'tls']), 'Encryption type. Can be \'ssl\' or \'tls\'', true) - ->param('autoTLS', null, new Boolean(), 'Enable SMTP AutoTLS feature.', true) + ->param('autoTLS', null, new Nullable(new Boolean()), 'Enable SMTP AutoTLS feature.', true) ->param('mailer', '', new Text(0), 'The value to use for the X-Mailer header.', true) ->param('fromName', '', new Text(128), 'Sender Name.', true) ->param('fromEmail', '', new Email(), 'Sender email address.', true) ->param('replyToName', '', new Text(128), 'Name set in the Reply To field for the mail. Default value is Sender Name.', true) ->param('replyToEmail', '', new Text(128), 'Email set in the Reply To field for the mail. Default value is Sender Email.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -1725,7 +1726,7 @@ App::patch('/v1/messaging/providers/msg91/:providerId') )) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('templateId', '', new Text(0), 'Msg91 template ID.', true) ->param('senderId', '', new Text(0), 'Msg91 sender ID.', true) ->param('authKey', '', new Text(0), 'Msg91 auth key.', true) @@ -1812,7 +1813,7 @@ App::patch('/v1/messaging/providers/telesign/:providerId') )) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('customerId', '', new Text(0), 'Telesign customer ID.', true) ->param('apiKey', '', new Text(0), 'Telesign API key.', true) ->param('from', '', new Text(256), 'Sender number.', true) @@ -1901,7 +1902,7 @@ App::patch('/v1/messaging/providers/textmagic/:providerId') )) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('username', '', new Text(0), 'Textmagic username.', true) ->param('apiKey', '', new Text(0), 'Textmagic apiKey.', true) ->param('from', '', new Text(256), 'Sender number.', true) @@ -1990,7 +1991,7 @@ App::patch('/v1/messaging/providers/twilio/:providerId') )) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('accountSid', '', new Text(0), 'Twilio account secret ID.', true) ->param('authToken', '', new Text(0), 'Twilio authentication token.', true) ->param('from', '', new Text(256), 'Sender number.', true) @@ -2079,7 +2080,7 @@ App::patch('/v1/messaging/providers/vonage/:providerId') )) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('apiKey', '', new Text(0), 'Vonage API key.', true) ->param('apiSecret', '', new Text(0), 'Vonage API secret.', true) ->param('from', '', new Text(256), 'Sender number.', true) @@ -2187,8 +2188,8 @@ App::patch('/v1/messaging/providers/fcm/:providerId') ]) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) - ->param('serviceAccountJSON', null, new JSON(), 'FCM service account JSON.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) + ->param('serviceAccountJSON', null, new Nullable(new JSON()), 'FCM service account JSON.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -2282,12 +2283,12 @@ App::patch('/v1/messaging/providers/apns/:providerId') ]) ->param('providerId', '', new UID(), 'Provider ID.') ->param('name', '', new Text(128), 'Provider name.', true) - ->param('enabled', null, new Boolean(), 'Set as enabled.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Set as enabled.', true) ->param('authKey', '', new Text(0), 'APNS authentication key.', true) ->param('authKeyId', '', new Text(0), 'APNS authentication key ID.', true) ->param('teamId', '', new Text(0), 'APNS team ID.', true) ->param('bundleId', '', new Text(0), 'APNS bundle ID.', true) - ->param('sandbox', null, new Boolean(), 'Use APNS sandbox environment.', true) + ->param('sandbox', null, new Nullable(new Boolean()), 'Use APNS sandbox environment.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -2676,8 +2677,8 @@ App::patch('/v1/messaging/topics/:topicId') ] )) ->param('topicId', '', new UID(), 'Topic ID.') - ->param('name', null, new Text(128), 'Topic Name.', true) - ->param('subscribe', null, new Roles(APP_LIMIT_ARRAY_PARAMS_SIZE), 'An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' roles are allowed, each 64 characters long.', true) + ->param('name', null, new Nullable(new Text(128)), 'Topic Name.', true) + ->param('subscribe', null, new Nullable(new Roles(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' roles are allowed, each 64 characters long.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('response') @@ -3190,7 +3191,7 @@ App::post('/v1/messaging/messages/email') ->param('attachments', [], new ArrayList(new CompoundUID()), 'Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as :.', true) ->param('draft', false, new Boolean(), 'Is message a draft', true) ->param('html', false, new Boolean(), 'Is content of type HTML', true) - ->param('scheduledAt', null, new DatetimeValidator(requireDateInFuture: true), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) + ->param('scheduledAt', null, new Nullable(new DatetimeValidator(requireDateInFuture: true)), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('dbForPlatform') @@ -3363,7 +3364,7 @@ App::post('/v1/messaging/messages/sms') ->param('users', [], new ArrayList(new UID()), 'List of User IDs.', true) ->param('targets', [], new ArrayList(new UID()), 'List of Targets IDs.', true) ->param('draft', false, new Boolean(), 'Is message a draft', true) - ->param('scheduledAt', null, new DatetimeValidator(requireDateInFuture: true), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) + ->param('scheduledAt', null, new Nullable(new DatetimeValidator(requireDateInFuture: true)), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('dbForPlatform') @@ -3486,7 +3487,7 @@ App::post('/v1/messaging/messages/push') ->param('topics', [], new ArrayList(new UID()), 'List of Topic IDs.', true) ->param('users', [], new ArrayList(new UID()), 'List of User IDs.', true) ->param('targets', [], new ArrayList(new UID()), 'List of Targets IDs.', true) - ->param('data', null, new JSON(), 'Additional key-value pair data for push notification.', true) + ->param('data', null, new Nullable(new JSON()), 'Additional key-value pair data for push notification.', true) ->param('action', '', new Text(256), 'Action for push notification.', true) ->param('image', '', new CompoundUID(), 'Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as :.', true) ->param('icon', '', new Text(256), 'Icon for push notification. Available only for Android and Web Platform.', true) @@ -3495,7 +3496,7 @@ App::post('/v1/messaging/messages/push') ->param('tag', '', new Text(256), 'Tag for push notification. Available only for Android Platform.', true) ->param('badge', -1, new Integer(), 'Badge for push notification. Available only for iOS Platform.', true) ->param('draft', false, new Boolean(), 'Is message a draft', true) - ->param('scheduledAt', null, new DatetimeValidator(requireDateInFuture: true), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) + ->param('scheduledAt', null, new Nullable(new DatetimeValidator(requireDateInFuture: true)), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) ->param('contentAvailable', false, new Boolean(), 'If set to true, the notification will be delivered in the background. Available only for iOS Platform.', true) ->param('critical', false, new Boolean(), 'If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.', true) ->param('priority', 'high', new WhiteList(['normal', 'high']), 'Set the notification priority. "normal" will consider device state and may not deliver notifications immediately. "high" will always attempt to immediately deliver the notification.', true) @@ -3981,17 +3982,17 @@ App::patch('/v1/messaging/messages/email/:messageId') ] )) ->param('messageId', '', new UID(), 'Message ID.') - ->param('topics', null, new ArrayList(new UID()), 'List of Topic IDs.', true) - ->param('users', null, new ArrayList(new UID()), 'List of User IDs.', true) - ->param('targets', null, new ArrayList(new UID()), 'List of Targets IDs.', true) - ->param('subject', null, new Text(998), 'Email Subject.', true) - ->param('content', null, new Text(64230), 'Email Content.', true) - ->param('draft', null, new Boolean(), 'Is message a draft', true) - ->param('html', null, new Boolean(), 'Is content of type HTML', true) - ->param('cc', null, new ArrayList(new UID()), 'Array of target IDs to be added as CC.', true) - ->param('bcc', null, new ArrayList(new UID()), 'Array of target IDs to be added as BCC.', true) - ->param('scheduledAt', null, new DatetimeValidator(requireDateInFuture: true), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) - ->param('attachments', null, new ArrayList(new CompoundUID()), 'Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as :.', true) + ->param('topics', null, new Nullable(new ArrayList(new UID())), 'List of Topic IDs.', true) + ->param('users', null, new Nullable(new ArrayList(new UID())), 'List of User IDs.', true) + ->param('targets', null, new Nullable(new ArrayList(new UID())), 'List of Targets IDs.', true) + ->param('subject', null, new Nullable(new Text(998)), 'Email Subject.', true) + ->param('content', null, new Nullable(new Text(64230)), 'Email Content.', true) + ->param('draft', null, new Nullable(new Boolean()), 'Is message a draft', true) + ->param('html', null, new Nullable(new Boolean()), 'Is content of type HTML', true) + ->param('cc', null, new Nullable(new ArrayList(new UID())), 'Array of target IDs to be added as CC.', true) + ->param('bcc', null, new Nullable(new ArrayList(new UID())), 'Array of target IDs to be added as BCC.', true) + ->param('scheduledAt', null, new Nullable(new DatetimeValidator(requireDateInFuture: true)), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) + ->param('attachments', null, new Nullable(new ArrayList(new CompoundUID())), 'Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as :.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('dbForPlatform') @@ -4207,12 +4208,12 @@ App::patch('/v1/messaging/messages/sms/:messageId') ) ]) ->param('messageId', '', new UID(), 'Message ID.') - ->param('topics', null, new ArrayList(new UID()), 'List of Topic IDs.', true) - ->param('users', null, new ArrayList(new UID()), 'List of User IDs.', true) - ->param('targets', null, new ArrayList(new UID()), 'List of Targets IDs.', true) - ->param('content', null, new Text(64230), 'Email Content.', true) - ->param('draft', null, new Boolean(), 'Is message a draft', true) - ->param('scheduledAt', null, new DatetimeValidator(requireDateInFuture: true), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) + ->param('topics', null, new Nullable(new ArrayList(new UID())), 'List of Topic IDs.', true) + ->param('users', null, new Nullable(new ArrayList(new UID())), 'List of User IDs.', true) + ->param('targets', null, new Nullable(new ArrayList(new UID())), 'List of Targets IDs.', true) + ->param('content', null, new Nullable(new Text(64230)), 'Email Content.', true) + ->param('draft', null, new Nullable(new Boolean()), 'Is message a draft', true) + ->param('scheduledAt', null, new Nullable(new DatetimeValidator(requireDateInFuture: true)), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('dbForPlatform') @@ -4369,24 +4370,24 @@ App::patch('/v1/messaging/messages/push/:messageId') ] )) ->param('messageId', '', new UID(), 'Message ID.') - ->param('topics', null, new ArrayList(new UID()), 'List of Topic IDs.', true) - ->param('users', null, new ArrayList(new UID()), 'List of User IDs.', true) - ->param('targets', null, new ArrayList(new UID()), 'List of Targets IDs.', true) - ->param('title', null, new Text(256), 'Title for push notification.', true) - ->param('body', null, new Text(64230), 'Body for push notification.', true) - ->param('data', null, new JSON(), 'Additional Data for push notification.', true) - ->param('action', null, new Text(256), 'Action for push notification.', true) - ->param('image', null, new CompoundUID(), 'Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as :.', true) - ->param('icon', null, new Text(256), 'Icon for push notification. Available only for Android and Web platforms.', true) - ->param('sound', null, new Text(256), 'Sound for push notification. Available only for Android and iOS platforms.', true) - ->param('color', null, new Text(256), 'Color for push notification. Available only for Android platforms.', true) - ->param('tag', null, new Text(256), 'Tag for push notification. Available only for Android platforms.', true) - ->param('badge', null, new Integer(), 'Badge for push notification. Available only for iOS platforms.', true) - ->param('draft', null, new Boolean(), 'Is message a draft', true) - ->param('scheduledAt', null, new DatetimeValidator(requireDateInFuture: true), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) - ->param('contentAvailable', null, new Boolean(), 'If set to true, the notification will be delivered in the background. Available only for iOS Platform.', true) - ->param('critical', null, new Boolean(), 'If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.', true) - ->param('priority', null, new WhiteList(['normal', 'high']), 'Set the notification priority. "normal" will consider device battery state and may send notifications later. "high" will always attempt to immediately deliver the notification.', true) + ->param('topics', null, new Nullable(new ArrayList(new UID())), 'List of Topic IDs.', true) + ->param('users', null, new Nullable(new ArrayList(new UID())), 'List of User IDs.', true) + ->param('targets', null, new Nullable(new ArrayList(new UID())), 'List of Targets IDs.', true) + ->param('title', null, new Nullable(new Text(256)), 'Title for push notification.', true) + ->param('body', null, new Nullable(new Text(64230)), 'Body for push notification.', true) + ->param('data', null, new Nullable(new JSON()), 'Additional Data for push notification.', true) + ->param('action', null, new Nullable(new Text(256)), 'Action for push notification.', true) + ->param('image', null, new Nullable(new CompoundUID()), 'Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as :.', true) + ->param('icon', null, new Nullable(new Text(256)), 'Icon for push notification. Available only for Android and Web platforms.', true) + ->param('sound', null, new Nullable(new Text(256)), 'Sound for push notification. Available only for Android and iOS platforms.', true) + ->param('color', null, new Nullable(new Text(256)), 'Color for push notification. Available only for Android platforms.', true) + ->param('tag', null, new Nullable(new Text(256)), 'Tag for push notification. Available only for Android platforms.', true) + ->param('badge', null, new Nullable(new Integer()), 'Badge for push notification. Available only for iOS platforms.', true) + ->param('draft', null, new Nullable(new Boolean()), 'Is message a draft', true) + ->param('scheduledAt', null, new Nullable(new DatetimeValidator(requireDateInFuture: true)), 'Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.', true) + ->param('contentAvailable', null, new Nullable(new Boolean()), 'If set to true, the notification will be delivered in the background. Available only for iOS Platform.', true) + ->param('critical', null, new Nullable(new Boolean()), 'If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.', true) + ->param('priority', null, new Nullable(new WhiteList(['normal', 'high'])), 'Set the notification priority. "normal" will consider device battery state and may send notifications later. "high" will always attempt to immediately deliver the notification.', true) ->inject('queueForEvents') ->inject('dbForProject') ->inject('dbForPlatform') diff --git a/app/controllers/api/project.php b/app/controllers/api/project.php index 390e88637a..a57675d3e8 100644 --- a/app/controllers/api/project.php +++ b/app/controllers/api/project.php @@ -18,6 +18,7 @@ use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Datetime as DateTimeValidator; use Utopia\Database\Validator\UID; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; use Utopia\Validator\WhiteList; @@ -526,8 +527,8 @@ App::put('/v1/project/variables/:variableId') )) ->param('variableId', '', new UID(), 'Variable unique ID.', false) ->param('key', null, new Text(255), 'Variable key. Max length: 255 chars.', false) - ->param('value', null, new Text(8192, 0), 'Variable value. Max length: 8192 chars.', true) - ->param('secret', null, new Boolean(), 'Secret variables can be updated or deleted, but only projects can read them during build and runtime.', true) + ->param('value', null, new Nullable(new Text(8192, 0)), 'Variable value. Max length: 8192 chars.', true) + ->param('secret', null, new Nullable(new Boolean()), 'Secret variables can be updated or deleted, but only projects can read them during build and runtime.', true) ->inject('project') ->inject('response') ->inject('dbForProject') diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 2b30b1cd08..760a4f23a6 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -46,6 +46,7 @@ use Utopia\Validator\Boolean; use Utopia\Validator\Hostname; use Utopia\Validator\Integer; use Utopia\Validator\Multiple; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; use Utopia\Validator\Text; use Utopia\Validator\URL; @@ -678,9 +679,9 @@ App::patch('/v1/projects/:projectId/oauth2') )) ->param('projectId', '', new UID(), 'Project unique ID.') ->param('provider', '', new WhiteList(\array_keys(Config::getParam('oAuthProviders')), true), 'Provider Name') - ->param('appId', null, new Text(256), 'Provider app ID. Max length: 256 chars.', true) - ->param('secret', null, new text(512), 'Provider secret key. Max length: 512 chars.', true) - ->param('enabled', null, new Boolean(), 'Provider status. Set to \'false\' to disable new session creation.', true) + ->param('appId', null, new Nullable(new Text(256)), 'Provider app ID. Max length: 256 chars.', true) + ->param('secret', null, new Nullable(new text(512)), 'Provider secret key. Max length: 512 chars.', true) + ->param('enabled', null, new Nullable(new Boolean()), 'Provider status. Set to \'false\' to disable new session creation.', true) ->inject('response') ->inject('dbForPlatform') ->action(function (string $projectId, string $provider, ?string $appId, ?string $secret, ?bool $enabled, Response $response, Database $dbForPlatform) { @@ -1476,8 +1477,8 @@ App::post('/v1/projects/:projectId/keys') )) ->param('projectId', '', new UID(), 'Project unique ID.') ->param('name', null, new Text(128), 'Key name. Max length: 128 chars.') - ->param('scopes', null, new ArrayList(new WhiteList(array_keys(Config::getParam('scopes')), true), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Key scopes list. Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' scopes are allowed.') - ->param('expire', null, new DatetimeValidator(), 'Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.', true) + ->param('scopes', null, new Nullable(new ArrayList(new WhiteList(array_keys(Config::getParam('scopes')), true), APP_LIMIT_ARRAY_PARAMS_SIZE)), 'Key scopes list. Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' scopes are allowed.') + ->param('expire', null, new Nullable(new DatetimeValidator()), 'Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.', true) ->inject('response') ->inject('dbForPlatform') ->action(function (string $projectId, string $name, array $scopes, ?string $expire, Response $response, Database $dbForPlatform) { @@ -1615,8 +1616,8 @@ App::put('/v1/projects/:projectId/keys/:keyId') ->param('projectId', '', new UID(), 'Project unique ID.') ->param('keyId', '', new UID(), 'Key unique ID.') ->param('name', null, new Text(128), 'Key name. Max length: 128 chars.') - ->param('scopes', null, new ArrayList(new WhiteList(array_keys(Config::getParam('scopes')), true), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Key scopes list. Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' events are allowed.') - ->param('expire', null, new DatetimeValidator(), 'Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.', true) + ->param('scopes', null, new Nullable(new ArrayList(new WhiteList(array_keys(Config::getParam('scopes')), true), APP_LIMIT_ARRAY_PARAMS_SIZE)), 'Key scopes list. Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' events are allowed.') + ->param('expire', null, new Nullable(new DatetimeValidator()), 'Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.', true) ->inject('response') ->inject('dbForPlatform') ->action(function (string $projectId, string $keyId, string $name, array $scopes, ?string $expire, Response $response, Database $dbForPlatform) { diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 72acd7b4a2..22d456c7c6 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -50,6 +50,7 @@ use Utopia\System\System; use Utopia\Validator\ArrayList; use Utopia\Validator\Boolean; use Utopia\Validator\HexColor; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; use Utopia\Validator\Text; use Utopia\Validator\WhiteList; @@ -77,7 +78,7 @@ App::post('/v1/storage/buckets') )) ->param('bucketId', '', new CustomId(), 'Unique 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('name', '', new Text(128), 'Bucket name') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE), 'An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('fileSecurity', false, new Boolean(true), 'Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('enabled', true, new Boolean(true), 'Is bucket enabled? When set to \'disabled\', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.', true) ->param('maximumFileSize', fn (array $plan) => empty($plan['fileSize']) ? (int) System::getEnv('_APP_STORAGE_LIMIT', 0) : $plan['fileSize'] * 1000 * 1000, fn (array $plan) => new Range(1, empty($plan['fileSize']) ? (int) System::getEnv('_APP_STORAGE_LIMIT', 0) : $plan['fileSize'] * 1000 * 1000), 'Maximum file size allowed in bytes. Maximum allowed value is ' . Storage::human(System::getEnv('_APP_STORAGE_LIMIT', 0), 0) . '.', true, ['plan']) @@ -290,7 +291,7 @@ App::put('/v1/storage/buckets/:bucketId') )) ->param('bucketId', '', new UID(), 'Bucket unique ID.') ->param('name', null, new Text(128), 'Bucket name', false) - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE), 'An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('fileSecurity', false, new Boolean(true), 'Enables configuring permissions for individual file. A user needs one of file or bucket level permissions to access a file. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('enabled', true, new Boolean(true), 'Is bucket enabled? When set to \'disabled\', users cannot access the files in this bucket but Server SDKs with and API key can still access the bucket. No files are lost when this is toggled.', true) ->param('maximumFileSize', fn (array $plan) => empty($plan['fileSize']) ? (int) System::getEnv('_APP_STORAGE_LIMIT', 0) : $plan['fileSize'] * 1000 * 1000, fn (array $plan) => new Range(1, empty($plan['fileSize']) ? (int) System::getEnv('_APP_STORAGE_LIMIT', 0) : $plan['fileSize'] * 1000 * 1000), 'Maximum file size allowed in bytes. Maximum allowed value is ' . Storage::human(System::getEnv('_APP_STORAGE_LIMIT', 0), 0) . '.', true, ['plan']) @@ -418,7 +419,7 @@ App::post('/v1/storage/buckets/:bucketId/files') ->param('bucketId', '', new UID(), 'Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).') ->param('fileId', '', new CustomId(), 'File 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('file', [], new File(), 'Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https://appwrite.io/docs/products/storage/upload-download#input-file).', skipValidation: true) - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permission strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->inject('request') ->inject('response') ->inject('dbForProject') @@ -1645,8 +1646,8 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId') )) ->param('bucketId', '', new UID(), 'Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket).') ->param('fileId', '', new UID(), 'File unique ID.') - ->param('name', null, new Text(255), 'Name of the file', true) - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('name', null, new Nullable(new Text(255)), 'Name of the file', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->inject('response') ->inject('dbForProject') ->inject('user') diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index 591a22705d..582a3086a3 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -55,6 +55,7 @@ use Utopia\Validator\ArrayList; use Utopia\Validator\Assoc; use Utopia\Validator\Boolean; use Utopia\Validator\Integer; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; use Utopia\Validator\Text; use Utopia\Validator\WhiteList; @@ -208,8 +209,8 @@ App::post('/v1/users') ] )) ->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('email', null, new Email(), 'User email.', true) - ->param('phone', null, new Phone(), 'Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.', true) + ->param('email', null, new Nullable(new Email()), 'User email.', true) + ->param('phone', null, new Nullable(new Phone()), 'Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.', true) ->param('password', '', fn ($project, $passwordsDictionary) => new PasswordDictionary($passwordsDictionary, $project->getAttribute('auths', [])['passwordDictionary'] ?? false), 'Plain text user password. Must be at least 8 chars.', true, ['project', 'passwordsDictionary']) ->param('name', '', new Text(128), 'User name. Max length: 128 chars.', true) ->inject('response') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php index 6c8e5dcf3d..8dfe80a390 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php @@ -16,6 +16,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; class Create extends Action { @@ -62,7 +63,7 @@ class Create extends Action ->param('collectionId', '', new UID(), 'Collection ID. You can create a new table using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection).') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('default', null, new Boolean(), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) + ->param('default', null, new Nullable(new Boolean()), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php index d4724ea551..ddb01ff011 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php @@ -64,7 +64,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new Boolean()), 'Default value for attribute when not provided. Cannot be set when attribute is required.') - ->param('newKey', null, new Key(), 'New attribute key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New attribute key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php index cb4d0d924b..1a30a09867 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php @@ -65,7 +65,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, fn (Database $dbForProject) => new Nullable(new DatetimeValidator($dbForProject->getAdapter()->getMinDateTime(), $dbForProject->getAdapter()->getMaxDateTime())), 'Default value for attribute when not provided. Cannot be set when attribute is required.', injections: ['dbForProject']) - ->param('newKey', null, new Key(), 'New attribute key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New attribute key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php index cbfd66e4d9..9f4c38d490 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php @@ -17,6 +17,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; class Create extends Action { @@ -63,7 +64,7 @@ class Create extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('default', null, new Email(), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) + ->param('default', null, new Nullable(new Email()), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php index 2446722f7a..59a0490e6f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php @@ -65,7 +65,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new Email()), 'Default value for attribute when not provided. Cannot be set when attribute is required.') - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php index 98ed83861d..d2ccf9f972 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php @@ -18,6 +18,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Create extends Action @@ -66,7 +67,7 @@ class Create extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('elements', [], new ArrayList(new Text(Database::LENGTH_KEY), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Array of enum values.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('default', null, new Text(0), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) + ->param('default', null, new Nullable(new Text(0)), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php index 23dc807360..560107dd38 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php @@ -67,7 +67,7 @@ class Update extends Action ->param('elements', null, new ArrayList(new Text(Database::LENGTH_KEY), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Updated list of enum values.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new Text(0)), 'Default value for attribute when not provided. Cannot be set when attribute is required.') - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php index 83deb92edc..f48348c192 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php @@ -18,6 +18,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; use Utopia\Validator\FloatValidator; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; class Create extends Action @@ -65,9 +66,9 @@ class Create extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('min', null, new FloatValidator(), 'Minimum value.', true) - ->param('max', null, new FloatValidator(), 'Maximum value.', true) - ->param('default', null, new FloatValidator(), 'Default value. Cannot be set when required.', true) + ->param('min', null, new Nullable(new FloatValidator()), 'Minimum value.', true) + ->param('max', null, new Nullable(new FloatValidator()), 'Maximum value.', true) + ->param('default', null, new Nullable(new FloatValidator()), 'Default value. Cannot be set when required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php index 7f295a1a94..99ac992b9e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php @@ -64,10 +64,10 @@ class Update extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('min', null, new FloatValidator(), 'Minimum value.', true) - ->param('max', null, new FloatValidator(), 'Maximum value.', true) + ->param('min', null, new Nullable(new FloatValidator()), 'Minimum value.', true) + ->param('max', null, new Nullable(new FloatValidator()), 'Maximum value.', true) ->param('default', null, new Nullable(new FloatValidator()), 'Default value. Cannot be set when required.') - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php index 6e6264466c..af3ed99bdf 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php @@ -17,6 +17,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; use Utopia\Validator\IP; +use Utopia\Validator\Nullable; class Create extends Action { @@ -63,7 +64,7 @@ class Create extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('default', null, new IP(), 'Default value. Cannot be set when attribute is required.', true) + ->param('default', null, new Nullable(new IP()), 'Default value. Cannot be set when attribute is required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php index 6cedf10760..a757ed47d1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php @@ -65,7 +65,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new IP()), 'Default value. Cannot be set when attribute is required.') - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php index 090d63c403..5e147c771d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php @@ -18,6 +18,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; use Utopia\Validator\Integer; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; class Create extends Action @@ -65,9 +66,9 @@ class Create extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('min', null, new Integer(), 'Minimum value', true) - ->param('max', null, new Integer(), 'Maximum value', true) - ->param('default', null, new Integer(), 'Default value. Cannot be set when attribute is required.', true) + ->param('min', null, new Nullable(new Integer()), 'Minimum value', true) + ->param('max', null, new Nullable(new Integer()), 'Maximum value', true) + ->param('default', null, new Nullable(new Integer()), 'Default value. Cannot be set when attribute is required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php index b6ae79bd8a..6d3858992b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php @@ -64,10 +64,10 @@ class Update extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('min', null, new Integer(), 'Minimum value', true) - ->param('max', null, new Integer(), 'Maximum value', true) + ->param('min', null, new Nullable(new Integer()), 'Minimum value', true) + ->param('max', null, new Nullable(new Integer()), 'Maximum value', true) ->param('default', null, new Nullable(new Integer()), 'Default value. Cannot be set when attribute is required.') - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php index 52f04ba5bc..8ef2f96ec2 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php @@ -65,7 +65,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new Spatial(Database::VAR_LINESTRING)), 'Default value for attribute when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], …], listing the vertices of the line in order. Cannot be set when attribute is required.', true) - ->param('newKey', null, new Key(), 'New attribute key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New attribute key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php index 73964ab461..62f35ad2a7 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php @@ -65,7 +65,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new Spatial(Database::VAR_POINT)), 'Default value for attribute when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when attribute is required.', true) - ->param('newKey', null, new Key(), 'New attribute key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New attribute key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php index 23eb06f45d..dba83d44d5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php @@ -65,7 +65,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new Spatial(Database::VAR_POLYGON)), 'Default value for attribute when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], …], …], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when attribute is required.', true) - ->param('newKey', null, new Key(), 'New attribute key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New attribute key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php index 75471b826c..6fc27a9836 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php @@ -18,6 +18,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\WhiteList; class Create extends Action @@ -71,8 +72,8 @@ class Create extends Action Database::RELATION_ONE_TO_MANY ], true), 'Relation type') ->param('twoWay', false, new Boolean(), 'Is Two Way?', true) - ->param('key', null, new Key(), 'Attribute Key.', true) - ->param('twoWayKey', null, new Key(), 'Two Way Attribute Key.', true) + ->param('key', null, new Nullable(new Key()), 'Attribute Key.', true) + ->param('twoWayKey', null, new Nullable(new Key()), 'Two Way Attribute Key.', true) ->param('onDelete', Database::RELATION_MUTATE_RESTRICT, new WhiteList([ Database::RELATION_MUTATE_CASCADE, Database::RELATION_MUTATE_RESTRICT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php index 897cbd434f..f9f1d6f3ab 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php @@ -14,6 +14,7 @@ use Utopia\Database\Database; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; use Utopia\Validator\WhiteList; class Update extends Action @@ -61,12 +62,12 @@ class Update extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') - ->param('onDelete', null, new WhiteList([ + ->param('onDelete', null, new Nullable(new WhiteList([ Database::RELATION_MUTATE_CASCADE, Database::RELATION_MUTATE_RESTRICT, Database::RELATION_MUTATE_SET_NULL - ], true), 'Constraints option', true) - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ], true)), 'Constraints option', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php index 1527c4d1d9..88cb161505 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php @@ -19,6 +19,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; use Utopia\Validator\Text; @@ -68,7 +69,7 @@ class Create extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('size', null, new Range(1, APP_DATABASE_ATTRIBUTE_STRING_MAX_LENGTH, Validator::TYPE_INTEGER), 'Attribute size for text attributes, in number of characters.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('default', null, new Text(0, 0), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) + ->param('default', null, new Nullable(new Text(0, 0)), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->param('encrypt', false, new Boolean(), 'Toggle encryption for the attribute. Encryption enhances security by not storing any plain text values in the database. However, encrypted attributes cannot be queried.', true) ->inject('response') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php index 8614dfb202..6687178cb1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php @@ -67,8 +67,8 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new Text(0, 0)), 'Default value for attribute when not provided. Cannot be set when attribute is required.') - ->param('size', null, new Range(1, APP_DATABASE_ATTRIBUTE_STRING_MAX_LENGTH, Validator::TYPE_INTEGER), 'Maximum size of the string attribute.', true) - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ->param('size', null, new Nullable(new Range(1, APP_DATABASE_ATTRIBUTE_STRING_MAX_LENGTH, Validator::TYPE_INTEGER)), 'Maximum size of the string attribute.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php index ce0175966b..2d3b0c6168 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php @@ -16,6 +16,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\URL; class Create extends Action @@ -63,7 +64,7 @@ class Create extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') - ->param('default', null, new URL(), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) + ->param('default', null, new Nullable(new URL()), 'Default value for attribute when not provided. Cannot be set when attribute is required.', true) ->param('array', false, new Boolean(), 'Is attribute an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php index 7ba12ad98a..ebaea9e61d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php @@ -65,7 +65,7 @@ class Update extends Action ->param('key', '', new Key(), 'Attribute Key.') ->param('required', null, new Boolean(), 'Is attribute required?') ->param('default', null, new Nullable(new URL()), 'Default value for attribute when not provided. Cannot be set when attribute is required.') - ->param('newKey', null, new Key(), 'New Attribute Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Attribute Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php index b810ce602f..922cc45428 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php @@ -24,6 +24,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Create extends Action @@ -71,7 +72,7 @@ class Create extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new CustomId(), 'Unique 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('name', '', new Text(128), 'Collection name. Max length: 128 chars.') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE), 'An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('documentSecurity', false, new Boolean(true), 'Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('enabled', true, new Boolean(), 'Is collection enabled? When set to \'disabled\', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.', true) ->inject('response') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php index 0b3d0e9fb4..0ff39c4500 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php @@ -25,6 +25,7 @@ use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; use Utopia\Validator\Numeric; class Decrement extends Action @@ -77,8 +78,8 @@ class Decrement extends Action ->param('documentId', '', new UID(), 'Document ID.') ->param('attribute', '', new Key(), 'Attribute key.') ->param('value', 1, new Numeric(), 'Value to increment the attribute by. The value must be a number.', true) - ->param('min', null, new Numeric(), 'Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('min', null, new Nullable(new Numeric()), 'Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php index ef64099fa8..67fe456550 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php @@ -25,6 +25,7 @@ use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; use Utopia\Validator\Numeric; class Increment extends Action @@ -77,8 +78,8 @@ class Increment extends Action ->param('documentId', '', new UID(), 'Document ID.') ->param('attribute', '', new Key(), 'Attribute key.') ->param('value', 1, new Numeric(), 'Value to increment the attribute by. The value must be a number.', true) - ->param('max', null, new Numeric(), 'Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('max', null, new Nullable(new Numeric()), 'Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Delete.php index 4b1251e016..76acff63ab 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Delete.php @@ -22,6 +22,7 @@ use Utopia\Database\Query; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Delete extends Action @@ -71,7 +72,7 @@ class Delete extends Action ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Update.php index 2152534efe..b190ddde19 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Update.php @@ -25,6 +25,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Update extends Action @@ -75,7 +76,7 @@ class Update extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('data', [], new JSON(), 'Document data as JSON object. Include only attribute and value pairs to be updated.', true) ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php index 6c869723a7..5a3712cc26 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php @@ -23,6 +23,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Upsert extends Action { @@ -73,7 +74,7 @@ class Upsert extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('documents', [], fn (array $plan) => new ArrayList(new JSON(), $plan['databasesBatchSize'] ?? APP_LIMIT_DATABASE_BATCH), 'Array of document data as JSON objects. May contain partial documents.', false, ['plan']) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php index 521190d3dc..09deb5f94d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php @@ -29,6 +29,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Create extends Action { @@ -119,9 +120,9 @@ class Create extends Action ->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.', true) ->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.') ->param('data', [], new JSON(), 'Document data as JSON object.', true, example: '{"username":"walter.obrien","email":"walter.obrien@example.com","fullName":"Walter O\'Brien","age":30,"isAdmin":false}') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('documents', [], fn (array $plan) => new ArrayList(new JSON(), $plan['databasesBatchSize'] ?? APP_LIMIT_DATABASE_BATCH), 'Array of documents data as JSON objects.', true, ['plan']) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('user') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php index a4cef59e5f..88f22c2594 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php @@ -74,7 +74,7 @@ class Delete extends Action ->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.') - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('requestTimestamp') ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php index 3d8cd9198c..c92a487697 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php @@ -19,6 +19,7 @@ use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Get extends Action @@ -64,7 +65,7 @@ class Get extends Action ->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.') ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID to read uncommitted changes within the transaction.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID to read uncommitted changes within the transaction.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php index ed83f3fdd3..6be9a53992 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php @@ -27,6 +27,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Update extends Action { @@ -77,8 +78,8 @@ class Update extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('documentId', '', new UID(), 'Document ID.') ->param('data', [], new JSON(), 'Document data as JSON object. Include only attribute and value pairs to be updated.', true) - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('requestTimestamp') ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php index 8d47410649..a9d8c90a9b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php @@ -28,6 +28,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Upsert extends Action { @@ -80,8 +81,8 @@ class Upsert extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->param('documentId', '', new CustomId(), 'Document ID.') ->param('data', [], new JSON(), 'Document data as JSON object. Include all required attributes of the document to be created or updated.') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('requestTimestamp') ->inject('response') ->inject('user') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php index f159043531..630170a031 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php @@ -23,6 +23,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class XList extends Action @@ -67,7 +68,7 @@ class XList extends Action ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID to read uncommitted changes within the transaction.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID to read uncommitted changes within the transaction.', true) ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php index 49870002ce..7575c9803b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php @@ -17,6 +17,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Update extends Action @@ -64,7 +65,7 @@ class Update extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('name', null, new Text(128), 'Collection name. Max length: 128 chars.') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE), 'An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('documentSecurity', false, new Boolean(true), 'Enables configuring permissions for individual documents. A user needs one of document or collection level permissions to access a document. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('enabled', true, new Boolean(), 'Is collection enabled? When set to \'disabled\', users cannot access the collection but Server SDKs with and API key can still read and write to the collection. No data is lost when this is toggled.', true) ->inject('response') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php index 039964b2c6..d9dfc15ca8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php @@ -11,6 +11,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; class Create extends BooleanCreate { @@ -53,7 +54,7 @@ class Create extends BooleanCreate ->param('tableId', '', new UID(), 'Table ID. You can create a new table using the Database service [server integration](https://appwrite.io/docs/references/cloud/server-dart/tablesDB#createTable).') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('default', null, new Boolean(), 'Default value for column when not provided. Cannot be set when column is required.', true) + ->param('default', null, new Nullable(new Boolean()), 'Default value for column when not provided. Cannot be set when column is required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php index 7df901a1cc..3b83e71c12 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php @@ -57,7 +57,7 @@ class Update extends BooleanUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new Boolean()), 'Default value for column when not provided. Cannot be set when column is required.') - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php index 151422af75..255abf00bf 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php @@ -59,7 +59,7 @@ class Update extends DatetimeUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, fn (Database $dbForProject) => new Nullable(new DatetimeValidator($dbForProject->getAdapter()->getMinDateTime(), $dbForProject->getAdapter()->getMaxDateTime())), 'Default value for column when not provided. Cannot be set when column is required.', injections: ['dbForProject']) - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php index 3a8d492e4e..58ea459d0f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; class Create extends EmailCreate { @@ -54,7 +55,7 @@ class Create extends EmailCreate ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('default', null, new Email(), 'Default value for column when not provided. Cannot be set when column is required.', true) + ->param('default', null, new Nullable(new Email()), 'Default value for column when not provided. Cannot be set when column is required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php index 4d32489357..0105345555 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php @@ -58,7 +58,7 @@ class Update extends EmailUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new Email()), 'Default value for column when not provided. Cannot be set when column is required.') - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php index 68dc2f8e08..8ab8019626 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php @@ -13,6 +13,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Create extends EnumCreate @@ -57,7 +58,7 @@ class Create extends EnumCreate ->param('key', '', new Key(), 'Column Key.') ->param('elements', [], new ArrayList(new Text(Database::LENGTH_KEY), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Array of enum values.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('default', null, new Text(0), 'Default value for column when not provided. Cannot be set when column is required.', true) + ->param('default', null, new Nullable(new Text(0)), 'Default value for column when not provided. Cannot be set when column is required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php index 3b611a5fde..968c84c56b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php @@ -61,7 +61,7 @@ class Update extends EnumUpdate ->param('elements', null, new ArrayList(new Text(Database::LENGTH_KEY), APP_LIMIT_ARRAY_PARAMS_SIZE), 'Updated list of enum values.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new Text(0)), 'Default value for column when not provided. Cannot be set when column is required.') - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php index 9fe6987cab..21e855d912 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; use Utopia\Validator\FloatValidator; +use Utopia\Validator\Nullable; class Create extends FloatCreate { @@ -54,9 +55,9 @@ class Create extends FloatCreate ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('min', null, new FloatValidator(), 'Minimum value', true) - ->param('max', null, new FloatValidator(), 'Maximum value', true) - ->param('default', null, new FloatValidator(), 'Default value. Cannot be set when required.', true) + ->param('min', null, new Nullable(new FloatValidator()), 'Minimum value', true) + ->param('max', null, new Nullable(new FloatValidator()), 'Maximum value', true) + ->param('default', null, new Nullable(new FloatValidator()), 'Default value. Cannot be set when required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php index 023e2e834e..6a479ea266 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php @@ -57,10 +57,10 @@ class Update extends FloatUpdate ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('min', null, new FloatValidator(), 'Minimum value', true) - ->param('max', null, new FloatValidator(), 'Maximum value', true) + ->param('min', null, new Nullable(new FloatValidator()), 'Minimum value', true) + ->param('max', null, new Nullable(new FloatValidator()), 'Maximum value', true) ->param('default', null, new Nullable(new FloatValidator()), 'Default value. Cannot be set when required.') - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php index 81ca8da81f..08912ebb56 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; use Utopia\Validator\IP; +use Utopia\Validator\Nullable; class Create extends IPCreate { @@ -54,7 +55,7 @@ class Create extends IPCreate ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('default', null, new IP(), 'Default value. Cannot be set when column is required.', true) + ->param('default', null, new Nullable(new IP()), 'Default value. Cannot be set when column is required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php index 0db95b0206..9df9f573a2 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php @@ -58,7 +58,7 @@ class Update extends IPUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new IP()), 'Default value. Cannot be set when column is required.') - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php index dfca51a6c5..eb9230f48f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; use Utopia\Validator\Integer; +use Utopia\Validator\Nullable; class Create extends IntegerCreate { @@ -54,9 +55,9 @@ class Create extends IntegerCreate ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('min', null, new Integer(), 'Minimum value', true) - ->param('max', null, new Integer(), 'Maximum value', true) - ->param('default', null, new Integer(), 'Default value. Cannot be set when column is required.', true) + ->param('min', null, new Nullable(new Integer()), 'Minimum value', true) + ->param('max', null, new Nullable(new Integer()), 'Maximum value', true) + ->param('default', null, new Nullable(new Integer()), 'Default value. Cannot be set when column is required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php index a1568d069b..6c707f1655 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php @@ -57,10 +57,10 @@ class Update extends IntegerUpdate ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('min', null, new Integer(), 'Minimum value', true) - ->param('max', null, new Integer(), 'Maximum value', true) + ->param('min', null, new Nullable(new Integer()), 'Minimum value', true) + ->param('max', null, new Nullable(new Integer()), 'Maximum value', true) ->param('default', null, new Nullable(new Integer()), 'Default value. Cannot be set when column is required.') - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php index d3823445a2..fd7d200eb3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php @@ -59,7 +59,7 @@ class Update extends LineUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new Spatial(Database::VAR_LINESTRING)), 'Default value for column when not provided, two-dimensional array of coordinate pairs, [[longitude, latitude], [longitude, latitude], …], listing the vertices of the line in order. Cannot be set when column is required.', true) - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php index 3c855e137c..8b8dd7b66c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php @@ -59,7 +59,7 @@ class Update extends PointUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new Spatial(Database::VAR_POINT)), 'Default value for column when not provided, array of two numbers [longitude, latitude], representing a single coordinate. Cannot be set when column is required.', true) - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php index 866bbaf8b0..c49351fc59 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php @@ -59,7 +59,7 @@ class Update extends PolygonUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new Spatial(Database::VAR_POLYGON)), 'Default value for column when not provided, three-dimensional array where the outer array holds one or more linear rings, [[[longitude, latitude], …], …], the first ring is the exterior boundary, any additional rings are interior holes, and each ring must start and end with the same coordinate pair. Cannot be set when column is required.', true) - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php index 0a6c76d8c5..cccc61beaa 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\WhiteList; class Create extends RelationshipCreate @@ -61,8 +62,8 @@ class Create extends RelationshipCreate Database::RELATION_ONE_TO_MANY ], true), 'Relation type') ->param('twoWay', false, new Boolean(), 'Is Two Way?', true) - ->param('key', null, new Key(), 'Column Key.', true) - ->param('twoWayKey', null, new Key(), 'Two Way Column Key.', true) + ->param('key', null, new Nullable(new Key()), 'Column Key.', true) + ->param('twoWayKey', null, new Nullable(new Key()), 'Two Way Column Key.', true) ->param('onDelete', Database::RELATION_MUTATE_RESTRICT, new WhiteList([ Database::RELATION_MUTATE_CASCADE, Database::RELATION_MUTATE_RESTRICT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php index b645454be1..5953d600f8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php @@ -12,6 +12,7 @@ use Utopia\Database\Database; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; use Utopia\Validator\WhiteList; class Update extends RelationshipUpdate @@ -55,12 +56,12 @@ class Update extends RelationshipUpdate ->param('databaseId', '', new UID(), 'Database ID.') ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') - ->param('onDelete', null, new WhiteList([ + ->param('onDelete', null, new Nullable(new WhiteList([ Database::RELATION_MUTATE_CASCADE, Database::RELATION_MUTATE_RESTRICT, Database::RELATION_MUTATE_SET_NULL - ], true), 'Constraints option', true) - ->param('newKey', null, new Key(), 'New Column Key.', true) + ], true)), 'Constraints option', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php index 6fe9fd679c..8d37c9011b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Range; use Utopia\Validator\Text; @@ -57,7 +58,7 @@ class Create extends StringCreate ->param('key', '', new Key(), 'Column Key.') ->param('size', null, new Range(1, APP_DATABASE_ATTRIBUTE_STRING_MAX_LENGTH, Validator::TYPE_INTEGER), 'Column size for text columns, in number of characters.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('default', null, new Text(0, 0), 'Default value for column when not provided. Cannot be set when column is required.', true) + ->param('default', null, new Nullable(new Text(0, 0)), 'Default value for column when not provided. Cannot be set when column is required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->param('encrypt', false, new Boolean(), 'Toggle encryption for the column. Encryption enhances security by not storing any plain text values in the database. However, encrypted columns cannot be queried.', true) ->inject('response') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php index 5ec9b78dda..43083616ba 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php @@ -60,8 +60,8 @@ class Update extends StringUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new Text(0, 0)), 'Default value for column when not provided. Cannot be set when column is required.') - ->param('size', null, new Range(1, APP_DATABASE_ATTRIBUTE_STRING_MAX_LENGTH, Validator::TYPE_INTEGER), 'Maximum size of the string column.', true) - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('size', null, new Nullable(new Range(1, APP_DATABASE_ATTRIBUTE_STRING_MAX_LENGTH, Validator::TYPE_INTEGER)), 'Maximum size of the string column.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php index 99ec36b721..3fd6f1e463 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php @@ -11,6 +11,7 @@ use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\URL; class Create extends URLCreate @@ -54,7 +55,7 @@ class Create extends URLCreate ->param('tableId', '', new UID(), 'Table ID.') ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') - ->param('default', null, new URL(), 'Default value for column when not provided. Cannot be set when column is required.', true) + ->param('default', null, new Nullable(new URL()), 'Default value for column when not provided. Cannot be set when column is required.', true) ->param('array', false, new Boolean(), 'Is column an array?', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php index 51168b0383..64dfdfbf69 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php @@ -58,7 +58,7 @@ class Update extends URLUpdate ->param('key', '', new Key(), 'Column Key.') ->param('required', null, new Boolean(), 'Is column required?') ->param('default', null, new Nullable(new URL()), 'Default value for column when not provided. Cannot be set when column is required.') - ->param('newKey', null, new Key(), 'New Column Key.', true) + ->param('newKey', null, new Nullable(new Key()), 'New Column Key.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php index 4f62200d7c..68d3e772ec 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php @@ -13,6 +13,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Create extends CollectionCreate @@ -56,7 +57,7 @@ class Create extends CollectionCreate ->param('databaseId', '', new UID(), 'Database ID.') ->param('tableId', '', new CustomId(), 'Unique 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('name', '', new Text(128), 'Table name. Max length: 128 chars.') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE), 'An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('rowSecurity', false, new Boolean(true), 'Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a row. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('enabled', true, new Boolean(), 'Is table enabled? When set to \'disabled\', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.', true) ->inject('response') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php index 86e9a48f63..accb0392fe 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php @@ -11,6 +11,7 @@ use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Delete extends DocumentsDelete @@ -56,7 +57,7 @@ class Delete extends DocumentsDelete ->param('databaseId', '', new UID(), 'Database ID.') ->param('tableId', '', new UID(), 'Table ID. You can create a new table using the Database service [server integration](https://appwrite.io/docs/references/cloud/server-dart/tablesDB#createTable).') ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php index 5005ab4f41..856f17ed10 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Update extends DocumentsUpdate @@ -58,7 +59,7 @@ class Update extends DocumentsUpdate ->param('tableId', '', new UID(), 'Table ID.') ->param('data', [], new JSON(), 'Row data as JSON object. Include only column and value pairs to be updated.', true) ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php index d0a1f08003..492af25e9f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Upsert extends DocumentsUpsert { @@ -58,7 +59,7 @@ class Upsert extends DocumentsUpsert ->param('databaseId', '', new UID(), 'Database ID.') ->param('tableId', '', new UID(), 'Table ID.') ->param('rows', [], fn (array $plan) => new ArrayList(new JSON(), $plan['databasesBatchSize'] ?? APP_LIMIT_DATABASE_BATCH), 'Array of row data as JSON objects. May contain partial rows.', false, ['plan']) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php index d42cf5e9eb..42f2919ce1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php @@ -11,6 +11,7 @@ use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; use Utopia\Validator\Numeric; class Decrement extends DecrementDocumentAttribute @@ -59,8 +60,8 @@ class Decrement extends DecrementDocumentAttribute ->param('rowId', '', new UID(), 'Row ID.') ->param('column', '', new Key(), 'Column key.') ->param('value', 1, new Numeric(), 'Value to increment the column by. The value must be a number.', true) - ->param('min', null, new Numeric(), 'Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('min', null, new Nullable(new Numeric()), 'Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php index c58e16c8e3..3d04d71c26 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php @@ -11,6 +11,7 @@ use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; use Utopia\Validator\Numeric; class Increment extends IncrementDocumentAttribute @@ -59,8 +60,8 @@ class Increment extends IncrementDocumentAttribute ->param('rowId', '', new UID(), 'Row ID.') ->param('column', '', new Key(), 'Column key.') ->param('value', 1, new Numeric(), 'Value to increment the column by. The value must be a number.', true) - ->param('max', null, new Numeric(), 'Maximum value for the column. If the current value is greater than this value, an error will be thrown.', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('max', null, new Nullable(new Numeric()), 'Maximum value for the column. If the current value is greater than this value, an error will be thrown.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php index bfc832f2b5..d657e5596b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php @@ -16,6 +16,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Create extends DocumentCreate { @@ -98,9 +99,9 @@ class Create extends DocumentCreate ->param('rowId', '', new CustomId(), 'Row 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.', true) ->param('tableId', '', new UID(), 'Table ID. You can create a new table using the Database service [server integration](https://appwrite.io/docs/references/cloud/server-dart/tablesDB#createTable). Make sure to define columns before creating rows.') ->param('data', [], new JSON(), 'Row data as JSON object.', true, example: '{"username":"walter.obrien","email":"walter.obrien@example.com","fullName":"Walter O\'Brien","age":30,"isAdmin":false}') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('rows', [], fn (array $plan) => new ArrayList(new JSON(), $plan['databasesBatchSize'] ?? APP_LIMIT_DATABASE_BATCH), 'Array of rows data as JSON objects.', true, ['plan']) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('response') ->inject('dbForProject') ->inject('user') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php index 687b1c8c11..d18a81c1af 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php @@ -61,7 +61,7 @@ class Delete extends DocumentDelete ->param('databaseId', '', new UID(), 'Database ID.') ->param('tableId', '', new UID(), 'Table ID. You can create a new table using the Database service [server integration](https://appwrite.io/docs/references/cloud/server-dart/tablesDB#createTable).') ->param('rowId', '', new UID(), 'Row ID.') - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('requestTimestamp') ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php index f8b70516b6..f355ebb9e6 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php @@ -11,6 +11,7 @@ use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Get extends DocumentGet @@ -52,7 +53,7 @@ class Get extends DocumentGet ->param('tableId', '', new UID(), 'Table ID. You can create a new table using the Database service [server integration](https://appwrite.io/docs/references/cloud/server-dart/tablesDB#createTable).') ->param('rowId', '', new UID(), 'Row ID.') ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID to read uncommitted changes within the transaction.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID to read uncommitted changes within the transaction.', true) ->inject('response') ->inject('dbForProject') ->inject('queueForStatsUsage') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php index cb1d5888cf..8f3786b8cf 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php @@ -13,6 +13,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Update extends DocumentUpdate { @@ -59,8 +60,8 @@ class Update extends DocumentUpdate ->param('tableId', '', new UID(), 'Table ID.') ->param('rowId', '', new UID(), 'Row ID.') ->param('data', [], new JSON(), 'Row data as JSON object. Include only columns and value pairs to be updated.', true) - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('requestTimestamp') ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php index 0bc373cc93..d4cd61cfdd 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php @@ -13,6 +13,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\JSON; +use Utopia\Validator\Nullable; class Upsert extends DocumentUpsert { @@ -61,8 +62,8 @@ class Upsert extends DocumentUpsert ->param('tableId', '', new UID(), 'Table ID.') ->param('rowId', '', new UID(), 'Row ID.') ->param('data', [], new JSON(), 'Row data as JSON object. Include all required columns of the row to be created or updated.', true) - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) - ->param('transactionId', null, new UID(), 'Transaction ID for staging the operation.', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE])), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID for staging the operation.', true) ->inject('requestTimestamp') ->inject('response') ->inject('user') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php index b96e84b722..cd6141a6b4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class XList extends DocumentXList @@ -52,7 +53,7 @@ class XList extends DocumentXList ->param('databaseId', '', new UID(), 'Database ID.') ->param('tableId', '', new UID(), 'Table ID. You can create a new table using the TablesDB service [server integration](https://appwrite.io/docs/products/databases/tables#create-table).') ->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/queries). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true) - ->param('transactionId', null, new UID(), 'Transaction ID to read uncommitted changes within the transaction.', true) + ->param('transactionId', null, new Nullable(new UID()), 'Transaction ID to read uncommitted changes within the transaction.', true) ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php index 8424b37a6d..a6cb611870 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php @@ -12,6 +12,7 @@ use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Update extends CollectionUpdate @@ -55,7 +56,7 @@ class Update extends CollectionUpdate ->param('databaseId', '', new UID(), 'Database ID.') ->param('tableId', '', new UID(), 'Table ID.') ->param('name', null, new Text(128), 'Table name. Max length: 128 chars.') - ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE), 'An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('rowSecurity', false, new Boolean(true), 'Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a document. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('enabled', true, new Boolean(), 'Is table enabled? When set to \'disabled\', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.', true) ->inject('response') diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php index f64a960507..d53324b27f 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php @@ -28,6 +28,7 @@ use Utopia\Storage\Validator\Upload; use Utopia\Swoole\Request; use Utopia\System\System; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Create extends Action @@ -74,8 +75,8 @@ class Create extends Action packaging: true, )) ->param('functionId', '', new UID(), 'Function ID.') - ->param('entrypoint', null, new Text(1028), 'Entrypoint File.', true) - ->param('commands', null, new Text(8192, 0), 'Build Commands.', true) + ->param('entrypoint', null, new Nullable(new Text(1028)), 'Entrypoint File.', true) + ->param('commands', null, new Nullable(new Text(8192, 0)), 'Build Commands.', true) ->param('code', [], new File(), 'Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.', skipValidation: true) ->param('activate', false, new Boolean(true), 'Automatically activate the deployment when it is finished building.') ->inject('request') diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php index 69af3b7d04..a699c0f097 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php @@ -36,6 +36,7 @@ use Utopia\System\System; use Utopia\Validator\AnyOf; use Utopia\Validator\Assoc; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; use Utopia\Validator\WhiteList; @@ -81,7 +82,7 @@ class Create extends Base ->param('path', '/', new Text(2048), 'HTTP path of execution. Path can include query params. Default value is /', true) ->param('method', 'POST', new Whitelist(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD'], true), 'HTTP method of execution. Default value is POST.', true) ->param('headers', [], new AnyOf([new Assoc(), new Text(65535)], AnyOf::TYPE_MIXED), 'HTTP headers of execution. Defaults to empty.', true) - ->param('scheduledAt', null, new Text(100), 'Scheduled execution time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.', true) + ->param('scheduledAt', null, new Nullable(new Text(100)), 'Scheduled execution time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.', true) ->inject('response') ->inject('request') ->inject('project') diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php index 639b1c74d5..95fd235e4b 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php @@ -16,6 +16,7 @@ use Utopia\Database\Validator\UID; use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Update extends Base @@ -56,8 +57,8 @@ class Update extends Base ->param('functionId', '', new UID(), 'Function unique ID.', false) ->param('variableId', '', new UID(), 'Variable unique ID.', false) ->param('key', null, new Text(255), 'Variable key. Max length: 255 chars.', false) - ->param('value', null, new Text(8192, 0), 'Variable value. Max length: 8192 chars.', true) - ->param('secret', null, new Boolean(), 'Secret variables can be updated or deleted, but only functions can read them during build and runtime.', true) + ->param('value', null, new Nullable(new Text(8192, 0)), 'Variable value. Max length: 8192 chars.', true) + ->param('secret', null, new Nullable(new Boolean()), 'Secret variables can be updated or deleted, but only functions can read them during build and runtime.', true) ->inject('response') ->inject('dbForProject') ->inject('dbForPlatform') diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php index 4bd3afa1f5..aa622d8d84 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php @@ -29,6 +29,7 @@ use Utopia\Storage\Validator\Upload; use Utopia\Swoole\Request; use Utopia\System\System; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Create extends Action @@ -71,9 +72,9 @@ class Create extends Action packaging: true, )) ->param('siteId', '', new UID(), 'Site ID.') - ->param('installCommand', null, new Text(8192, 0), 'Install Commands.', true) - ->param('buildCommand', null, new Text(8192, 0), 'Build Commands.', true) - ->param('outputDirectory', null, new Text(8192, 0), 'Output Directory.', true) + ->param('installCommand', null, new Nullable(new Text(8192, 0)), 'Install Commands.', true) + ->param('buildCommand', null, new Nullable(new Text(8192, 0)), 'Build Commands.', true) + ->param('outputDirectory', null, new Nullable(new Text(8192, 0)), 'Output Directory.', true) ->param('code', [], new File(), 'Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.', skipValidation: true) ->param('activate', false, new Boolean(true), 'Automatically activate the deployment when it is finished building.') ->inject('request') diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Variables/Update.php b/src/Appwrite/Platform/Modules/Sites/Http/Variables/Update.php index 3cf2e2f85f..6f4ea35eea 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Variables/Update.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Variables/Update.php @@ -14,6 +14,7 @@ use Utopia\Database\Validator\UID; use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; use Utopia\Validator\Boolean; +use Utopia\Validator\Nullable; use Utopia\Validator\Text; class Update extends Base @@ -54,8 +55,8 @@ class Update extends Base ->param('siteId', '', new UID(), 'Site unique ID.', false) ->param('variableId', '', new UID(), 'Variable unique ID.', false) ->param('key', null, new Text(255), 'Variable key. Max length: 255 chars.', false) - ->param('value', null, new Text(8192, 0), 'Variable value. Max length: 8192 chars.', true) - ->param('secret', null, new Boolean(), 'Secret variables can be updated or deleted, but only sites can read them during build and runtime.', true) + ->param('value', null, new Nullable(new Text(8192, 0)), 'Variable value. Max length: 8192 chars.', true) + ->param('secret', null, new Nullable(new Boolean()), 'Secret variables can be updated or deleted, but only sites can read them during build and runtime.', true) ->inject('response') ->inject('dbForProject') ->callback($this->action(...)); From 0ed4b5dbe70dcdb3bb1ddd45a16e7f976fc90272 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Mon, 10 Nov 2025 10:16:58 +0530 Subject: [PATCH 2/3] fix imports + add spec changes --- app/config/specs/open-api3-1.8.x-client.json | 78 ++- app/config/specs/open-api3-1.8.x-console.json | 582 ++++++++++++------ app/config/specs/open-api3-1.8.x-server.json | 555 +++++++++++------ app/config/specs/open-api3-latest-client.json | 78 ++- .../specs/open-api3-latest-console.json | 582 ++++++++++++------ app/config/specs/open-api3-latest-server.json | 555 +++++++++++------ app/config/specs/swagger2-1.8.x-client.json | 61 +- app/config/specs/swagger2-1.8.x-console.json | 508 ++++++++++----- app/config/specs/swagger2-1.8.x-server.json | 485 ++++++++++----- app/config/specs/swagger2-latest-client.json | 61 +- app/config/specs/swagger2-latest-console.json | 508 ++++++++++----- app/config/specs/swagger2-latest-server.json | 485 ++++++++++----- .../Collections/Documents/Delete.php | 1 + .../Http/TablesDB/Tables/Rows/Delete.php | 1 + 14 files changed, 3068 insertions(+), 1472 deletions(-) diff --git a/app/config/specs/open-api3-1.8.x-client.json b/app/config/specs/open-api3-1.8.x-client.json index dde8390820..9adb21d960 100644 --- a/app/config/specs/open-api3-1.8.x-client.json +++ b/app/config/specs/open-api3-1.8.x-client.json @@ -6313,7 +6313,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documents": { "type": "array", @@ -6326,7 +6327,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -6583,12 +6585,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } }, "required": [ @@ -6701,12 +6705,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -6801,7 +6807,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -6920,12 +6927,14 @@ "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -7044,12 +7053,14 @@ "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -7251,7 +7262,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -8194,7 +8206,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } }, "required": [ @@ -8360,7 +8373,8 @@ "name": { "type": "string", "description": "Name of the file", - "x-example": "" + "x-example": "", + "x-nullable": true }, "permissions": { "type": "array", @@ -8368,7 +8382,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -9500,7 +9515,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rows": { "type": "array", @@ -9513,7 +9529,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -9763,12 +9780,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -9877,12 +9896,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -9976,7 +9997,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -10094,12 +10116,14 @@ "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -10217,12 +10241,14 @@ "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index aa1e81dbeb..d7c156cdcd 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -7059,7 +7059,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -7245,7 +7246,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -7524,7 +7526,8 @@ "default": { "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7644,7 +7647,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7869,7 +7873,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7974,7 +7979,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -8094,7 +8100,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8207,7 +8214,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "" + "x-example": "", + "x-nullable": true }, "array": { "type": "boolean", @@ -8336,7 +8344,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8442,17 +8451,20 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8566,12 +8578,14 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8582,7 +8596,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8687,17 +8702,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8811,12 +8829,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8827,7 +8847,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8932,7 +8953,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -9052,7 +9074,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9287,7 +9310,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9521,7 +9545,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9755,7 +9780,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9872,12 +9898,14 @@ "key": { "type": "string", "description": "Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -9999,7 +10027,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "" + "x-example": "", + "x-nullable": true }, "array": { "type": "boolean", @@ -10125,12 +10154,14 @@ "size": { "type": "integer", "description": "Maximum size of the string attribute.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10235,7 +10266,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -10355,7 +10387,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10656,12 +10689,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10945,7 +10980,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documents": { "type": "array", @@ -10958,7 +10994,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -11089,7 +11126,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } }, "required": [ @@ -11195,7 +11233,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -11293,7 +11332,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -11550,12 +11590,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } }, "required": [ @@ -11668,12 +11710,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -11768,7 +11812,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -11984,12 +12029,14 @@ "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -12108,12 +12155,14 @@ "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -14166,12 +14215,14 @@ "entrypoint": { "type": "string", "description": "Entrypoint File.", - "x-example": "" + "x-example": "", + "x-nullable": true }, "commands": { "type": "string", "description": "Build Commands.", - "x-example": "" + "x-example": "", + "x-nullable": true }, "code": { "type": "string", @@ -14959,7 +15010,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "x-example": "" + "x-example": "", + "x-nullable": true } } } @@ -15488,12 +15540,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "" + "x-example": "", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17599,7 +17653,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17685,7 +17740,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -17693,7 +17749,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -17701,27 +17758,32 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "subject": { "type": "string", "description": "Email Subject.", - "x-example": "" + "x-example": "", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "" + "x-example": "", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", @@ -17729,7 +17791,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "bcc": { "type": "array", @@ -17737,12 +17800,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", @@ -17750,7 +17815,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -17855,7 +17921,8 @@ "data": { "type": "object", "description": "Additional key-value pair data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -17900,7 +17967,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -18005,7 +18073,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -18013,7 +18082,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -18021,77 +18091,92 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "title": { "type": "string", "description": "Title for push notification.", - "x-example": "" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -18102,7 +18187,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -18275,7 +18361,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -18426,7 +18513,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -18434,7 +18522,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -18442,22 +18531,26 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -19002,7 +19095,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19157,7 +19251,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -19182,7 +19277,8 @@ "sandbox": { "type": "boolean", "description": "Use APNS sandbox environment.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19320,12 +19416,14 @@ "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19472,12 +19570,14 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -19563,7 +19663,8 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19588,7 +19689,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19685,12 +19787,14 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19801,7 +19905,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19888,7 +19993,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -20004,7 +20110,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20091,7 +20198,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20217,7 +20325,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20304,7 +20413,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20551,7 +20661,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20724,7 +20835,8 @@ "port": { "type": "integer", "description": "SMTP port.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -20751,7 +20863,8 @@ "autoTLS": { "type": "boolean", "description": "Enable SMTP AutoTLS feature.", - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -20781,7 +20894,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -20872,7 +20986,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20959,7 +21074,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -21065,7 +21181,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21152,7 +21269,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -21258,7 +21376,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21345,7 +21464,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -21451,7 +21571,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21538,7 +21659,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -22146,7 +22268,8 @@ "name": { "type": "string", "description": "Topic Name.", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", @@ -22154,7 +22277,8 @@ "x-example": "[\"any\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -24227,12 +24351,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -26552,12 +26678,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26723,12 +26851,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26918,17 +27048,20 @@ "appId": { "type": "string", "description": "Provider app ID. Max length: 256 chars.", - "x-example": "<APP_ID>" + "x-example": "<APP_ID>", + "x-nullable": true }, "secret": { "type": "string", "description": "Provider secret key. Max length: 512 chars.", - "x-example": "<SECRET>" + "x-example": "<SECRET>", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Provider status. Set to 'false' to disable new session creation.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -31983,17 +32116,20 @@ "installCommand": { "type": "string", "description": "Install Commands.", - "x-example": "<INSTALL_COMMAND>" + "x-example": "<INSTALL_COMMAND>", + "x-nullable": true }, "buildCommand": { "type": "string", "description": "Build Commands.", - "x-example": "<BUILD_COMMAND>" + "x-example": "<BUILD_COMMAND>", + "x-nullable": true }, "outputDirectory": { "type": "string", "description": "Output Directory.", - "x-example": "<OUTPUT_DIRECTORY>" + "x-example": "<OUTPUT_DIRECTORY>", + "x-nullable": true }, "code": { "type": "string", @@ -33186,12 +33322,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -33418,7 +33556,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -33611,7 +33750,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -33902,7 +34042,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } }, "required": [ @@ -34068,7 +34209,8 @@ "name": { "type": "string", "description": "Name of the file", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", @@ -34076,7 +34218,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -35761,7 +35904,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -35945,7 +36089,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -36221,7 +36366,8 @@ "default": { "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -36340,7 +36486,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36563,7 +36710,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36667,7 +36815,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -36786,7 +36935,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36898,7 +37048,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -37026,7 +37177,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37131,17 +37283,20 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37254,12 +37409,14 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -37270,7 +37427,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37374,17 +37532,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37497,12 +37658,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -37513,7 +37676,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37617,7 +37781,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37736,7 +37901,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37969,7 +38135,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38201,7 +38368,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38433,7 +38601,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38549,12 +38718,14 @@ "key": { "type": "string", "description": "Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -38675,7 +38846,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -38800,12 +38972,14 @@ "size": { "type": "integer", "description": "Maximum size of the string column.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38909,7 +39083,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -39028,7 +39203,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -39326,12 +39502,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -40076,7 +40254,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rows": { "type": "array", @@ -40089,7 +40268,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40215,7 +40395,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -40320,7 +40501,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40417,7 +40599,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40667,12 +40850,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40781,12 +40966,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40880,7 +41067,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -41094,12 +41282,14 @@ "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -41217,12 +41407,14 @@ "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -43091,12 +43283,14 @@ "email": { "type": "string", "description": "User email.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json index c3df6ef373..64e119e68a 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -6521,7 +6521,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -6709,7 +6710,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -6991,7 +6993,8 @@ "default": { "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7112,7 +7115,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7339,7 +7343,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7445,7 +7450,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -7566,7 +7572,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7680,7 +7687,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -7810,7 +7818,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7917,17 +7926,20 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8042,12 +8054,14 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8058,7 +8072,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8164,17 +8179,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8289,12 +8307,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8305,7 +8325,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8411,7 +8432,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8532,7 +8554,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8769,7 +8792,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9005,7 +9029,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9241,7 +9266,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9359,12 +9385,14 @@ "key": { "type": "string", "description": "Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -9487,7 +9515,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -9614,12 +9643,14 @@ "size": { "type": "integer", "description": "Maximum size of the string attribute.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9725,7 +9756,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -9846,7 +9878,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10150,12 +10183,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10445,7 +10480,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documents": { "type": "array", @@ -10458,7 +10494,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10591,7 +10628,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -10698,7 +10736,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10797,7 +10836,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11059,12 +11099,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11179,12 +11221,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11281,7 +11325,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11402,12 +11447,14 @@ "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11528,12 +11575,14 @@ "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -12953,12 +13002,14 @@ "entrypoint": { "type": "string", "description": "Entrypoint File.", - "x-example": "<ENTRYPOINT>" + "x-example": "<ENTRYPOINT>", + "x-nullable": true }, "commands": { "type": "string", "description": "Build Commands.", - "x-example": "<COMMANDS>" + "x-example": "<COMMANDS>", + "x-nullable": true }, "code": { "type": "string", @@ -13757,7 +13808,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -14211,12 +14263,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -16367,7 +16421,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -16454,7 +16509,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -16462,7 +16518,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -16470,27 +16527,32 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "subject": { "type": "string", "description": "Email Subject.", - "x-example": "<SUBJECT>" + "x-example": "<SUBJECT>", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", @@ -16498,7 +16560,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "bcc": { "type": "array", @@ -16506,12 +16569,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", @@ -16519,7 +16584,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -16625,7 +16691,8 @@ "data": { "type": "object", "description": "Additional key-value pair data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -16670,7 +16737,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -16776,7 +16844,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -16784,7 +16853,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -16792,77 +16862,92 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "title": { "type": "string", "description": "Title for push notification.", - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -16873,7 +16958,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -17049,7 +17135,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17203,7 +17290,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -17211,7 +17299,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -17219,22 +17308,26 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -17787,7 +17880,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17945,7 +18039,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -17970,7 +18065,8 @@ "sandbox": { "type": "boolean", "description": "Use APNS sandbox environment.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -18111,12 +18207,14 @@ "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18266,12 +18364,14 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -18358,7 +18458,8 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18383,7 +18484,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18481,12 +18583,14 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18598,7 +18702,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18686,7 +18791,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -18803,7 +18909,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18891,7 +18998,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19018,7 +19126,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19106,7 +19215,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19356,7 +19466,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19532,7 +19643,8 @@ "port": { "type": "integer", "description": "SMTP port.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -19559,7 +19671,8 @@ "autoTLS": { "type": "boolean", "description": "Enable SMTP AutoTLS feature.", - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -19589,7 +19702,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19681,7 +19795,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19769,7 +19884,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -19876,7 +19992,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19964,7 +20081,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -20071,7 +20189,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20159,7 +20278,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -20266,7 +20386,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20354,7 +20475,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20970,7 +21092,8 @@ "name": { "type": "string", "description": "Topic Name.", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", @@ -20978,7 +21101,8 @@ "x-example": "[\"any\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -22508,17 +22632,20 @@ "installCommand": { "type": "string", "description": "Install Commands.", - "x-example": "<INSTALL_COMMAND>" + "x-example": "<INSTALL_COMMAND>", + "x-nullable": true }, "buildCommand": { "type": "string", "description": "Build Commands.", - "x-example": "<BUILD_COMMAND>" + "x-example": "<BUILD_COMMAND>", + "x-nullable": true }, "outputDirectory": { "type": "string", "description": "Output Directory.", - "x-example": "<OUTPUT_DIRECTORY>" + "x-example": "<OUTPUT_DIRECTORY>", + "x-nullable": true }, "code": { "type": "string", @@ -23643,12 +23770,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -23878,7 +24007,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -24073,7 +24203,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -24369,7 +24500,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } }, "required": [ @@ -24539,7 +24671,8 @@ "name": { "type": "string", "description": "Name of the file", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", @@ -24547,7 +24680,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -26008,7 +26142,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -26194,7 +26329,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -26473,7 +26609,8 @@ "default": { "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -26593,7 +26730,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26818,7 +26956,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26923,7 +27062,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -27043,7 +27183,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27156,7 +27297,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -27285,7 +27427,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27391,17 +27534,20 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27515,12 +27661,14 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -27531,7 +27679,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27636,17 +27785,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27760,12 +27912,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -27776,7 +27930,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27881,7 +28036,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -28001,7 +28157,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28236,7 +28393,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28470,7 +28628,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28704,7 +28863,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28821,12 +28981,14 @@ "key": { "type": "string", "description": "Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -28948,7 +29110,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -29074,12 +29237,14 @@ "size": { "type": "integer", "description": "Maximum size of the string column.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29184,7 +29349,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -29304,7 +29470,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29605,12 +29772,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -30279,7 +30448,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rows": { "type": "array", @@ -30292,7 +30462,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30420,7 +30591,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -30526,7 +30698,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30624,7 +30797,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30879,12 +31053,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30995,12 +31171,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31096,7 +31274,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31216,12 +31395,14 @@ "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31341,12 +31522,14 @@ "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -32959,12 +33142,14 @@ "email": { "type": "string", "description": "User email.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/app/config/specs/open-api3-latest-client.json b/app/config/specs/open-api3-latest-client.json index dde8390820..9adb21d960 100644 --- a/app/config/specs/open-api3-latest-client.json +++ b/app/config/specs/open-api3-latest-client.json @@ -6313,7 +6313,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documents": { "type": "array", @@ -6326,7 +6327,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6583,12 +6585,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -6701,12 +6705,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6801,7 +6807,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6920,12 +6927,14 @@ "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -7044,12 +7053,14 @@ "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -7251,7 +7262,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -8194,7 +8206,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } }, "required": [ @@ -8360,7 +8373,8 @@ "name": { "type": "string", "description": "Name of the file", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", @@ -8368,7 +8382,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -9500,7 +9515,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rows": { "type": "array", @@ -9513,7 +9529,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9763,12 +9780,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9877,12 +9896,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9976,7 +9997,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10094,12 +10116,14 @@ "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10217,12 +10241,14 @@ "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index aa1e81dbeb..d7c156cdcd 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -7059,7 +7059,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -7245,7 +7246,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -7524,7 +7526,8 @@ "default": { "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7644,7 +7647,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7869,7 +7873,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7974,7 +7979,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -8094,7 +8100,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8207,7 +8214,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -8336,7 +8344,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8442,17 +8451,20 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8566,12 +8578,14 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8582,7 +8596,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8687,17 +8702,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8811,12 +8829,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8827,7 +8847,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8932,7 +8953,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -9052,7 +9074,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9287,7 +9310,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9521,7 +9545,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9755,7 +9780,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9872,12 +9898,14 @@ "key": { "type": "string", "description": "Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -9999,7 +10027,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -10125,12 +10154,14 @@ "size": { "type": "integer", "description": "Maximum size of the string attribute.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10235,7 +10266,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -10355,7 +10387,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10656,12 +10689,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10945,7 +10980,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documents": { "type": "array", @@ -10958,7 +10994,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11089,7 +11126,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11195,7 +11233,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11293,7 +11332,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11550,12 +11590,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11668,12 +11710,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11768,7 +11812,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11984,12 +12029,14 @@ "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -12108,12 +12155,14 @@ "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -14166,12 +14215,14 @@ "entrypoint": { "type": "string", "description": "Entrypoint File.", - "x-example": "<ENTRYPOINT>" + "x-example": "<ENTRYPOINT>", + "x-nullable": true }, "commands": { "type": "string", "description": "Build Commands.", - "x-example": "<COMMANDS>" + "x-example": "<COMMANDS>", + "x-nullable": true }, "code": { "type": "string", @@ -14959,7 +15010,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -15488,12 +15540,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17599,7 +17653,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17685,7 +17740,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -17693,7 +17749,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -17701,27 +17758,32 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "subject": { "type": "string", "description": "Email Subject.", - "x-example": "<SUBJECT>" + "x-example": "<SUBJECT>", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", @@ -17729,7 +17791,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "bcc": { "type": "array", @@ -17737,12 +17800,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", @@ -17750,7 +17815,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -17855,7 +17921,8 @@ "data": { "type": "object", "description": "Additional key-value pair data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -17900,7 +17967,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -18005,7 +18073,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -18013,7 +18082,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -18021,77 +18091,92 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "title": { "type": "string", "description": "Title for push notification.", - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -18102,7 +18187,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -18275,7 +18361,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -18426,7 +18513,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -18434,7 +18522,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -18442,22 +18531,26 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -19002,7 +19095,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19157,7 +19251,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -19182,7 +19277,8 @@ "sandbox": { "type": "boolean", "description": "Use APNS sandbox environment.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19320,12 +19416,14 @@ "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19472,12 +19570,14 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -19563,7 +19663,8 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19588,7 +19689,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19685,12 +19787,14 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19801,7 +19905,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19888,7 +19993,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -20004,7 +20110,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20091,7 +20198,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20217,7 +20325,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20304,7 +20413,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20551,7 +20661,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20724,7 +20835,8 @@ "port": { "type": "integer", "description": "SMTP port.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -20751,7 +20863,8 @@ "autoTLS": { "type": "boolean", "description": "Enable SMTP AutoTLS feature.", - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -20781,7 +20894,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -20872,7 +20986,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20959,7 +21074,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -21065,7 +21181,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21152,7 +21269,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -21258,7 +21376,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21345,7 +21464,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -21451,7 +21571,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21538,7 +21659,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -22146,7 +22268,8 @@ "name": { "type": "string", "description": "Topic Name.", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", @@ -22154,7 +22277,8 @@ "x-example": "[\"any\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -24227,12 +24351,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -26552,12 +26678,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26723,12 +26851,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "expire": { "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26918,17 +27048,20 @@ "appId": { "type": "string", "description": "Provider app ID. Max length: 256 chars.", - "x-example": "<APP_ID>" + "x-example": "<APP_ID>", + "x-nullable": true }, "secret": { "type": "string", "description": "Provider secret key. Max length: 512 chars.", - "x-example": "<SECRET>" + "x-example": "<SECRET>", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Provider status. Set to 'false' to disable new session creation.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -31983,17 +32116,20 @@ "installCommand": { "type": "string", "description": "Install Commands.", - "x-example": "<INSTALL_COMMAND>" + "x-example": "<INSTALL_COMMAND>", + "x-nullable": true }, "buildCommand": { "type": "string", "description": "Build Commands.", - "x-example": "<BUILD_COMMAND>" + "x-example": "<BUILD_COMMAND>", + "x-nullable": true }, "outputDirectory": { "type": "string", "description": "Output Directory.", - "x-example": "<OUTPUT_DIRECTORY>" + "x-example": "<OUTPUT_DIRECTORY>", + "x-nullable": true }, "code": { "type": "string", @@ -33186,12 +33322,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -33418,7 +33556,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -33611,7 +33750,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -33902,7 +34042,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } }, "required": [ @@ -34068,7 +34209,8 @@ "name": { "type": "string", "description": "Name of the file", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", @@ -34076,7 +34218,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -35761,7 +35904,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -35945,7 +36089,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -36221,7 +36366,8 @@ "default": { "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -36340,7 +36486,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36563,7 +36710,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36667,7 +36815,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -36786,7 +36935,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36898,7 +37048,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -37026,7 +37177,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37131,17 +37283,20 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37254,12 +37409,14 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -37270,7 +37427,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37374,17 +37532,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37497,12 +37658,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -37513,7 +37676,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37617,7 +37781,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37736,7 +37901,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37969,7 +38135,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38201,7 +38368,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38433,7 +38601,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38549,12 +38718,14 @@ "key": { "type": "string", "description": "Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -38675,7 +38846,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -38800,12 +38972,14 @@ "size": { "type": "integer", "description": "Maximum size of the string column.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38909,7 +39083,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -39028,7 +39203,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -39326,12 +39502,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -40076,7 +40254,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rows": { "type": "array", @@ -40089,7 +40268,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40215,7 +40395,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -40320,7 +40501,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40417,7 +40599,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40667,12 +40850,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40781,12 +40966,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40880,7 +41067,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -41094,12 +41282,14 @@ "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -41217,12 +41407,14 @@ "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -43091,12 +43283,14 @@ "email": { "type": "string", "description": "User email.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index c3df6ef373..64e119e68a 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -6521,7 +6521,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -6709,7 +6710,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documentSecurity": { "type": "boolean", @@ -6991,7 +6993,8 @@ "default": { "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7112,7 +7115,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7339,7 +7343,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7445,7 +7450,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -7566,7 +7572,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7680,7 +7687,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -7810,7 +7818,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7917,17 +7926,20 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8042,12 +8054,14 @@ "min": { "type": "number", "description": "Minimum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8058,7 +8072,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8164,17 +8179,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8289,12 +8307,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8305,7 +8325,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8411,7 +8432,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when attribute is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8532,7 +8554,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8769,7 +8792,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9005,7 +9029,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9241,7 +9266,8 @@ "newKey": { "type": "string", "description": "New attribute key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9359,12 +9385,14 @@ "key": { "type": "string", "description": "Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -9487,7 +9515,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -9614,12 +9643,14 @@ "size": { "type": "integer", "description": "Maximum size of the string attribute.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9725,7 +9756,8 @@ "default": { "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -9846,7 +9878,8 @@ "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10150,12 +10183,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10445,7 +10480,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "documents": { "type": "array", @@ -10458,7 +10494,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10591,7 +10628,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -10698,7 +10736,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10797,7 +10836,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11059,12 +11099,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11179,12 +11221,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11281,7 +11325,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11402,12 +11447,14 @@ "min": { "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11528,12 +11575,14 @@ "max": { "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -12953,12 +13002,14 @@ "entrypoint": { "type": "string", "description": "Entrypoint File.", - "x-example": "<ENTRYPOINT>" + "x-example": "<ENTRYPOINT>", + "x-nullable": true }, "commands": { "type": "string", "description": "Build Commands.", - "x-example": "<COMMANDS>" + "x-example": "<COMMANDS>", + "x-nullable": true }, "code": { "type": "string", @@ -13757,7 +13808,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -14211,12 +14263,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -16367,7 +16421,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -16454,7 +16509,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -16462,7 +16518,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -16470,27 +16527,32 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "subject": { "type": "string", "description": "Email Subject.", - "x-example": "<SUBJECT>" + "x-example": "<SUBJECT>", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", @@ -16498,7 +16560,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "bcc": { "type": "array", @@ -16506,12 +16569,14 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", @@ -16519,7 +16584,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -16625,7 +16691,8 @@ "data": { "type": "object", "description": "Additional key-value pair data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -16670,7 +16737,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -16776,7 +16844,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -16784,7 +16853,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -16792,77 +16862,92 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "title": { "type": "string", "description": "Title for push notification.", - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -16873,7 +16958,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -17049,7 +17135,8 @@ "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17203,7 +17290,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "users": { "type": "array", @@ -17211,7 +17299,8 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "targets": { "type": "array", @@ -17219,22 +17308,26 @@ "x-example": null, "items": { "type": "string" - } + }, + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -17787,7 +17880,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17945,7 +18039,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -17970,7 +18065,8 @@ "sandbox": { "type": "boolean", "description": "Use APNS sandbox environment.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -18111,12 +18207,14 @@ "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18266,12 +18364,14 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -18358,7 +18458,8 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18383,7 +18484,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18481,12 +18583,14 @@ "isEuRegion": { "type": "boolean", "description": "Set as EU region.", - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18598,7 +18702,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18686,7 +18791,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -18803,7 +18909,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18891,7 +18998,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19018,7 +19126,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19106,7 +19215,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19356,7 +19466,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19532,7 +19643,8 @@ "port": { "type": "integer", "description": "SMTP port.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -19559,7 +19671,8 @@ "autoTLS": { "type": "boolean", "description": "Enable SMTP AutoTLS feature.", - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -19589,7 +19702,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19681,7 +19795,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19769,7 +19884,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -19876,7 +19992,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19964,7 +20081,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -20071,7 +20189,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20159,7 +20278,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -20266,7 +20386,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20354,7 +20475,8 @@ "enabled": { "type": "boolean", "description": "Set as enabled.", - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20970,7 +21092,8 @@ "name": { "type": "string", "description": "Topic Name.", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", @@ -20978,7 +21101,8 @@ "x-example": "[\"any\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -22508,17 +22632,20 @@ "installCommand": { "type": "string", "description": "Install Commands.", - "x-example": "<INSTALL_COMMAND>" + "x-example": "<INSTALL_COMMAND>", + "x-nullable": true }, "buildCommand": { "type": "string", "description": "Build Commands.", - "x-example": "<BUILD_COMMAND>" + "x-example": "<BUILD_COMMAND>", + "x-nullable": true }, "outputDirectory": { "type": "string", "description": "Output Directory.", - "x-example": "<OUTPUT_DIRECTORY>" + "x-example": "<OUTPUT_DIRECTORY>", + "x-nullable": true }, "code": { "type": "string", @@ -23643,12 +23770,14 @@ "value": { "type": "string", "description": "Variable value. Max length: 8192 chars.", - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -23878,7 +24007,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -24073,7 +24203,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "fileSecurity": { "type": "boolean", @@ -24369,7 +24500,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } }, "required": [ @@ -24539,7 +24671,8 @@ "name": { "type": "string", "description": "Name of the file", - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", @@ -24547,7 +24680,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true } } } @@ -26008,7 +26142,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -26194,7 +26329,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rowSecurity": { "type": "boolean", @@ -26473,7 +26609,8 @@ "default": { "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -26593,7 +26730,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26818,7 +26956,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26923,7 +27062,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -27043,7 +27183,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27156,7 +27297,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -27285,7 +27427,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27391,17 +27534,20 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27515,12 +27661,14 @@ "min": { "type": "number", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -27531,7 +27679,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27636,17 +27785,20 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27760,12 +27912,14 @@ "min": { "type": "integer", "description": "Minimum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -27776,7 +27930,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27881,7 +28036,8 @@ "default": { "type": "string", "description": "Default value. Cannot be set when column is required.", - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -28001,7 +28157,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28236,7 +28393,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28470,7 +28628,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28704,7 +28863,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28821,12 +28981,14 @@ "key": { "type": "string", "description": "Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -28948,7 +29110,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -29074,12 +29237,14 @@ "size": { "type": "integer", "description": "Maximum size of the string column.", - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29184,7 +29349,8 @@ "default": { "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -29304,7 +29470,8 @@ "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29605,12 +29772,14 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -30279,7 +30448,8 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "rows": { "type": "array", @@ -30292,7 +30462,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30420,7 +30591,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -30526,7 +30698,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30624,7 +30797,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30879,12 +31053,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30995,12 +31171,14 @@ "x-example": "[\"read(\"any\")\"]", "items": { "type": "string" - } + }, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31096,7 +31274,8 @@ "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31216,12 +31395,14 @@ "min": { "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31341,12 +31522,14 @@ "max": { "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -32959,12 +33142,14 @@ "email": { "type": "string", "description": "User email.", - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/app/config/specs/swagger2-1.8.x-client.json b/app/config/specs/swagger2-1.8.x-client.json index a304a7cb1a..1594f816ef 100644 --- a/app/config/specs/swagger2-1.8.x-client.json +++ b/app/config/specs/swagger2-1.8.x-client.json @@ -6400,6 +6400,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6417,7 +6418,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6657,6 +6659,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6665,7 +6668,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -6771,6 +6775,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6779,7 +6784,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6870,7 +6876,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6982,13 +6989,15 @@ "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -7100,13 +7109,15 @@ "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -7305,7 +7316,8 @@ "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", "default": null, - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -8417,13 +8429,15 @@ "type": "string", "description": "Name of the file", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", "description": "An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9516,6 +9530,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9533,7 +9548,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9766,6 +9782,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9774,7 +9791,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9876,6 +9894,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9884,7 +9903,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9974,7 +9994,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10085,13 +10106,15 @@ "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10202,13 +10225,15 @@ "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index 158b308f87..5f05314818 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -7168,6 +7168,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -7350,6 +7351,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -7625,7 +7627,8 @@ "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7743,7 +7746,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7965,7 +7969,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8069,7 +8074,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -8187,7 +8193,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8300,7 +8307,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -8428,7 +8436,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8533,19 +8542,22 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8656,13 +8668,15 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8675,7 +8689,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8779,19 +8794,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8902,13 +8920,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8921,7 +8941,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9025,7 +9046,8 @@ "type": "string", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -9143,7 +9165,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9360,7 +9383,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9576,7 +9600,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9792,7 +9817,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9909,13 +9935,15 @@ "type": "string", "description": "Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -10038,7 +10066,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -10163,13 +10192,15 @@ "type": "integer", "description": "Maximum size of the string attribute.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10273,7 +10304,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -10391,7 +10423,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10679,13 +10712,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10955,6 +10990,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -10972,7 +11008,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11101,7 +11138,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11206,7 +11244,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11302,7 +11341,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11542,6 +11582,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11550,7 +11591,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11656,6 +11698,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11664,7 +11707,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11755,7 +11799,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11957,13 +12002,15 @@ "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -12075,13 +12122,15 @@ "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -14896,7 +14945,8 @@ "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", "default": null, - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -15409,13 +15459,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17532,7 +17584,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17615,6 +17668,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17624,6 +17678,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17633,6 +17688,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17641,31 +17697,36 @@ "type": "string", "description": "Email Subject.", "default": null, - "x-example": "<SUBJECT>" + "x-example": "<SUBJECT>", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", "description": "Array of target IDs to be added as CC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17675,6 +17736,7 @@ "description": "Array of target IDs to be added as BCC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17683,13 +17745,15 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17806,7 +17870,8 @@ "type": "object", "description": "Additional key-value pair data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -17860,7 +17925,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -17965,6 +18031,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17974,6 +18041,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17983,6 +18051,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17991,85 +18060,99 @@ "type": "string", "description": "Title for push notification.", "default": null, - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", "default": null, - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", "default": null, - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", "default": null, - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", "default": null, - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", "default": null, - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", "default": null, - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -18081,7 +18164,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -18263,7 +18347,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -18411,6 +18496,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -18420,6 +18506,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -18429,6 +18516,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -18437,19 +18525,22 @@ "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -18989,7 +19080,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19144,7 +19236,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -19174,7 +19267,8 @@ "type": "boolean", "description": "Use APNS sandbox environment.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19317,13 +19411,15 @@ "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19470,13 +19566,15 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -19569,7 +19667,8 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19599,7 +19698,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19698,13 +19798,15 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19827,7 +19929,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19914,7 +20017,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -20043,7 +20147,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20130,7 +20235,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20271,7 +20377,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20358,7 +20465,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20626,7 +20734,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20800,7 +20909,8 @@ "type": "integer", "description": "SMTP port.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -20831,7 +20941,8 @@ "type": "boolean", "description": "Enable SMTP AutoTLS feature.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -20867,7 +20978,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -20966,7 +21078,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21053,7 +21166,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -21170,7 +21284,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21257,7 +21372,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -21374,7 +21490,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21461,7 +21578,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -21578,7 +21696,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21665,7 +21784,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -22265,13 +22385,15 @@ "type": "string", "description": "Topic Name.", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", "default": null, "x-example": "[\"any\"]", + "x-nullable": true, "items": { "type": "string" } @@ -24332,13 +24454,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -26651,6 +26775,7 @@ "description": "Key scopes list. Maximum of 100 scopes are allowed.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -26659,7 +26784,8 @@ "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26817,6 +26943,7 @@ "description": "Key scopes list. Maximum of 100 events are allowed.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -26825,7 +26952,8 @@ "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27015,19 +27143,22 @@ "type": "string", "description": "Provider app ID. Max length: 256 chars.", "default": null, - "x-example": "<APP_ID>" + "x-example": "<APP_ID>", + "x-nullable": true }, "secret": { "type": "string", "description": "Provider secret key. Max length: 512 chars.", "default": null, - "x-example": "<SECRET>" + "x-example": "<SECRET>", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Provider status. Set to 'false' to disable new session creation.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -33273,13 +33404,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -33504,6 +33637,7 @@ "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -33702,6 +33836,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -34146,13 +34281,15 @@ "type": "string", "description": "Name of the file", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", "description": "An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -35796,6 +35933,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -35976,6 +36114,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -36248,7 +36387,8 @@ "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -36365,7 +36505,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36585,7 +36726,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36688,7 +36830,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -36805,7 +36948,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36917,7 +37061,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -37044,7 +37189,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37148,19 +37294,22 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37270,13 +37419,15 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -37289,7 +37440,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37392,19 +37544,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37514,13 +37669,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -37533,7 +37690,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37636,7 +37794,8 @@ "type": "string", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37753,7 +37912,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37968,7 +38128,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38182,7 +38343,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38396,7 +38558,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38512,13 +38675,15 @@ "type": "string", "description": "Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -38640,7 +38805,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -38764,13 +38930,15 @@ "type": "integer", "description": "Maximum size of the string column.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38873,7 +39041,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -38990,7 +39159,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -39275,13 +39445,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -39993,6 +40165,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -40010,7 +40183,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40134,7 +40308,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -40238,7 +40413,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40333,7 +40509,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40566,6 +40743,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -40574,7 +40752,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40676,6 +40855,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -40684,7 +40864,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40774,7 +40955,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40974,13 +41156,15 @@ "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -41091,13 +41275,15 @@ "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -42915,13 +43101,15 @@ "type": "string", "description": "User email.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", "default": null, - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index 8b972be590..15606799ea 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -6620,6 +6620,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6804,6 +6805,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -7082,7 +7084,8 @@ "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7201,7 +7204,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7425,7 +7429,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7530,7 +7535,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -7649,7 +7655,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7763,7 +7770,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -7892,7 +7900,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7998,19 +8007,22 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8122,13 +8134,15 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8141,7 +8155,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8246,19 +8261,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8370,13 +8388,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8389,7 +8409,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8494,7 +8515,8 @@ "type": "string", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8613,7 +8635,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8832,7 +8855,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9050,7 +9074,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9268,7 +9293,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9386,13 +9412,15 @@ "type": "string", "description": "Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -9516,7 +9544,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -9642,13 +9671,15 @@ "type": "integer", "description": "Maximum size of the string attribute.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9753,7 +9784,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -9872,7 +9904,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10163,13 +10196,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10445,6 +10480,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -10462,7 +10498,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10593,7 +10630,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -10699,7 +10737,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10796,7 +10835,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11041,6 +11081,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11049,7 +11090,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11157,6 +11199,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11165,7 +11208,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11258,7 +11302,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11372,13 +11417,15 @@ "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11492,13 +11539,15 @@ "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -13721,7 +13770,8 @@ "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", "default": null, - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -14163,13 +14213,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -16331,7 +16383,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -16415,6 +16468,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16424,6 +16478,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16433,6 +16488,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16441,31 +16497,36 @@ "type": "string", "description": "Email Subject.", "default": null, - "x-example": "<SUBJECT>" + "x-example": "<SUBJECT>", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", "description": "Array of target IDs to be added as CC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16475,6 +16536,7 @@ "description": "Array of target IDs to be added as BCC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16483,13 +16545,15 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16607,7 +16671,8 @@ "type": "object", "description": "Additional key-value pair data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -16661,7 +16726,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -16767,6 +16833,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16776,6 +16843,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16785,6 +16853,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16793,85 +16862,99 @@ "type": "string", "description": "Title for push notification.", "default": null, - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", "default": null, - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", "default": null, - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", "default": null, - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", "default": null, - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", "default": null, - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", "default": null, - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -16883,7 +16966,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -17068,7 +17152,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17219,6 +17304,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17228,6 +17314,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17237,6 +17324,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17245,19 +17333,22 @@ "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -17805,7 +17896,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17963,7 +18055,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -17993,7 +18086,8 @@ "type": "boolean", "description": "Use APNS sandbox environment.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -18139,13 +18233,15 @@ "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18295,13 +18391,15 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -18395,7 +18493,8 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18425,7 +18524,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18525,13 +18625,15 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18655,7 +18757,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18743,7 +18846,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -18873,7 +18977,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18961,7 +19066,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19103,7 +19209,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19191,7 +19298,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19462,7 +19570,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19639,7 +19748,8 @@ "type": "integer", "description": "SMTP port.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -19670,7 +19780,8 @@ "type": "boolean", "description": "Enable SMTP AutoTLS feature.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -19706,7 +19817,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19806,7 +19918,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19894,7 +20007,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -20012,7 +20126,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20100,7 +20215,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -20218,7 +20334,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20306,7 +20423,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -20424,7 +20542,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20512,7 +20631,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -21120,13 +21240,15 @@ "type": "string", "description": "Topic Name.", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", "default": null, "x-example": "[\"any\"]", + "x-nullable": true, "items": { "type": "string" } @@ -23782,13 +23904,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -24016,6 +24140,7 @@ "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -24216,6 +24341,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -24669,13 +24795,15 @@ "type": "string", "description": "Name of the file", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", "description": "An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -26103,6 +26231,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -26285,6 +26414,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -26560,7 +26690,8 @@ "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -26678,7 +26809,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26900,7 +27032,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27004,7 +27137,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -27122,7 +27256,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27235,7 +27370,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -27363,7 +27499,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27468,19 +27605,22 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27591,13 +27731,15 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -27610,7 +27752,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27714,19 +27857,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27837,13 +27983,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -27856,7 +28004,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27960,7 +28109,8 @@ "type": "string", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -28078,7 +28228,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28295,7 +28446,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28511,7 +28663,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28727,7 +28880,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28844,13 +28998,15 @@ "type": "string", "description": "Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -28973,7 +29129,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -29098,13 +29255,15 @@ "type": "integer", "description": "Maximum size of the string column.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29208,7 +29367,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -29326,7 +29486,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29614,13 +29775,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -30261,6 +30424,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -30278,7 +30442,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30404,7 +30569,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -30509,7 +30675,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30605,7 +30772,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30843,6 +31011,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -30851,7 +31020,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30955,6 +31125,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -30963,7 +31134,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31055,7 +31227,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31168,13 +31341,15 @@ "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31287,13 +31462,15 @@ "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -32870,13 +33047,15 @@ "type": "string", "description": "User email.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", "default": null, - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/app/config/specs/swagger2-latest-client.json b/app/config/specs/swagger2-latest-client.json index a304a7cb1a..1594f816ef 100644 --- a/app/config/specs/swagger2-latest-client.json +++ b/app/config/specs/swagger2-latest-client.json @@ -6400,6 +6400,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6417,7 +6418,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6657,6 +6659,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6665,7 +6668,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -6771,6 +6775,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6779,7 +6784,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6870,7 +6876,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -6982,13 +6989,15 @@ "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -7100,13 +7109,15 @@ "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -7305,7 +7316,8 @@ "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", "default": null, - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -8417,13 +8429,15 @@ "type": "string", "description": "Name of the file", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", "description": "An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9516,6 +9530,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9533,7 +9548,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9766,6 +9782,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9774,7 +9791,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9876,6 +9894,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -9884,7 +9903,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -9974,7 +9994,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10085,13 +10106,15 @@ "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10202,13 +10225,15 @@ "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 158b308f87..5f05314818 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -7168,6 +7168,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -7350,6 +7351,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -7625,7 +7627,8 @@ "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7743,7 +7746,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7965,7 +7969,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8069,7 +8074,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -8187,7 +8193,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8300,7 +8307,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -8428,7 +8436,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8533,19 +8542,22 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8656,13 +8668,15 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8675,7 +8689,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8779,19 +8794,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8902,13 +8920,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8921,7 +8941,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9025,7 +9046,8 @@ "type": "string", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -9143,7 +9165,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9360,7 +9383,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9576,7 +9600,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9792,7 +9817,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9909,13 +9935,15 @@ "type": "string", "description": "Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -10038,7 +10066,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -10163,13 +10192,15 @@ "type": "integer", "description": "Maximum size of the string attribute.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10273,7 +10304,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -10391,7 +10423,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10679,13 +10712,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10955,6 +10990,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -10972,7 +11008,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11101,7 +11138,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11206,7 +11244,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11302,7 +11341,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11542,6 +11582,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11550,7 +11591,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11656,6 +11698,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11664,7 +11707,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11755,7 +11799,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11957,13 +12002,15 @@ "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -12075,13 +12122,15 @@ "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -14896,7 +14945,8 @@ "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", "default": null, - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -15409,13 +15459,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17532,7 +17584,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17615,6 +17668,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17624,6 +17678,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17633,6 +17688,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17641,31 +17697,36 @@ "type": "string", "description": "Email Subject.", "default": null, - "x-example": "<SUBJECT>" + "x-example": "<SUBJECT>", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", "description": "Array of target IDs to be added as CC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17675,6 +17736,7 @@ "description": "Array of target IDs to be added as BCC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17683,13 +17745,15 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17806,7 +17870,8 @@ "type": "object", "description": "Additional key-value pair data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -17860,7 +17925,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -17965,6 +18031,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17974,6 +18041,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17983,6 +18051,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17991,85 +18060,99 @@ "type": "string", "description": "Title for push notification.", "default": null, - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", "default": null, - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", "default": null, - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", "default": null, - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", "default": null, - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", "default": null, - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", "default": null, - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -18081,7 +18164,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -18263,7 +18347,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -18411,6 +18496,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -18420,6 +18506,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -18429,6 +18516,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -18437,19 +18525,22 @@ "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -18989,7 +19080,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19144,7 +19236,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -19174,7 +19267,8 @@ "type": "boolean", "description": "Use APNS sandbox environment.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19317,13 +19411,15 @@ "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19470,13 +19566,15 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -19569,7 +19667,8 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19599,7 +19698,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19698,13 +19798,15 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -19827,7 +19929,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19914,7 +20017,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -20043,7 +20147,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20130,7 +20235,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20271,7 +20377,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20358,7 +20465,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -20626,7 +20734,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20800,7 +20909,8 @@ "type": "integer", "description": "SMTP port.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -20831,7 +20941,8 @@ "type": "boolean", "description": "Enable SMTP AutoTLS feature.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -20867,7 +20978,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -20966,7 +21078,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21053,7 +21166,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -21170,7 +21284,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21257,7 +21372,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -21374,7 +21490,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21461,7 +21578,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -21578,7 +21696,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -21665,7 +21784,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -22265,13 +22385,15 @@ "type": "string", "description": "Topic Name.", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", "default": null, "x-example": "[\"any\"]", + "x-nullable": true, "items": { "type": "string" } @@ -24332,13 +24454,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only projects can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -26651,6 +26775,7 @@ "description": "Key scopes list. Maximum of 100 scopes are allowed.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -26659,7 +26784,8 @@ "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26817,6 +26943,7 @@ "description": "Key scopes list. Maximum of 100 events are allowed.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -26825,7 +26952,8 @@ "type": "string", "description": "Expiration time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27015,19 +27143,22 @@ "type": "string", "description": "Provider app ID. Max length: 256 chars.", "default": null, - "x-example": "<APP_ID>" + "x-example": "<APP_ID>", + "x-nullable": true }, "secret": { "type": "string", "description": "Provider secret key. Max length: 512 chars.", "default": null, - "x-example": "<SECRET>" + "x-example": "<SECRET>", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Provider status. Set to 'false' to disable new session creation.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -33273,13 +33404,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -33504,6 +33637,7 @@ "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -33702,6 +33836,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -34146,13 +34281,15 @@ "type": "string", "description": "Name of the file", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", "description": "An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -35796,6 +35933,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -35976,6 +36114,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -36248,7 +36387,8 @@ "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -36365,7 +36505,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36585,7 +36726,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36688,7 +36830,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -36805,7 +36948,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -36917,7 +37061,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -37044,7 +37189,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37148,19 +37294,22 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37270,13 +37419,15 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -37289,7 +37440,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37392,19 +37544,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37514,13 +37669,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -37533,7 +37690,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37636,7 +37794,8 @@ "type": "string", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -37753,7 +37912,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -37968,7 +38128,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38182,7 +38343,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38396,7 +38558,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38512,13 +38675,15 @@ "type": "string", "description": "Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -38640,7 +38805,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -38764,13 +38930,15 @@ "type": "integer", "description": "Maximum size of the string column.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -38873,7 +39041,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -38990,7 +39159,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -39275,13 +39445,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -39993,6 +40165,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -40010,7 +40183,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40134,7 +40308,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -40238,7 +40413,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40333,7 +40509,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40566,6 +40743,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -40574,7 +40752,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40676,6 +40855,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -40684,7 +40864,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40774,7 +40955,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -40974,13 +41156,15 @@ "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -41091,13 +41275,15 @@ "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -42915,13 +43101,15 @@ "type": "string", "description": "User email.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", "default": null, - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index 8b972be590..15606799ea 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -6620,6 +6620,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -6804,6 +6805,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -7082,7 +7084,8 @@ "type": "boolean", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -7201,7 +7204,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7425,7 +7429,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7530,7 +7535,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -7649,7 +7655,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7763,7 +7770,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -7892,7 +7900,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -7998,19 +8007,22 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8122,13 +8134,15 @@ "type": "number", "description": "Minimum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -8141,7 +8155,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8246,19 +8261,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8370,13 +8388,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -8389,7 +8409,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8494,7 +8515,8 @@ "type": "string", "description": "Default value. Cannot be set when attribute is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -8613,7 +8635,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -8832,7 +8855,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9050,7 +9074,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9268,7 +9293,8 @@ "type": "string", "description": "New attribute key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9386,13 +9412,15 @@ "type": "string", "description": "Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -9516,7 +9544,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -9642,13 +9671,15 @@ "type": "integer", "description": "Maximum size of the string attribute.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -9753,7 +9784,8 @@ "type": "string", "description": "Default value for attribute when not provided. Cannot be set when attribute is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -9872,7 +9904,8 @@ "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -10163,13 +10196,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Attribute Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -10445,6 +10480,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -10462,7 +10498,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10593,7 +10630,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -10699,7 +10737,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -10796,7 +10835,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11041,6 +11081,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11049,7 +11090,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -11157,6 +11199,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -11165,7 +11208,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11258,7 +11302,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11372,13 +11417,15 @@ "type": "number", "description": "Minimum value for the attribute. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -11492,13 +11539,15 @@ "type": "number", "description": "Maximum value for the attribute. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -13721,7 +13770,8 @@ "type": "string", "description": "Scheduled execution time in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.", "default": null, - "x-example": "<SCHEDULED_AT>" + "x-example": "<SCHEDULED_AT>", + "x-nullable": true } } } @@ -14163,13 +14213,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only functions can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -16331,7 +16383,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -16415,6 +16468,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16424,6 +16478,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16433,6 +16488,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16441,31 +16497,36 @@ "type": "string", "description": "Email Subject.", "default": null, - "x-example": "<SUBJECT>" + "x-example": "<SUBJECT>", + "x-nullable": true }, "content": { "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "html": { "type": "boolean", "description": "Is content of type HTML", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "cc": { "type": "array", "description": "Array of target IDs to be added as CC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16475,6 +16536,7 @@ "description": "Array of target IDs to be added as BCC.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16483,13 +16545,15 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "attachments": { "type": "array", "description": "Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16607,7 +16671,8 @@ "type": "object", "description": "Additional key-value pair data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", @@ -16661,7 +16726,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", @@ -16767,6 +16833,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16776,6 +16843,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16785,6 +16853,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -16793,85 +16862,99 @@ "type": "string", "description": "Title for push notification.", "default": null, - "x-example": "<TITLE>" + "x-example": "<TITLE>", + "x-nullable": true }, "body": { "type": "string", "description": "Body for push notification.", "default": null, - "x-example": "<BODY>" + "x-example": "<BODY>", + "x-nullable": true }, "data": { "type": "object", "description": "Additional Data for push notification.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "action": { "type": "string", "description": "Action for push notification.", "default": null, - "x-example": "<ACTION>" + "x-example": "<ACTION>", + "x-nullable": true }, "image": { "type": "string", "description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.", "default": null, - "x-example": "<ID1:ID2>" + "x-example": "<ID1:ID2>", + "x-nullable": true }, "icon": { "type": "string", "description": "Icon for push notification. Available only for Android and Web platforms.", "default": null, - "x-example": "<ICON>" + "x-example": "<ICON>", + "x-nullable": true }, "sound": { "type": "string", "description": "Sound for push notification. Available only for Android and iOS platforms.", "default": null, - "x-example": "<SOUND>" + "x-example": "<SOUND>", + "x-nullable": true }, "color": { "type": "string", "description": "Color for push notification. Available only for Android platforms.", "default": null, - "x-example": "<COLOR>" + "x-example": "<COLOR>", + "x-nullable": true }, "tag": { "type": "string", "description": "Tag for push notification. Available only for Android platforms.", "default": null, - "x-example": "<TAG>" + "x-example": "<TAG>", + "x-nullable": true }, "badge": { "type": "integer", "description": "Badge for push notification. Available only for iOS platforms.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "contentAvailable": { "type": "boolean", "description": "If set to true, the notification will be delivered in the background. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "critical": { "type": "boolean", "description": "If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "priority": { "type": "string", @@ -16883,7 +16966,8 @@ "high" ], "x-enum-name": "MessagePriority", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true } } } @@ -17068,7 +17152,8 @@ "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -17219,6 +17304,7 @@ "description": "List of Topic IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17228,6 +17314,7 @@ "description": "List of User IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17237,6 +17324,7 @@ "description": "List of Targets IDs.", "default": null, "x-example": null, + "x-nullable": true, "items": { "type": "string" } @@ -17245,19 +17333,22 @@ "type": "string", "description": "Email Content.", "default": null, - "x-example": "<CONTENT>" + "x-example": "<CONTENT>", + "x-nullable": true }, "draft": { "type": "boolean", "description": "Is message a draft", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "scheduledAt": { "type": "string", "description": "Scheduled delivery time for message in [ISO 8601](https:\/\/www.iso.org\/iso-8601-date-and-time-format.html) format. DateTime value must be in future.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -17805,7 +17896,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -17963,7 +18055,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "authKey": { "type": "string", @@ -17993,7 +18086,8 @@ "type": "boolean", "description": "Use APNS sandbox environment.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -18139,13 +18233,15 @@ "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18295,13 +18391,15 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "serviceAccountJSON": { "type": "object", "description": "FCM service account JSON.", "default": {}, - "x-example": "{}" + "x-example": "{}", + "x-nullable": true } } } @@ -18395,7 +18493,8 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18425,7 +18524,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18525,13 +18625,15 @@ "type": "boolean", "description": "Set as EU region.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "enabled": { "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "fromName": { "type": "string", @@ -18655,7 +18757,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18743,7 +18846,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "templateId": { "type": "string", @@ -18873,7 +18977,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -18961,7 +19066,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19103,7 +19209,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19191,7 +19298,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -19462,7 +19570,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19639,7 +19748,8 @@ "type": "integer", "description": "SMTP port.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "username": { "type": "string", @@ -19670,7 +19780,8 @@ "type": "boolean", "description": "Enable SMTP AutoTLS feature.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "mailer": { "type": "string", @@ -19706,7 +19817,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } } } @@ -19806,7 +19918,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -19894,7 +20007,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "customerId": { "type": "string", @@ -20012,7 +20126,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20100,7 +20215,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "username": { "type": "string", @@ -20218,7 +20334,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20306,7 +20423,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "accountSid": { "type": "string", @@ -20424,7 +20542,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -20512,7 +20631,8 @@ "type": "boolean", "description": "Set as enabled.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "apiKey": { "type": "string", @@ -21120,13 +21240,15 @@ "type": "string", "description": "Topic Name.", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "subscribe": { "type": "array", "description": "An array of role strings with subscribe permission. By default all users are granted with any subscribe permission. [learn more about roles](https:\/\/appwrite.io\/docs\/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.", "default": null, "x-example": "[\"any\"]", + "x-nullable": true, "items": { "type": "string" } @@ -23782,13 +23904,15 @@ "type": "string", "description": "Variable value. Max length: 8192 chars.", "default": null, - "x-example": "<VALUE>" + "x-example": "<VALUE>", + "x-nullable": true }, "secret": { "type": "boolean", "description": "Secret variables can be updated or deleted, but only sites can read them during build and runtime.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true } }, "required": [ @@ -24016,6 +24140,7 @@ "description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -24216,6 +24341,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -24669,13 +24795,15 @@ "type": "string", "description": "Name of the file", "default": null, - "x-example": "<NAME>" + "x-example": "<NAME>", + "x-nullable": true }, "permissions": { "type": "array", "description": "An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -26103,6 +26231,7 @@ "description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -26285,6 +26414,7 @@ "description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -26560,7 +26690,8 @@ "type": "boolean", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": false + "x-example": false, + "x-nullable": true }, "array": { "type": "boolean", @@ -26678,7 +26809,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -26900,7 +27032,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27004,7 +27137,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -27122,7 +27256,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27235,7 +27370,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -27363,7 +27499,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27468,19 +27605,22 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", "description": "Default value. Cannot be set when required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27591,13 +27731,15 @@ "type": "number", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "number", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "number", @@ -27610,7 +27752,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27714,19 +27857,22 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -27837,13 +27983,15 @@ "type": "integer", "description": "Minimum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "max": { "type": "integer", "description": "Maximum value", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "default": { "type": "integer", @@ -27856,7 +28004,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -27960,7 +28109,8 @@ "type": "string", "description": "Default value. Cannot be set when column is required.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "array": { "type": "boolean", @@ -28078,7 +28228,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28295,7 +28446,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28511,7 +28663,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28727,7 +28880,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -28844,13 +28998,15 @@ "type": "string", "description": "Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "twoWayKey": { "type": "string", "description": "Two Way Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "onDelete": { "type": "string", @@ -28973,7 +29129,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "<DEFAULT>" + "x-example": "<DEFAULT>", + "x-nullable": true }, "array": { "type": "boolean", @@ -29098,13 +29255,15 @@ "type": "integer", "description": "Maximum size of the string column.", "default": null, - "x-example": 1 + "x-example": 1, + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29208,7 +29367,8 @@ "type": "string", "description": "Default value for column when not provided. Cannot be set when column is required.", "default": null, - "x-example": "https:\/\/example.com" + "x-example": "https:\/\/example.com", + "x-nullable": true }, "array": { "type": "boolean", @@ -29326,7 +29486,8 @@ "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } }, "required": [ @@ -29614,13 +29775,15 @@ "setNull" ], "x-enum-name": "RelationMutate", - "x-enum-keys": [] + "x-enum-keys": [], + "x-nullable": true }, "newKey": { "type": "string", "description": "New Column Key.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true } } } @@ -30261,6 +30424,7 @@ "description": "An array of permissions strings. By default, only the current user is granted all permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -30278,7 +30442,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30404,7 +30569,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } }, "required": [ @@ -30509,7 +30675,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30605,7 +30772,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30843,6 +31011,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -30851,7 +31020,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -30955,6 +31125,7 @@ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).", "default": null, "x-example": "[\"read(\"any\")\"]", + "x-nullable": true, "items": { "type": "string" } @@ -30963,7 +31134,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31055,7 +31227,8 @@ "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31168,13 +31341,15 @@ "type": "number", "description": "Minimum value for the column. If the current value is lesser than this value, an exception will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -31287,13 +31462,15 @@ "type": "number", "description": "Maximum value for the column. If the current value is greater than this value, an error will be thrown.", "default": null, - "x-example": null + "x-example": null, + "x-nullable": true }, "transactionId": { "type": "string", "description": "Transaction ID for staging the operation.", "default": null, - "x-example": "<TRANSACTION_ID>" + "x-example": "<TRANSACTION_ID>", + "x-nullable": true } } } @@ -32870,13 +33047,15 @@ "type": "string", "description": "User email.", "default": null, - "x-example": "email@example.com" + "x-example": "email@example.com", + "x-nullable": true }, "phone": { "type": "string", "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.", "default": null, - "x-example": "+12065550100" + "x-example": "+12065550100", + "x-nullable": true }, "password": { "type": "string", diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php index 88f22c2594..d8f50a5578 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php @@ -21,6 +21,7 @@ use Utopia\Database\Helpers\ID; use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; class Delete extends Action { diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php index d18a81c1af..4c8b599c8c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php @@ -10,6 +10,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; +use Utopia\Validator\Nullable; class Delete extends DocumentDelete { From 74492ded447f8eae3b66709504b02f74688477d3 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal <chiragaggarwal5k@gmail.com> Date: Mon, 10 Nov 2025 11:35:25 +0530 Subject: [PATCH 3/3] update description --- .../Platform/Modules/Databases/Http/TablesDB/Tables/Update.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php index a6cb611870..a4bfb5bf23 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php @@ -57,7 +57,7 @@ class Update extends CollectionUpdate ->param('tableId', '', new UID(), 'Table ID.') ->param('name', null, new Text(128), 'Table name. Max length: 128 chars.') ->param('permissions', null, new Nullable(new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE)), 'An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) - ->param('rowSecurity', false, new Boolean(true), 'Enables configuring permissions for individual rows. A user needs one of row or table level permissions to access a document. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) + ->param('rowSecurity', false, new Boolean(true), 'Enables configuring permissions for individual rows. A user needs one of row or table-level permissions to access a row. [Learn more about permissions](https://appwrite.io/docs/permissions).', true) ->param('enabled', true, new Boolean(), 'Is table enabled? When set to \'disabled\', users cannot access the table but Server SDKs with and API key can still read and write to the table. No data is lost when this is toggled.', true) ->inject('response') ->inject('dbForProject')