From 8fe1ec48d05ab591a56c79bbbfa53f77710091ff Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Wed, 3 Dec 2025 09:28:39 +0530 Subject: [PATCH] chore: browser permissions enum --- app/config/specs/open-api3-1.8.x-client.json | 44 +- app/config/specs/open-api3-1.8.x-console.json | 627 +++++++++++++++++- app/config/specs/open-api3-1.8.x-server.json | 182 ++++- app/config/specs/open-api3-latest-client.json | 44 +- .../specs/open-api3-latest-console.json | 627 +++++++++++++++++- app/config/specs/open-api3-latest-server.json | 182 ++++- app/config/specs/swagger2-1.8.x-client.json | 44 +- app/config/specs/swagger2-1.8.x-console.json | 627 +++++++++++++++++- app/config/specs/swagger2-1.8.x-server.json | 182 ++++- app/config/specs/swagger2-latest-client.json | 44 +- app/config/specs/swagger2-latest-console.json | 627 +++++++++++++++++- app/config/specs/swagger2-latest-server.json | 182 ++++- src/Appwrite/SDK/Specification/Format.php | 6 + .../SDK/Specification/Format/OpenAPI3.php | 79 ++- .../SDK/Specification/Format/Swagger2.php | 65 +- 15 files changed, 3393 insertions(+), 169 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 e7d3621e61..2faa0b3c8b 100644 --- a/app/config/specs/open-api3-1.8.x-client.json +++ b/app/config/specs/open-api3-1.8.x-client.json @@ -5572,7 +5572,31 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [] @@ -10815,7 +10839,14 @@ "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -10993,7 +11024,14 @@ "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, 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 48f234cb4e..622274c6ff 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -5577,7 +5577,31 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [] @@ -12380,7 +12404,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -13240,7 +13270,66 @@ "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -13438,7 +13527,78 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-ml-3.11", + "python-ml-3.12", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "go-1.23", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -13451,7 +13611,17 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -13883,7 +14053,66 @@ "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -22910,7 +23139,27 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -22995,7 +23244,27 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -23289,7 +23558,21 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "serviceAccount": { @@ -23362,7 +23645,21 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -23437,7 +23734,22 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "subdomain": { @@ -23545,7 +23857,22 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -23681,7 +24008,22 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -23783,7 +24125,22 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -26529,7 +26886,66 @@ "description": "List of scopes allowed for JWT key. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "duration": { @@ -26690,7 +27106,66 @@ "description": "Key scopes list. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "x-nullable": true }, @@ -26863,7 +27338,66 @@ "description": "Key scopes list. Maximum of 100 events are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "x-nullable": true }, @@ -31345,7 +31879,26 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -31358,7 +31911,17 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -39764,7 +40327,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -42310,7 +42879,14 @@ "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -42488,7 +43064,14 @@ "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, 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 b026fb93e2..0d448696bf 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -5293,7 +5293,31 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [] @@ -11802,7 +11826,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -12262,7 +12292,66 @@ "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -12666,7 +12755,66 @@ "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -30042,7 +30190,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -32156,7 +32310,14 @@ "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -32338,7 +32499,14 @@ "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/open-api3-latest-client.json b/app/config/specs/open-api3-latest-client.json index e7d3621e61..2faa0b3c8b 100644 --- a/app/config/specs/open-api3-latest-client.json +++ b/app/config/specs/open-api3-latest-client.json @@ -5572,7 +5572,31 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [] @@ -10815,7 +10839,14 @@ "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -10993,7 +11024,14 @@ "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index 48f234cb4e..622274c6ff 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -5577,7 +5577,31 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [] @@ -12380,7 +12404,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -13240,7 +13270,66 @@ "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -13438,7 +13527,78 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-ml-3.11", + "python-ml-3.12", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "go-1.23", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -13451,7 +13611,17 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -13883,7 +14053,66 @@ "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -22910,7 +23139,27 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -22995,7 +23244,27 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -23289,7 +23558,21 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "serviceAccount": { @@ -23362,7 +23645,21 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -23437,7 +23734,22 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "subdomain": { @@ -23545,7 +23857,22 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -23681,7 +24008,22 @@ "description": "List of resources to migrate", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -23783,7 +24125,22 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "in": "query" @@ -26529,7 +26886,66 @@ "description": "List of scopes allowed for JWT key. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "duration": { @@ -26690,7 +27106,66 @@ "description": "Key scopes list. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "x-nullable": true }, @@ -26863,7 +27338,66 @@ "description": "Key scopes list. Maximum of 100 events are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "x-nullable": true }, @@ -31345,7 +31879,26 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -31358,7 +31911,17 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [] }, @@ -39764,7 +40327,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -42310,7 +42879,14 @@ "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -42488,7 +43064,14 @@ "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index b026fb93e2..0d448696bf 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -5293,7 +5293,31 @@ "schema": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [] @@ -11802,7 +11826,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -12262,7 +12292,66 @@ "description": "List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -12666,7 +12755,66 @@ "description": "List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -30042,7 +30190,13 @@ "description": "Array of index orders. Maximum of 100 orders are allowed.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -32156,7 +32310,14 @@ "description": "Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -32338,7 +32499,14 @@ "description": "An array of strings. Use this param to set the user's roles in the team. A role can be any string. Learn more about [roles and permissions](https:\/\/appwrite.io\/docs\/permissions). Maximum of 100 roles are allowed, each 32 characters long.", "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/swagger2-1.8.x-client.json b/app/config/specs/swagger2-1.8.x-client.json index 75c4f7406d..cecedd0a26 100644 --- a/app/config/specs/swagger2-1.8.x-client.json +++ b/app/config/specs/swagger2-1.8.x-client.json @@ -5688,7 +5688,31 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [], @@ -10789,7 +10813,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -10960,7 +10991,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index c1c68cafa4..010a25d234 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -5703,7 +5703,31 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [], @@ -12341,7 +12365,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -13185,7 +13215,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -13388,7 +13477,78 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-ml-3.11", + "python-ml-3.12", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "go-1.23", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -13400,7 +13560,17 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -13829,7 +13999,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -23011,7 +23240,27 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -23098,7 +23347,27 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -23406,7 +23675,21 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "serviceAccount": { @@ -23479,7 +23762,21 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -23555,7 +23852,22 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "subdomain": { @@ -23669,7 +23981,22 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -23794,7 +24121,22 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -23901,7 +24243,22 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -26631,7 +26988,66 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "duration": { @@ -26790,7 +27206,66 @@ "x-example": null, "x-nullable": true, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "expire": { @@ -26958,7 +27433,66 @@ "x-example": null, "x-nullable": true, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "expire": { @@ -31454,7 +31988,26 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -31466,7 +32019,17 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -39704,7 +40267,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -42156,7 +42725,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -42327,7 +42903,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index 85d5219b10..dd2a3fb93f 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -5415,7 +5415,31 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [], @@ -11760,7 +11784,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -12222,7 +12252,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -12639,7 +12728,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -30043,7 +30191,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -32090,7 +32244,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -32265,7 +32426,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/swagger2-latest-client.json b/app/config/specs/swagger2-latest-client.json index 75c4f7406d..cecedd0a26 100644 --- a/app/config/specs/swagger2-latest-client.json +++ b/app/config/specs/swagger2-latest-client.json @@ -5688,7 +5688,31 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [], @@ -10789,7 +10813,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -10960,7 +10991,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index c1c68cafa4..010a25d234 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -5703,7 +5703,31 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [], @@ -12341,7 +12365,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -13185,7 +13215,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -13388,7 +13477,78 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "node-14.5", + "node-16.0", + "node-18.0", + "node-19.0", + "node-20.0", + "node-21.0", + "node-22", + "php-8.0", + "php-8.1", + "php-8.2", + "php-8.3", + "ruby-3.0", + "ruby-3.1", + "ruby-3.2", + "ruby-3.3", + "python-3.8", + "python-3.9", + "python-3.10", + "python-3.11", + "python-3.12", + "python-ml-3.11", + "python-ml-3.12", + "deno-1.21", + "deno-1.24", + "deno-1.35", + "deno-1.40", + "deno-1.46", + "deno-2.0", + "dart-2.15", + "dart-2.16", + "dart-2.17", + "dart-2.18", + "dart-2.19", + "dart-3.0", + "dart-3.1", + "dart-3.3", + "dart-3.5", + "dart-3.8", + "dart-3.9", + "dotnet-6.0", + "dotnet-7.0", + "dotnet-8.0", + "java-8.0", + "java-11.0", + "java-17.0", + "java-18.0", + "java-21.0", + "java-22", + "swift-5.5", + "swift-5.8", + "swift-5.9", + "swift-5.10", + "kotlin-1.6", + "kotlin-1.8", + "kotlin-1.9", + "kotlin-2.0", + "cpp-17", + "cpp-20", + "bun-1.0", + "bun-1.1", + "go-1.23", + "static-1", + "flutter-3.24", + "flutter-3.27", + "flutter-3.29", + "flutter-3.32", + "flutter-3.35" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -13400,7 +13560,17 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -13829,7 +13999,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -23011,7 +23240,27 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -23098,7 +23347,27 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "team", + "membership", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file", + "function", + "deployment", + "environment-variable" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -23406,7 +23675,21 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "serviceAccount": { @@ -23479,7 +23762,21 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -23555,7 +23852,22 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "subdomain": { @@ -23669,7 +23981,22 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -23794,7 +24121,22 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "endpoint": { @@ -23901,7 +24243,22 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "user", + "database", + "table", + "column", + "index", + "row", + "document", + "attribute", + "collection", + "bucket", + "file" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "in": "query" }, @@ -26631,7 +26988,66 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "duration": { @@ -26790,7 +27206,66 @@ "x-example": null, "x-nullable": true, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "expire": { @@ -26958,7 +27433,66 @@ "x-example": null, "x-nullable": true, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "expire": { @@ -31454,7 +31988,26 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "analog", + "angular", + "nextjs", + "react", + "nuxt", + "vue", + "sveltekit", + "astro", + "tanstack-start", + "remix", + "lynx", + "flutter", + "react-native", + "vite", + "other" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -31466,7 +32019,17 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "dev-tools", + "starter", + "databases", + "ai", + "messaging", + "utilities" + ], + "x-enum-name": null, + "x-enum-keys": [] }, "default": [], "in": "query" @@ -39704,7 +40267,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -42156,7 +42725,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -42327,7 +42903,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index 85d5219b10..dd2a3fb93f 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -5415,7 +5415,31 @@ "type": "array", "collectionFormat": "multi", "items": { - "type": "string" + "type": "string", + "enum": [ + "geolocation", + "camera", + "microphone", + "notifications", + "midi", + "push", + "clipboard-read", + "clipboard-write", + "payment-handler", + "usb", + "bluetooth", + "accelerometer", + "gyroscope", + "magnetometer", + "ambient-light-sensor", + "background-sync", + "persistent-storage", + "screen-wake-lock", + "web-share", + "xr-spatial-tracking" + ], + "x-enum-name": "BrowserPermission", + "x-enum-keys": [] }, "x-example": "[\"geolocation\",\"notifications\"]", "default": [], @@ -11760,7 +11784,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -12222,7 +12252,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -12639,7 +12728,66 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "sessions.write", + "users.read", + "users.write", + "teams.read", + "teams.write", + "databases.read", + "databases.write", + "collections.read", + "collections.write", + "tables.read", + "tables.write", + "attributes.read", + "attributes.write", + "columns.read", + "columns.write", + "indexes.read", + "indexes.write", + "documents.read", + "documents.write", + "rows.read", + "rows.write", + "files.read", + "files.write", + "buckets.read", + "buckets.write", + "functions.read", + "functions.write", + "sites.read", + "sites.write", + "log.read", + "log.write", + "execution.read", + "execution.write", + "locale.read", + "avatars.read", + "health.read", + "providers.read", + "providers.write", + "messages.read", + "messages.write", + "topics.read", + "topics.write", + "subscribers.read", + "subscribers.write", + "targets.read", + "targets.write", + "rules.read", + "rules.write", + "migrations.read", + "migrations.write", + "vcs.read", + "vcs.write", + "assistant.read", + "tokens.read", + "tokens.write" + ], + "x-enum-name": null, + "x-enum-keys": [] } }, "installationId": { @@ -30043,7 +30191,13 @@ "default": [], "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "x-enum-name": "OrderBy", + "x-enum-keys": [] } }, "lengths": { @@ -32090,7 +32244,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } }, "url": { @@ -32265,7 +32426,14 @@ "default": null, "x-example": null, "items": { - "type": "string" + "type": "string", + "enum": { + "2": "admin", + "3": "developer", + "4": "owner" + }, + "x-enum-name": null, + "x-enum-keys": [] } } }, diff --git a/src/Appwrite/SDK/Specification/Format.php b/src/Appwrite/SDK/Specification/Format.php index b9e1c3b4ed..aad832a9f4 100644 --- a/src/Appwrite/SDK/Specification/Format.php +++ b/src/Appwrite/SDK/Specification/Format.php @@ -171,6 +171,12 @@ abstract class Format return 'CreditCard'; case 'getFlag': return 'Flag'; + case 'getScreenshot': + switch ($param) { + case 'permissions': + return 'BrowserPermission'; + } + break; } break; case 'databases': diff --git a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php index 3dada27890..8e6dc68dfa 100644 --- a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php +++ b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php @@ -19,7 +19,6 @@ use Utopia\Validator; use Utopia\Validator\ArrayList; use Utopia\Validator\Nullable; use Utopia\Validator\Range; -use Utopia\Validator\WhiteList; class OpenAPI3 extends Format { @@ -440,6 +439,7 @@ class OpenAPI3 extends Format $subclass = \get_class($validator->getValidator()); switch ($subclass) { case 'Appwrite\Utopia\Database\Validator\Operation': + case 'Utopia\Validator\WhiteList': $class = $subclass; break; } @@ -601,30 +601,63 @@ class OpenAPI3 extends Format } break; case 'Utopia\Validator\WhiteList': - /** @var WhiteList $validator */ - $node['schema']['type'] = $validator->getType(); - $node['schema']['x-example'] = ($param['example'] ?? '') ?: $validator->getList()[0]; + if ($array) { + $validator = $validator->getValidator(); - // Iterate from the blackList. If it matches with the current one, then it is a blackList - // Do not add the enum - $allowed = true; - foreach ($this->enumBlacklist as $blacklist) { - if ( - $blacklist['namespace'] == $sdk->getNamespace() - && $blacklist['method'] == $methodName - && $blacklist['parameter'] == $name - ) { - $allowed = false; - break; + $node['schema']['type'] = 'array'; + $node['schema']['items'] = [ + 'type' => $validator->getType(), + ]; + if (!empty($param['example'])) { + $node['schema']['x-example'] = $param['example']; + } + + // Iterate from the blackList. If it matches with the current one, then it is a blackList + // Do not add the enum + $allowed = true; + foreach ($this->enumBlacklist as $blacklist) { + if ( + $blacklist['namespace'] == $sdk->getNamespace() + && $blacklist['method'] == $methodName + && $blacklist['parameter'] == $name + ) { + $allowed = false; + break; + } + } + if ($allowed && $validator->getType() === 'string') { + $node['schema']['items']['enum'] = $validator->getList(); + $node['schema']['items']['x-enum-name'] = $this->getRequestEnumName($sdk->getNamespace() ?? '', $methodName, $name); + $node['schema']['items']['x-enum-keys'] = $this->getRequestEnumKeys($sdk->getNamespace() ?? '', $methodName, $name); + } + if ($validator->getType() === 'integer') { + $node['schema']['items']['format'] = 'int32'; + } + } else { + $node['schema']['type'] = $validator->getType(); + $node['schema']['x-example'] = ($param['example'] ?? '') ?: $validator->getList()[0]; + + // Iterate from the blackList. If it matches with the current one, then it is a blackList + // Do not add the enum + $allowed = true; + foreach ($this->enumBlacklist as $blacklist) { + if ( + $blacklist['namespace'] == $sdk->getNamespace() + && $blacklist['method'] == $methodName + && $blacklist['parameter'] == $name + ) { + $allowed = false; + break; + } + } + if ($allowed && $validator->getType() === 'string') { + $node['schema']['enum'] = $validator->getList(); + $node['schema']['x-enum-name'] = $this->getRequestEnumName($sdk->getNamespace() ?? '', $methodName, $name); + $node['schema']['x-enum-keys'] = $this->getRequestEnumKeys($sdk->getNamespace() ?? '', $methodName, $name); + } + if ($validator->getType() === 'integer') { + $node['format'] = 'int32'; } - } - if ($allowed && $validator->getType() === 'string') { - $node['schema']['enum'] = $validator->getList(); - $node['schema']['x-enum-name'] = $this->getRequestEnumName($sdk->getNamespace() ?? '', $methodName, $name); - $node['schema']['x-enum-keys'] = $this->getRequestEnumKeys($sdk->getNamespace() ?? '', $methodName, $name); - } - if ($validator->getType() === 'integer') { - $node['format'] = 'int32'; } break; case 'Appwrite\Utopia\Database\Validator\CompoundUID': diff --git a/src/Appwrite/SDK/Specification/Format/Swagger2.php b/src/Appwrite/SDK/Specification/Format/Swagger2.php index 210027fa5f..81118f5908 100644 --- a/src/Appwrite/SDK/Specification/Format/Swagger2.php +++ b/src/Appwrite/SDK/Specification/Format/Swagger2.php @@ -20,7 +20,6 @@ use Utopia\Validator; use Utopia\Validator\ArrayList; use Utopia\Validator\Nullable; use Utopia\Validator\Range; -use Utopia\Validator\WhiteList; class Swagger2 extends Format { @@ -445,6 +444,7 @@ class Swagger2 extends Format $subclass = \get_class($validator->getValidator()); switch ($subclass) { case 'Appwrite\Utopia\Database\Validator\Operation': + case 'Utopia\Validator\WhiteList': $class = $subclass; break; } @@ -590,25 +590,54 @@ class Swagger2 extends Format } break; case 'Utopia\Validator\WhiteList': - /** @var WhiteList $validator */ - $node['type'] = $validator->getType(); - $node['x-example'] = ($param['example'] ?? '') ?: $validator->getList()[0]; + if ($array) { + $validator = $validator->getValidator(); - // Iterate the blackList. If it matches with the current one, then it is blackListed - $allowed = true; - foreach ($this->enumBlacklist as $blacklist) { - if ($blacklist['namespace'] == $namespace && $blacklist['method'] == $methodName && $blacklist['parameter'] == $name) { - $allowed = false; - break; + $node['type'] = 'array'; + $node['collectionFormat'] = 'multi'; + $node['items'] = [ + 'type' => $validator->getType(), + ]; + if (!empty($param['example'])) { + $node['x-example'] = $param['example']; + } + + // Iterate the blackList. If it matches with the current one, then it is blackListed + $allowed = true; + foreach ($this->enumBlacklist as $blacklist) { + if ($blacklist['namespace'] == $namespace && $blacklist['method'] == $methodName && $blacklist['parameter'] == $name) { + $allowed = false; + break; + } + } + if ($allowed && $validator->getType() === 'string') { + $node['items']['enum'] = $validator->getList(); + $node['items']['x-enum-name'] = $this->getRequestEnumName($namespace, $methodName, $name); + $node['items']['x-enum-keys'] = $this->getRequestEnumKeys($namespace, $methodName, $name); + } + if ($validator->getType() === 'integer') { + $node['items']['format'] = 'int32'; + } + } else { + $node['type'] = $validator->getType(); + $node['x-example'] = ($param['example'] ?? '') ?: $validator->getList()[0]; + + // Iterate the blackList. If it matches with the current one, then it is blackListed + $allowed = true; + foreach ($this->enumBlacklist as $blacklist) { + if ($blacklist['namespace'] == $namespace && $blacklist['method'] == $methodName && $blacklist['parameter'] == $name) { + $allowed = false; + break; + } + } + if ($allowed && $validator->getType() === 'string') { + $node['enum'] = $validator->getList(); + $node['x-enum-name'] = $this->getRequestEnumName($namespace, $methodName, $name); + $node['x-enum-keys'] = $this->getRequestEnumKeys($namespace, $methodName, $name); + } + if ($validator->getType() === 'integer') { + $node['format'] = 'int32'; } - } - if ($allowed && $validator->getType() === 'string') { - $node['enum'] = $validator->getList(); - $node['x-enum-name'] = $this->getRequestEnumName($namespace, $methodName, $name); - $node['x-enum-keys'] = $this->getRequestEnumKeys($namespace, $methodName, $name); - } - if ($validator->getType() === 'integer') { - $node['format'] = 'int32'; } break; case 'Appwrite\Utopia\Database\Validator\CompoundUID':