mirror of
https://github.com/appwrite/appwrite
synced 2026-05-20 23:48:23 +00:00
Merge branch '1.8.x' into ser-10-oauth-auto-allow-site-domains
This commit is contained in:
commit
2f768aa30d
232 changed files with 3719 additions and 2851 deletions
|
|
@ -11,7 +11,7 @@ return [
|
|||
[
|
||||
'key' => 'web',
|
||||
'name' => 'Web',
|
||||
'version' => '19.0.0',
|
||||
'version' => '20.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-web',
|
||||
'package' => 'https://www.npmjs.com/package/appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -60,7 +60,7 @@ return [
|
|||
[
|
||||
'key' => 'flutter',
|
||||
'name' => 'Flutter',
|
||||
'version' => '18.0.0',
|
||||
'version' => '19.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-flutter',
|
||||
'package' => 'https://pub.dev/packages/appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -79,7 +79,7 @@ return [
|
|||
[
|
||||
'key' => 'apple',
|
||||
'name' => 'Apple',
|
||||
'version' => '11.0.0',
|
||||
'version' => '12.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-apple',
|
||||
'package' => 'https://github.com/appwrite/sdk-for-apple',
|
||||
'enabled' => true,
|
||||
|
|
@ -116,7 +116,7 @@ return [
|
|||
[
|
||||
'key' => 'android',
|
||||
'name' => 'Android',
|
||||
'version' => '9.0.0',
|
||||
'version' => '10.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-android',
|
||||
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-android',
|
||||
'enabled' => true,
|
||||
|
|
@ -139,7 +139,7 @@ return [
|
|||
[
|
||||
'key' => 'react-native',
|
||||
'name' => 'React Native',
|
||||
'version' => '0.12.0',
|
||||
'version' => '0.13.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-react-native',
|
||||
'package' => 'https://npmjs.com/package/react-native-appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -262,7 +262,7 @@ return [
|
|||
[
|
||||
'key' => 'nodejs',
|
||||
'name' => 'Node.js',
|
||||
'version' => '18.0.0',
|
||||
'version' => '19.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-node',
|
||||
'package' => 'https://www.npmjs.com/package/node-appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -281,7 +281,7 @@ return [
|
|||
[
|
||||
'key' => 'php',
|
||||
'name' => 'PHP',
|
||||
'version' => '16.0.0',
|
||||
'version' => '17.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-php',
|
||||
'package' => 'https://packagist.org/packages/appwrite/appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -300,7 +300,7 @@ return [
|
|||
[
|
||||
'key' => 'python',
|
||||
'name' => 'Python',
|
||||
'version' => '12.0.0',
|
||||
'version' => '13.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-python',
|
||||
'package' => 'https://pypi.org/project/appwrite/',
|
||||
'enabled' => true,
|
||||
|
|
@ -319,7 +319,7 @@ return [
|
|||
[
|
||||
'key' => 'ruby',
|
||||
'name' => 'Ruby',
|
||||
'version' => '17.0.0',
|
||||
'version' => '18.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-ruby',
|
||||
'package' => 'https://rubygems.org/gems/appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -338,7 +338,7 @@ return [
|
|||
[
|
||||
'key' => 'go',
|
||||
'name' => 'Go',
|
||||
'version' => '0.10.0',
|
||||
'version' => '0.11.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-go',
|
||||
'package' => 'https://github.com/appwrite/sdk-for-go',
|
||||
'enabled' => true,
|
||||
|
|
@ -357,7 +357,7 @@ return [
|
|||
[
|
||||
'key' => 'dotnet',
|
||||
'name' => '.NET',
|
||||
'version' => '0.16.0',
|
||||
'version' => '0.17.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-dotnet',
|
||||
'package' => 'https://www.nuget.org/packages/Appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -376,7 +376,7 @@ return [
|
|||
[
|
||||
'key' => 'dart',
|
||||
'name' => 'Dart',
|
||||
'version' => '17.0.0',
|
||||
'version' => '18.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-dart',
|
||||
'package' => 'https://pub.dev/packages/dart_appwrite',
|
||||
'enabled' => true,
|
||||
|
|
@ -395,7 +395,7 @@ return [
|
|||
[
|
||||
'key' => 'kotlin',
|
||||
'name' => 'Kotlin',
|
||||
'version' => '10.0.0',
|
||||
'version' => '11.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-kotlin',
|
||||
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-kotlin',
|
||||
'enabled' => true,
|
||||
|
|
@ -418,7 +418,7 @@ return [
|
|||
[
|
||||
'key' => 'swift',
|
||||
'name' => 'Swift',
|
||||
'version' => '11.0.0',
|
||||
'version' => '12.0.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-swift',
|
||||
'package' => 'https://github.com/appwrite/sdk-for-swift',
|
||||
'enabled' => true,
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ return [
|
|||
'name' => 'Proxy',
|
||||
'subtitle' => 'The Proxy Service allows you to configure actions for your domains beyond DNS configuration.',
|
||||
'description' => '/docs/services/proxy.md',
|
||||
'controller' => 'api/proxy.php',
|
||||
'controller' => '', // Uses modules
|
||||
'sdk' => true,
|
||||
'docs' => true,
|
||||
'docsUrl' => 'https://appwrite.io/docs/proxy',
|
||||
|
|
|
|||
|
|
@ -4830,7 +4830,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listDocuments",
|
||||
"group": "documents",
|
||||
"weight": 339,
|
||||
"weight": 335,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/list-documents.md",
|
||||
|
|
@ -4919,7 +4919,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createDocument",
|
||||
"group": "documents",
|
||||
"weight": 331,
|
||||
"weight": 327,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/create-document.md",
|
||||
|
|
@ -5069,7 +5069,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getDocument",
|
||||
"group": "documents",
|
||||
"weight": 332,
|
||||
"weight": 328,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/get-document.md",
|
||||
|
|
@ -5168,7 +5168,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertDocument",
|
||||
"group": "documents",
|
||||
"weight": 335,
|
||||
"weight": 331,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/upsert-document.md",
|
||||
|
|
@ -5316,7 +5316,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateDocument",
|
||||
"group": "documents",
|
||||
"weight": 333,
|
||||
"weight": 329,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/update-document.md",
|
||||
|
|
@ -5419,7 +5419,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteDocument",
|
||||
"group": "documents",
|
||||
"weight": 337,
|
||||
"weight": 333,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/delete-document.md",
|
||||
|
|
@ -5507,7 +5507,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 342,
|
||||
"weight": 338,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/decrement-document-attribute.md",
|
||||
|
|
@ -5626,7 +5626,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 341,
|
||||
"weight": 337,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/increment-document-attribute.md",
|
||||
|
|
@ -5745,7 +5745,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listExecutions",
|
||||
"group": "executions",
|
||||
"weight": 460,
|
||||
"weight": 456,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/list-executions.md",
|
||||
|
|
@ -5820,7 +5820,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createExecution",
|
||||
"group": "executions",
|
||||
"weight": 458,
|
||||
"weight": 454,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/create-execution.md",
|
||||
|
|
@ -5936,7 +5936,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getExecution",
|
||||
"group": "executions",
|
||||
"weight": 459,
|
||||
"weight": 455,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/get-execution.md",
|
||||
|
|
@ -6010,7 +6010,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "query",
|
||||
"group": "graphql",
|
||||
"weight": 254,
|
||||
"weight": 250,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/query.md",
|
||||
|
|
@ -6062,7 +6062,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "mutation",
|
||||
"group": "graphql",
|
||||
"weight": 253,
|
||||
"weight": 249,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/mutation.md",
|
||||
|
|
@ -6530,7 +6530,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 300,
|
||||
"weight": 296,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/create-subscriber.md",
|
||||
|
|
@ -6613,7 +6613,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 304,
|
||||
"weight": 300,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/delete-subscriber.md",
|
||||
|
|
@ -7491,7 +7491,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listRows",
|
||||
"group": "rows",
|
||||
"weight": 431,
|
||||
"weight": 427,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
|
|
@ -7579,7 +7579,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createRow",
|
||||
"group": "rows",
|
||||
"weight": 423,
|
||||
"weight": 419,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
|
|
@ -7687,7 +7687,7 @@
|
|||
},
|
||||
"rows": {
|
||||
"type": "array",
|
||||
"description": "Array of documents data as JSON objects.",
|
||||
"description": "Array of rows data as JSON objects.",
|
||||
"x-example": null,
|
||||
"items": {
|
||||
"type": "object"
|
||||
|
|
@ -7724,7 +7724,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getRow",
|
||||
"group": "rows",
|
||||
"weight": 424,
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
|
|
@ -7822,7 +7822,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertRow",
|
||||
"group": "rows",
|
||||
"weight": 427,
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
|
|
@ -7961,7 +7961,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateRow",
|
||||
"group": "rows",
|
||||
"weight": 425,
|
||||
"weight": 421,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
|
|
@ -8063,7 +8063,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteRow",
|
||||
"group": "rows",
|
||||
"weight": 429,
|
||||
"weight": 425,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
|
|
@ -8150,7 +8150,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 434,
|
||||
"weight": 430,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
|
|
@ -8268,7 +8268,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 433,
|
||||
"weight": 429,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -4830,7 +4830,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listDocuments",
|
||||
"group": "documents",
|
||||
"weight": 339,
|
||||
"weight": 335,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/list-documents.md",
|
||||
|
|
@ -4919,7 +4919,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createDocument",
|
||||
"group": "documents",
|
||||
"weight": 331,
|
||||
"weight": 327,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/create-document.md",
|
||||
|
|
@ -5069,7 +5069,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getDocument",
|
||||
"group": "documents",
|
||||
"weight": 332,
|
||||
"weight": 328,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/get-document.md",
|
||||
|
|
@ -5168,7 +5168,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertDocument",
|
||||
"group": "documents",
|
||||
"weight": 335,
|
||||
"weight": 331,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/upsert-document.md",
|
||||
|
|
@ -5316,7 +5316,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateDocument",
|
||||
"group": "documents",
|
||||
"weight": 333,
|
||||
"weight": 329,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/update-document.md",
|
||||
|
|
@ -5419,7 +5419,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteDocument",
|
||||
"group": "documents",
|
||||
"weight": 337,
|
||||
"weight": 333,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/delete-document.md",
|
||||
|
|
@ -5507,7 +5507,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 342,
|
||||
"weight": 338,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/decrement-document-attribute.md",
|
||||
|
|
@ -5626,7 +5626,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 341,
|
||||
"weight": 337,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/increment-document-attribute.md",
|
||||
|
|
@ -5745,7 +5745,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listExecutions",
|
||||
"group": "executions",
|
||||
"weight": 460,
|
||||
"weight": 456,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/list-executions.md",
|
||||
|
|
@ -5820,7 +5820,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createExecution",
|
||||
"group": "executions",
|
||||
"weight": 458,
|
||||
"weight": 454,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/create-execution.md",
|
||||
|
|
@ -5936,7 +5936,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getExecution",
|
||||
"group": "executions",
|
||||
"weight": 459,
|
||||
"weight": 455,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/get-execution.md",
|
||||
|
|
@ -6010,7 +6010,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "query",
|
||||
"group": "graphql",
|
||||
"weight": 254,
|
||||
"weight": 250,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/query.md",
|
||||
|
|
@ -6062,7 +6062,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "mutation",
|
||||
"group": "graphql",
|
||||
"weight": 253,
|
||||
"weight": 249,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/mutation.md",
|
||||
|
|
@ -6530,7 +6530,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 300,
|
||||
"weight": 296,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/create-subscriber.md",
|
||||
|
|
@ -6613,7 +6613,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 304,
|
||||
"weight": 300,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/delete-subscriber.md",
|
||||
|
|
@ -7491,7 +7491,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listRows",
|
||||
"group": "rows",
|
||||
"weight": 431,
|
||||
"weight": 427,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
|
|
@ -7579,7 +7579,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createRow",
|
||||
"group": "rows",
|
||||
"weight": 423,
|
||||
"weight": 419,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
|
|
@ -7687,7 +7687,7 @@
|
|||
},
|
||||
"rows": {
|
||||
"type": "array",
|
||||
"description": "Array of documents data as JSON objects.",
|
||||
"description": "Array of rows data as JSON objects.",
|
||||
"x-example": null,
|
||||
"items": {
|
||||
"type": "object"
|
||||
|
|
@ -7724,7 +7724,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getRow",
|
||||
"group": "rows",
|
||||
"weight": 424,
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
|
|
@ -7822,7 +7822,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertRow",
|
||||
"group": "rows",
|
||||
"weight": 427,
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
|
|
@ -7961,7 +7961,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateRow",
|
||||
"group": "rows",
|
||||
"weight": 425,
|
||||
"weight": 421,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
|
|
@ -8063,7 +8063,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteRow",
|
||||
"group": "rows",
|
||||
"weight": 429,
|
||||
"weight": 425,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
|
|
@ -8150,7 +8150,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 434,
|
||||
"weight": 430,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
|
|
@ -8268,7 +8268,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 433,
|
||||
"weight": 429,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -4972,7 +4972,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listDocuments",
|
||||
"group": "documents",
|
||||
"weight": 339,
|
||||
"weight": 335,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/list-documents.md",
|
||||
|
|
@ -5057,7 +5057,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createDocument",
|
||||
"group": "documents",
|
||||
"weight": 331,
|
||||
"weight": 327,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/create-document.md",
|
||||
|
|
@ -5204,7 +5204,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getDocument",
|
||||
"group": "documents",
|
||||
"weight": 332,
|
||||
"weight": 328,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/get-document.md",
|
||||
|
|
@ -5297,7 +5297,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertDocument",
|
||||
"group": "documents",
|
||||
"weight": 335,
|
||||
"weight": 331,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/upsert-document.md",
|
||||
|
|
@ -5440,7 +5440,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateDocument",
|
||||
"group": "documents",
|
||||
"weight": 333,
|
||||
"weight": 329,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/update-document.md",
|
||||
|
|
@ -5540,7 +5540,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteDocument",
|
||||
"group": "documents",
|
||||
"weight": 337,
|
||||
"weight": 333,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/delete-document.md",
|
||||
|
|
@ -5623,7 +5623,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 342,
|
||||
"weight": 338,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/decrement-document-attribute.md",
|
||||
|
|
@ -5735,7 +5735,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 341,
|
||||
"weight": 337,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/increment-document-attribute.md",
|
||||
|
|
@ -5845,7 +5845,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listExecutions",
|
||||
"group": "executions",
|
||||
"weight": 460,
|
||||
"weight": 456,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/list-executions.md",
|
||||
|
|
@ -5918,7 +5918,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createExecution",
|
||||
"group": "executions",
|
||||
"weight": 458,
|
||||
"weight": 454,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/create-execution.md",
|
||||
|
|
@ -6035,7 +6035,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getExecution",
|
||||
"group": "executions",
|
||||
"weight": 459,
|
||||
"weight": 455,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/get-execution.md",
|
||||
|
|
@ -6106,7 +6106,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "query",
|
||||
"group": "graphql",
|
||||
"weight": 254,
|
||||
"weight": 250,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/query.md",
|
||||
|
|
@ -6179,7 +6179,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "mutation",
|
||||
"group": "graphql",
|
||||
"weight": 253,
|
||||
"weight": 249,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/mutation.md",
|
||||
|
|
@ -6660,7 +6660,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 300,
|
||||
"weight": 296,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/create-subscriber.md",
|
||||
|
|
@ -6744,7 +6744,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 304,
|
||||
"weight": 300,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/delete-subscriber.md",
|
||||
|
|
@ -7573,7 +7573,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listRows",
|
||||
"group": "rows",
|
||||
"weight": 431,
|
||||
"weight": 427,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
|
|
@ -7657,7 +7657,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createRow",
|
||||
"group": "rows",
|
||||
"weight": 423,
|
||||
"weight": 419,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
|
|
@ -7762,7 +7762,7 @@
|
|||
},
|
||||
"rows": {
|
||||
"type": "array",
|
||||
"description": "Array of documents data as JSON objects.",
|
||||
"description": "Array of rows data as JSON objects.",
|
||||
"default": [],
|
||||
"x-example": null,
|
||||
"items": {
|
||||
|
|
@ -7799,7 +7799,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getRow",
|
||||
"group": "rows",
|
||||
"weight": 424,
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
|
|
@ -7891,7 +7891,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertRow",
|
||||
"group": "rows",
|
||||
"weight": 427,
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
|
|
@ -8025,7 +8025,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateRow",
|
||||
"group": "rows",
|
||||
"weight": 425,
|
||||
"weight": 421,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
|
|
@ -8124,7 +8124,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteRow",
|
||||
"group": "rows",
|
||||
"weight": 429,
|
||||
"weight": 425,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
|
|
@ -8206,7 +8206,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 434,
|
||||
"weight": 430,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
|
|
@ -8317,7 +8317,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 433,
|
||||
"weight": 429,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -4972,7 +4972,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listDocuments",
|
||||
"group": "documents",
|
||||
"weight": 339,
|
||||
"weight": 335,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/list-documents.md",
|
||||
|
|
@ -5057,7 +5057,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createDocument",
|
||||
"group": "documents",
|
||||
"weight": 331,
|
||||
"weight": 327,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/create-document.md",
|
||||
|
|
@ -5204,7 +5204,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getDocument",
|
||||
"group": "documents",
|
||||
"weight": 332,
|
||||
"weight": 328,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/get-document.md",
|
||||
|
|
@ -5297,7 +5297,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertDocument",
|
||||
"group": "documents",
|
||||
"weight": 335,
|
||||
"weight": 331,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/upsert-document.md",
|
||||
|
|
@ -5440,7 +5440,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateDocument",
|
||||
"group": "documents",
|
||||
"weight": 333,
|
||||
"weight": 329,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/update-document.md",
|
||||
|
|
@ -5540,7 +5540,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteDocument",
|
||||
"group": "documents",
|
||||
"weight": 337,
|
||||
"weight": 333,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/delete-document.md",
|
||||
|
|
@ -5623,7 +5623,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 342,
|
||||
"weight": 338,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/decrement-document-attribute.md",
|
||||
|
|
@ -5735,7 +5735,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementDocumentAttribute",
|
||||
"group": "documents",
|
||||
"weight": 341,
|
||||
"weight": 337,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "databases\/increment-document-attribute.md",
|
||||
|
|
@ -5845,7 +5845,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listExecutions",
|
||||
"group": "executions",
|
||||
"weight": 460,
|
||||
"weight": 456,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/list-executions.md",
|
||||
|
|
@ -5918,7 +5918,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createExecution",
|
||||
"group": "executions",
|
||||
"weight": 458,
|
||||
"weight": 454,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/create-execution.md",
|
||||
|
|
@ -6035,7 +6035,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getExecution",
|
||||
"group": "executions",
|
||||
"weight": 459,
|
||||
"weight": 455,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "functions\/get-execution.md",
|
||||
|
|
@ -6106,7 +6106,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "query",
|
||||
"group": "graphql",
|
||||
"weight": 254,
|
||||
"weight": 250,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/query.md",
|
||||
|
|
@ -6179,7 +6179,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "mutation",
|
||||
"group": "graphql",
|
||||
"weight": 253,
|
||||
"weight": 249,
|
||||
"cookies": false,
|
||||
"type": "graphql",
|
||||
"demo": "graphql\/mutation.md",
|
||||
|
|
@ -6660,7 +6660,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 300,
|
||||
"weight": 296,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/create-subscriber.md",
|
||||
|
|
@ -6744,7 +6744,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteSubscriber",
|
||||
"group": "subscribers",
|
||||
"weight": 304,
|
||||
"weight": 300,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "messaging\/delete-subscriber.md",
|
||||
|
|
@ -7573,7 +7573,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "listRows",
|
||||
"group": "rows",
|
||||
"weight": 431,
|
||||
"weight": 427,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/list-rows.md",
|
||||
|
|
@ -7657,7 +7657,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "createRow",
|
||||
"group": "rows",
|
||||
"weight": 423,
|
||||
"weight": 419,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/create-row.md",
|
||||
|
|
@ -7762,7 +7762,7 @@
|
|||
},
|
||||
"rows": {
|
||||
"type": "array",
|
||||
"description": "Array of documents data as JSON objects.",
|
||||
"description": "Array of rows data as JSON objects.",
|
||||
"default": [],
|
||||
"x-example": null,
|
||||
"items": {
|
||||
|
|
@ -7799,7 +7799,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "getRow",
|
||||
"group": "rows",
|
||||
"weight": 424,
|
||||
"weight": 420,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/get-row.md",
|
||||
|
|
@ -7891,7 +7891,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "upsertRow",
|
||||
"group": "rows",
|
||||
"weight": 427,
|
||||
"weight": 423,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/upsert-row.md",
|
||||
|
|
@ -8025,7 +8025,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "updateRow",
|
||||
"group": "rows",
|
||||
"weight": 425,
|
||||
"weight": 421,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/update-row.md",
|
||||
|
|
@ -8124,7 +8124,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "deleteRow",
|
||||
"group": "rows",
|
||||
"weight": 429,
|
||||
"weight": 425,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/delete-row.md",
|
||||
|
|
@ -8206,7 +8206,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "decrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 434,
|
||||
"weight": 430,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/decrement-row-column.md",
|
||||
|
|
@ -8317,7 +8317,7 @@
|
|||
"x-appwrite": {
|
||||
"method": "incrementRowColumn",
|
||||
"group": "rows",
|
||||
"weight": 433,
|
||||
"weight": 429,
|
||||
"cookies": false,
|
||||
"type": "",
|
||||
"demo": "tablesdb\/increment-row-column.md",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -538,7 +538,7 @@ App::get('/v1/health/queue/databases')
|
|||
->inject('response')
|
||||
->action(function (string $name, int|string $threshold, Database $queueForDatabase, Response $response) {
|
||||
$threshold = \intval($threshold);
|
||||
$size = $queueForDatabase->getSize();
|
||||
$size = $queueForDatabase->setQueue($name)->getSize();
|
||||
|
||||
if ($size >= $threshold) {
|
||||
throw new Exception(Exception::HEALTH_QUEUE_SIZE_EXCEEDED, "Queue size threshold hit. Current size is {$size} and threshold is {$threshold}.");
|
||||
|
|
|
|||
|
|
@ -1,318 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Appwrite\Event\Certificate;
|
||||
use Appwrite\Event\Delete;
|
||||
use Appwrite\Event\Event;
|
||||
use Appwrite\Extend\Exception;
|
||||
use Appwrite\Network\Validator\DNS;
|
||||
use Appwrite\SDK\AuthType;
|
||||
use Appwrite\SDK\ContentType;
|
||||
use Appwrite\SDK\Method;
|
||||
use Appwrite\SDK\Response as SDKResponse;
|
||||
use Appwrite\Utopia\Database\Validator\Queries\Rules;
|
||||
use Appwrite\Utopia\Response;
|
||||
use Utopia\App;
|
||||
use Utopia\Database\Database;
|
||||
use Utopia\Database\Document;
|
||||
use Utopia\Database\Exception\Query as QueryException;
|
||||
use Utopia\Database\Query;
|
||||
use Utopia\Database\Validator\Query\Cursor;
|
||||
use Utopia\Database\Validator\UID;
|
||||
use Utopia\Domains\Domain;
|
||||
use Utopia\Logger\Log;
|
||||
use Utopia\System\System;
|
||||
use Utopia\Validator\AnyOf;
|
||||
use Utopia\Validator\IP;
|
||||
use Utopia\Validator\Text;
|
||||
|
||||
App::get('/v1/proxy/rules')
|
||||
->groups(['api', 'proxy'])
|
||||
->desc('List rules')
|
||||
->label('scope', 'rules.read')
|
||||
->label('sdk', new Method(
|
||||
namespace: 'proxy',
|
||||
group: null,
|
||||
name: 'listRules',
|
||||
description: '/docs/references/proxy/list-rules.md',
|
||||
auth: [AuthType::ADMIN],
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_OK,
|
||||
model: Response::MODEL_PROXY_RULE_LIST,
|
||||
)
|
||||
]
|
||||
))
|
||||
->param('queries', [], new Rules(), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' queries are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long. You may filter on the following attributes: ' . implode(', ', Rules::ALLOWED_ATTRIBUTES), true)
|
||||
->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true)
|
||||
->inject('response')
|
||||
->inject('project')
|
||||
->inject('dbForPlatform')
|
||||
->action(function (array $queries, string $search, Response $response, Document $project, Database $dbForPlatform) {
|
||||
try {
|
||||
$queries = Query::parseQueries($queries);
|
||||
} catch (QueryException $e) {
|
||||
throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
$queries[] = Query::search('search', $search);
|
||||
}
|
||||
|
||||
$queries[] = Query::equal('projectInternalId', [$project->getSequence()]);
|
||||
|
||||
/**
|
||||
* Get cursor document if there was a cursor query, we use array_filter and reset for reference $cursor to $queries
|
||||
*/
|
||||
$cursor = \array_filter($queries, function ($query) {
|
||||
return \in_array($query->getMethod(), [Query::TYPE_CURSOR_AFTER, Query::TYPE_CURSOR_BEFORE]);
|
||||
});
|
||||
$cursor = reset($cursor);
|
||||
if ($cursor) {
|
||||
/** @var Query $cursor */
|
||||
|
||||
$validator = new Cursor();
|
||||
if (!$validator->isValid($cursor)) {
|
||||
throw new Exception(Exception::GENERAL_QUERY_INVALID, $validator->getDescription());
|
||||
}
|
||||
|
||||
$ruleId = $cursor->getValue();
|
||||
$cursorDocument = $dbForPlatform->getDocument('rules', $ruleId);
|
||||
|
||||
if ($cursorDocument->isEmpty()) {
|
||||
throw new Exception(Exception::GENERAL_CURSOR_NOT_FOUND, "Rule '{$ruleId}' for the 'cursor' value not found.");
|
||||
}
|
||||
|
||||
$cursor->setValue($cursorDocument);
|
||||
}
|
||||
|
||||
$filterQueries = Query::groupByType($queries)['filters'];
|
||||
|
||||
$rules = $dbForPlatform->find('rules', $queries);
|
||||
foreach ($rules as $rule) {
|
||||
$certificate = $dbForPlatform->getDocument('certificates', $rule->getAttribute('certificateId', ''));
|
||||
$rule->setAttribute('logs', $certificate->getAttribute('logs', ''));
|
||||
$rule->setAttribute('renewAt', $certificate->getAttribute('renewDate', ''));
|
||||
}
|
||||
|
||||
$response->dynamic(new Document([
|
||||
'rules' => $rules,
|
||||
'total' => $dbForPlatform->count('rules', $filterQueries, APP_LIMIT_COUNT),
|
||||
]), Response::MODEL_PROXY_RULE_LIST);
|
||||
});
|
||||
|
||||
App::get('/v1/proxy/rules/:ruleId')
|
||||
->groups(['api', 'proxy'])
|
||||
->desc('Get rule')
|
||||
->label('scope', 'rules.read')
|
||||
->label('sdk', new Method(
|
||||
namespace: 'proxy',
|
||||
group: null,
|
||||
name: 'getRule',
|
||||
description: '/docs/references/proxy/get-rule.md',
|
||||
auth: [AuthType::ADMIN],
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_OK,
|
||||
model: Response::MODEL_PROXY_RULE,
|
||||
)
|
||||
]
|
||||
))
|
||||
->param('ruleId', '', new UID(), 'Rule ID.')
|
||||
->inject('response')
|
||||
->inject('project')
|
||||
->inject('dbForPlatform')
|
||||
->action(function (string $ruleId, Response $response, Document $project, Database $dbForPlatform) {
|
||||
$rule = $dbForPlatform->getDocument('rules', $ruleId);
|
||||
|
||||
if ($rule->isEmpty() || $rule->getAttribute('projectInternalId') !== $project->getSequence()) {
|
||||
throw new Exception(Exception::RULE_NOT_FOUND);
|
||||
}
|
||||
|
||||
$certificate = $dbForPlatform->getDocument('certificates', $rule->getAttribute('certificateId', ''));
|
||||
$rule->setAttribute('logs', $certificate->getAttribute('logs', ''));
|
||||
$rule->setAttribute('renewAt', $certificate->getAttribute('renewDate', ''));
|
||||
|
||||
$response->dynamic($rule, Response::MODEL_PROXY_RULE);
|
||||
});
|
||||
|
||||
App::delete('/v1/proxy/rules/:ruleId')
|
||||
->groups(['api', 'proxy'])
|
||||
->desc('Delete rule')
|
||||
->label('scope', 'rules.write')
|
||||
->label('event', 'rules.[ruleId].delete')
|
||||
->label('audits.event', 'rules.delete')
|
||||
->label('audits.resource', 'rule/{request.ruleId}')
|
||||
->label('sdk', new Method(
|
||||
namespace: 'proxy',
|
||||
group: null,
|
||||
name: 'deleteRule',
|
||||
description: '/docs/references/proxy/delete-rule.md',
|
||||
auth: [AuthType::ADMIN],
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_NOCONTENT,
|
||||
model: Response::MODEL_NONE,
|
||||
)
|
||||
],
|
||||
contentType: ContentType::NONE
|
||||
))
|
||||
->param('ruleId', '', new UID(), 'Rule ID.')
|
||||
->inject('response')
|
||||
->inject('project')
|
||||
->inject('dbForPlatform')
|
||||
->inject('queueForDeletes')
|
||||
->inject('queueForEvents')
|
||||
->action(function (string $ruleId, Response $response, Document $project, Database $dbForPlatform, Delete $queueForDeletes, Event $queueForEvents) {
|
||||
$rule = $dbForPlatform->getDocument('rules', $ruleId);
|
||||
|
||||
if ($rule->isEmpty() || $rule->getAttribute('projectInternalId') !== $project->getSequence()) {
|
||||
throw new Exception(Exception::RULE_NOT_FOUND);
|
||||
}
|
||||
|
||||
$dbForPlatform->deleteDocument('rules', $rule->getId());
|
||||
|
||||
$queueForDeletes
|
||||
->setType(DELETE_TYPE_DOCUMENT)
|
||||
->setDocument($rule);
|
||||
|
||||
$queueForEvents->setParam('ruleId', $rule->getId());
|
||||
|
||||
$response->noContent();
|
||||
});
|
||||
|
||||
App::patch('/v1/proxy/rules/:ruleId/verification')
|
||||
->desc('Update rule verification status')
|
||||
->groups(['api', 'proxy'])
|
||||
->label('scope', 'rules.write')
|
||||
->label('event', 'rules.[ruleId].update')
|
||||
->label('audits.event', 'rule.update')
|
||||
->label('audits.resource', 'rule/{response.$id}')
|
||||
->label('sdk', new Method(
|
||||
namespace: 'proxy',
|
||||
group: null,
|
||||
name: 'updateRuleVerification',
|
||||
description: '/docs/references/proxy/update-rule-verification.md',
|
||||
auth: [AuthType::ADMIN],
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_OK,
|
||||
model: Response::MODEL_PROXY_RULE,
|
||||
)
|
||||
]
|
||||
))
|
||||
->param('ruleId', '', new UID(), 'Rule ID.')
|
||||
->inject('response')
|
||||
->inject('queueForCertificates')
|
||||
->inject('queueForEvents')
|
||||
->inject('project')
|
||||
->inject('dbForPlatform')
|
||||
->inject('log')
|
||||
->action(function (string $ruleId, Response $response, Certificate $queueForCertificates, Event $queueForEvents, Document $project, Database $dbForPlatform, Log $log) {
|
||||
$rule = $dbForPlatform->getDocument('rules', $ruleId);
|
||||
|
||||
if ($rule->isEmpty() || $rule->getAttribute('projectInternalId') !== $project->getSequence()) {
|
||||
throw new Exception(Exception::RULE_NOT_FOUND);
|
||||
}
|
||||
|
||||
$targetCNAME = null;
|
||||
switch ($rule->getAttribute('type', '')) {
|
||||
case 'api':
|
||||
// For example: fra.cloud.appwrite.io
|
||||
$targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', ''));
|
||||
break;
|
||||
case 'redirect':
|
||||
// For example: appwrite.network
|
||||
$targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', ''));
|
||||
break;
|
||||
case 'deployment':
|
||||
switch ($rule->getAttribute('deploymentResourceType', '')) {
|
||||
case 'function':
|
||||
// For example: fra.appwrite.run
|
||||
$targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_FUNCTIONS', ''));
|
||||
break;
|
||||
case 'site':
|
||||
// For example: appwrite.network
|
||||
$targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', ''));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// no break
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
$validators = [];
|
||||
|
||||
if (!is_null($targetCNAME)) {
|
||||
if ($targetCNAME->isKnown() && !$targetCNAME->isTest()) {
|
||||
$validators[] = new DNS($targetCNAME->get(), DNS::RECORD_CNAME);
|
||||
}
|
||||
}
|
||||
|
||||
if ((new IP(IP::V4))->isValid(System::getEnv('_APP_DOMAIN_TARGET_A', ''))) {
|
||||
$validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_A', ''), DNS::RECORD_A);
|
||||
}
|
||||
if ((new IP(IP::V6))->isValid(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''))) {
|
||||
$validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''), DNS::RECORD_AAAA);
|
||||
}
|
||||
|
||||
if (empty($validators)) {
|
||||
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'At least one of domain targets environment variable must be configured.');
|
||||
}
|
||||
|
||||
if ($rule->getAttribute('verification') === true) {
|
||||
return $response->dynamic($rule, Response::MODEL_PROXY_RULE);
|
||||
}
|
||||
|
||||
$validator = new AnyOf($validators, AnyOf::TYPE_STRING);
|
||||
$domain = new Domain($rule->getAttribute('domain', ''));
|
||||
|
||||
$validationStart = \microtime(true);
|
||||
if (!$validator->isValid($domain->get())) {
|
||||
$log->addExtra('dnsTiming', \strval(\microtime(true) - $validationStart));
|
||||
$log->addTag('dnsDomain', $domain->get());
|
||||
|
||||
$errors = [];
|
||||
foreach ($validators as $validator) {
|
||||
if (!empty($validator->getLogs())) {
|
||||
$errors[] = $validator->getLogs();
|
||||
}
|
||||
}
|
||||
|
||||
$error = \implode("\n", $errors);
|
||||
$log->addExtra('dnsResponse', \is_array($error) ? \json_encode($error) : \strval($error));
|
||||
|
||||
throw new Exception(Exception::RULE_VERIFICATION_FAILED);
|
||||
}
|
||||
|
||||
// Ensure CAA won't block certificate issuance
|
||||
if (!empty(System::getEnv('_APP_DOMAIN_TARGET_CAA', ''))) {
|
||||
$validationStart = \microtime(true);
|
||||
$validator = new DNS(System::getEnv('_APP_DOMAIN_TARGET_CAA', ''), DNS::RECORD_CAA);
|
||||
if (!$validator->isValid($domain->get())) {
|
||||
$log->addExtra('dnsTimingCaa', \strval(\microtime(true) - $validationStart));
|
||||
$log->addTag('dnsDomain', $domain->get());
|
||||
$error = $validator->getDescription();
|
||||
$log->addExtra('dnsResponse', \is_array($error) ? \json_encode($error) : \strval($error));
|
||||
throw new Exception(Exception::RULE_VERIFICATION_FAILED, 'Domain verification failed because CAA records do not allow Appwrite\'s certificate issuer.');
|
||||
}
|
||||
}
|
||||
|
||||
$dbForPlatform->updateDocument('rules', $rule->getId(), $rule->setAttribute('status', 'verifying'));
|
||||
|
||||
// Issue a TLS certificate when domain is verified
|
||||
$queueForCertificates
|
||||
->setDomain(new Document([
|
||||
'domain' => $rule->getAttribute('domain'),
|
||||
'domainType' => $rule->getAttribute('deploymentResourceType', $rule->getAttribute('type')),
|
||||
]))
|
||||
->trigger();
|
||||
|
||||
$queueForEvents->setParam('ruleId', $rule->getId());
|
||||
|
||||
$certificate = $dbForPlatform->getDocument('certificates', $rule->getAttribute('certificateId', ''));
|
||||
$rule->setAttribute('logs', $certificate->getAttribute('logs', ''));
|
||||
|
||||
$response->dynamic($rule, Response::MODEL_PROXY_RULE);
|
||||
});
|
||||
|
|
@ -225,6 +225,8 @@ App::get('/v1/storage/buckets')
|
|||
$total = $dbForProject->count('buckets', $filterQueries, APP_LIMIT_COUNT);
|
||||
} catch (OrderException $e) {
|
||||
throw new Exception(Exception::DATABASE_QUERY_ORDER_NULL, "The order attribute '{$e->getAttribute()}' had a null value. Cursor pagination requires all documents order attribute values are non-null.");
|
||||
} catch (QueryException $e) {
|
||||
throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
|
||||
}
|
||||
$response->dynamic(new Document([
|
||||
'buckets' => $buckets,
|
||||
|
|
@ -853,6 +855,8 @@ App::get('/v1/storage/buckets/:bucketId/files')
|
|||
throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND);
|
||||
} catch (OrderException $e) {
|
||||
throw new Exception(Exception::DATABASE_QUERY_ORDER_NULL, "The order attribute '{$e->getAttribute()}' had a null value. Cursor pagination requires all documents order attribute values are non-null.");
|
||||
} catch (QueryException $e) {
|
||||
throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
|
||||
}
|
||||
|
||||
$response->dynamic(new Document([
|
||||
|
|
|
|||
|
|
@ -246,10 +246,11 @@ App::init()
|
|||
$role = $apiKey->getRole();
|
||||
$scopes = $apiKey->getScopes();
|
||||
|
||||
// Disable authorization checks for API keys
|
||||
Authorization::setDefaultStatus(false);
|
||||
|
||||
if ($apiKey->getRole() === Auth::USER_ROLE_APPS) {
|
||||
// Disable authorization checks for API keys
|
||||
Authorization::setDefaultStatus(false);
|
||||
|
||||
$user = new Document([
|
||||
'$id' => '',
|
||||
'status' => true,
|
||||
|
|
|
|||
14
app/http.php
14
app/http.php
|
|
@ -10,6 +10,7 @@ use Swoole\Http\Response as SwooleResponse;
|
|||
use Swoole\Http\Server;
|
||||
use Swoole\Process;
|
||||
use Swoole\Table;
|
||||
use Swoole\Timer;
|
||||
use Utopia\App;
|
||||
use Utopia\Audit\Audit;
|
||||
use Utopia\CLI\Console;
|
||||
|
|
@ -156,11 +157,16 @@ $http->on(Constant::EVENT_WORKER_START, function ($server, $workerId) {
|
|||
Console::success('Worker ' . ++$workerId . ' started successfully');
|
||||
});
|
||||
|
||||
$http->on(Constant::EVENT_BEFORE_RELOAD, function ($server, $workerId) {
|
||||
$http->on(Constant::EVENT_WORKER_STOP, function ($server, $workerId) {
|
||||
Timer::clearAll();
|
||||
Console::success('Worker ' . ++$workerId . ' stopped successfully');
|
||||
});
|
||||
|
||||
$http->on(Constant::EVENT_BEFORE_RELOAD, function ($server) {
|
||||
Console::success('Starting reload...');
|
||||
});
|
||||
|
||||
$http->on(Constant::EVENT_AFTER_RELOAD, function ($server, $workerId) {
|
||||
$http->on(Constant::EVENT_AFTER_RELOAD, function ($server) {
|
||||
Console::success('Reload completed...');
|
||||
});
|
||||
|
||||
|
|
@ -550,7 +556,7 @@ $http->on(Constant::EVENT_TASK, function () use ($register, $domains) {
|
|||
/** @var Utopia\Database\Database $dbForPlatform */
|
||||
$dbForPlatform = $app->getResource('dbForPlatform');
|
||||
|
||||
Console::loop(function () use ($dbForPlatform, $domains, &$lastSyncUpdate) {
|
||||
Timer::tick(DOMAIN_SYNC_TIMER * 1000, function () use ($dbForPlatform, $domains, &$lastSyncUpdate) {
|
||||
try {
|
||||
$time = DateTime::now();
|
||||
$limit = 1000;
|
||||
|
|
@ -589,8 +595,6 @@ $http->on(Constant::EVENT_TASK, function () use ($register, $domains) {
|
|||
} catch (Throwable $th) {
|
||||
Console::error($th->getMessage());
|
||||
}
|
||||
}, DOMAIN_SYNC_TIMER, 0, function ($error) {
|
||||
Console::error($error);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -255,6 +255,8 @@ Database::addFilter(
|
|||
->find('variables', [
|
||||
Query::equal('resourceInternalId', [$document->getSequence()]),
|
||||
Query::equal('resourceType', $resourceType),
|
||||
Query::orderAsc('resourceType'),
|
||||
Query::orderAsc(),
|
||||
Query::limit(APP_LIMIT_SUBQUERY),
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
94
composer.lock
generated
94
composer.lock
generated
|
|
@ -756,24 +756,21 @@
|
|||
},
|
||||
{
|
||||
"name": "google/protobuf",
|
||||
"version": "v4.32.0",
|
||||
"version": "v4.32.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/protocolbuffers/protobuf-php.git",
|
||||
"reference": "9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646"
|
||||
"reference": "c4ed1c1f9bbc1e91766e2cd6c0af749324fe87cb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646",
|
||||
"reference": "9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646",
|
||||
"url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/c4ed1c1f9bbc1e91766e2cd6c0af749324fe87cb",
|
||||
"reference": "c4ed1c1f9bbc1e91766e2cd6c0af749324fe87cb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1.0"
|
||||
},
|
||||
"provide": {
|
||||
"ext-protobuf": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": ">=5.0.0 <8.5.27"
|
||||
},
|
||||
|
|
@ -797,9 +794,9 @@
|
|||
"proto"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.32.0"
|
||||
"source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.32.1"
|
||||
},
|
||||
"time": "2025-08-14T20:00:33+00:00"
|
||||
"time": "2025-09-14T05:14:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/csv",
|
||||
|
|
@ -1355,16 +1352,16 @@
|
|||
},
|
||||
{
|
||||
"name": "open-telemetry/gen-otlp-protobuf",
|
||||
"version": "1.5.0",
|
||||
"version": "1.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git",
|
||||
"reference": "585bafddd4ae6565de154610b10a787a455c9ba0"
|
||||
"reference": "673af5b06545b513466081884b47ef15a536edde"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/585bafddd4ae6565de154610b10a787a455c9ba0",
|
||||
"reference": "585bafddd4ae6565de154610b10a787a455c9ba0",
|
||||
"url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/673af5b06545b513466081884b47ef15a536edde",
|
||||
"reference": "673af5b06545b513466081884b47ef15a536edde",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1414,7 +1411,7 @@
|
|||
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
|
||||
"source": "https://github.com/open-telemetry/opentelemetry-php"
|
||||
},
|
||||
"time": "2025-01-15T23:07:07+00:00"
|
||||
"time": "2025-09-17T23:10:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "open-telemetry/sdk",
|
||||
|
|
@ -3638,16 +3635,16 @@
|
|||
},
|
||||
{
|
||||
"name": "utopia-php/database",
|
||||
"version": "1.4.1",
|
||||
"version": "1.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/database.git",
|
||||
"reference": "b5ea4d133a1a4e747b7522e61e072289129a06f4"
|
||||
"reference": "24c4519b4ac32aee13af31dddd984db2a3b34980"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/b5ea4d133a1a4e747b7522e61e072289129a06f4",
|
||||
"reference": "b5ea4d133a1a4e747b7522e61e072289129a06f4",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/24c4519b4ac32aee13af31dddd984db2a3b34980",
|
||||
"reference": "24c4519b4ac32aee13af31dddd984db2a3b34980",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3688,9 +3685,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/database/issues",
|
||||
"source": "https://github.com/utopia-php/database/tree/1.4.1"
|
||||
"source": "https://github.com/utopia-php/database/tree/1.5.0"
|
||||
},
|
||||
"time": "2025-09-05T13:23:52+00:00"
|
||||
"time": "2025-09-18T14:42:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/detector",
|
||||
|
|
@ -4190,16 +4187,16 @@
|
|||
},
|
||||
{
|
||||
"name": "utopia-php/migration",
|
||||
"version": "1.0.1",
|
||||
"version": "1.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/migration.git",
|
||||
"reference": "38171023efd3abe650d2abc5ac65f5df52311da6"
|
||||
"reference": "c42935a6a4ee3701c68d24244e82ecb39e945ec4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/migration/zipball/38171023efd3abe650d2abc5ac65f5df52311da6",
|
||||
"reference": "38171023efd3abe650d2abc5ac65f5df52311da6",
|
||||
"url": "https://api.github.com/repos/utopia-php/migration/zipball/c42935a6a4ee3701c68d24244e82ecb39e945ec4",
|
||||
"reference": "c42935a6a4ee3701c68d24244e82ecb39e945ec4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -4240,9 +4237,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/migration/issues",
|
||||
"source": "https://github.com/utopia-php/migration/tree/1.0.1"
|
||||
"source": "https://github.com/utopia-php/migration/tree/1.1.1"
|
||||
},
|
||||
"time": "2025-08-28T13:41:25+00:00"
|
||||
"time": "2025-09-10T06:17:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/orchestration",
|
||||
|
|
@ -5007,16 +5004,16 @@
|
|||
"packages-dev": [
|
||||
{
|
||||
"name": "appwrite/sdk-generator",
|
||||
"version": "1.3.2",
|
||||
"version": "1.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/appwrite/sdk-generator.git",
|
||||
"reference": "375a6c9b168db6fdf58fbe0d49d2261d80700b4a"
|
||||
"reference": "6fda9e58b37c9872c1a2a424e5467de8de1bc567"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/375a6c9b168db6fdf58fbe0d49d2261d80700b4a",
|
||||
"reference": "375a6c9b168db6fdf58fbe0d49d2261d80700b4a",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/6fda9e58b37c9872c1a2a424e5467de8de1bc567",
|
||||
"reference": "6fda9e58b37c9872c1a2a424e5467de8de1bc567",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -5052,9 +5049,9 @@
|
|||
"description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms",
|
||||
"support": {
|
||||
"issues": "https://github.com/appwrite/sdk-generator/issues",
|
||||
"source": "https://github.com/appwrite/sdk-generator/tree/1.3.2"
|
||||
"source": "https://github.com/appwrite/sdk-generator/tree/1.3.5"
|
||||
},
|
||||
"time": "2025-09-05T15:50:35+00:00"
|
||||
"time": "2025-09-15T04:19:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
|
|
@ -5281,16 +5278,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/pint",
|
||||
"version": "v1.24.0",
|
||||
"version": "v1.25.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/pint.git",
|
||||
"reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a"
|
||||
"reference": "595de38458c6b0ab4cae4bcc769c2e5c5d5b8e96"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/pint/zipball/0345f3b05f136801af8c339f9d16ef29e6b4df8a",
|
||||
"reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a",
|
||||
"url": "https://api.github.com/repos/laravel/pint/zipball/595de38458c6b0ab4cae4bcc769c2e5c5d5b8e96",
|
||||
"reference": "595de38458c6b0ab4cae4bcc769c2e5c5d5b8e96",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -5301,9 +5298,9 @@
|
|||
"php": "^8.2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.82.2",
|
||||
"illuminate/view": "^11.45.1",
|
||||
"larastan/larastan": "^3.5.0",
|
||||
"friendsofphp/php-cs-fixer": "^3.87.2",
|
||||
"illuminate/view": "^11.46.0",
|
||||
"larastan/larastan": "^3.7.1",
|
||||
"laravel-zero/framework": "^11.45.0",
|
||||
"mockery/mockery": "^1.6.12",
|
||||
"nunomaduro/termwind": "^2.3.1",
|
||||
|
|
@ -5314,9 +5311,6 @@
|
|||
],
|
||||
"type": "project",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"overrides/Runner/Parallel/ProcessFactory.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"App\\": "app/",
|
||||
"Database\\Seeders\\": "database/seeders/",
|
||||
|
|
@ -5346,7 +5340,7 @@
|
|||
"issues": "https://github.com/laravel/pint/issues",
|
||||
"source": "https://github.com/laravel/pint"
|
||||
},
|
||||
"time": "2025-07-10T18:09:32+00:00"
|
||||
"time": "2025-09-17T01:36:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/minify",
|
||||
|
|
@ -6236,16 +6230,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.6.25",
|
||||
"version": "9.6.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "049c011e01be805202d8eebedef49f769a8ec7b7"
|
||||
"reference": "0a9aa4440b6a9528cf360071502628d717af3e0a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/049c011e01be805202d8eebedef49f769a8ec7b7",
|
||||
"reference": "049c011e01be805202d8eebedef49f769a8ec7b7",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0a9aa4440b6a9528cf360071502628d717af3e0a",
|
||||
"reference": "0a9aa4440b6a9528cf360071502628d717af3e0a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -6319,7 +6313,7 @@
|
|||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.25"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.27"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -6343,7 +6337,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-20T14:38:31+00:00"
|
||||
"time": "2025-09-14T06:18:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
|
|
@ -8536,5 +8530,5 @@
|
|||
"platform-overrides": {
|
||||
"php": "8.3"
|
||||
},
|
||||
"plugin-api-version": "2.3.0"
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await databases.createLineAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]] // optional
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await databases.createPointAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [1, 2] // optional
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await databases.createPolygonAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]] // optional
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await databases.updateLineAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await databases.updatePointAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [1, 2], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await databases.updatePolygonAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await tablesDB.createLineColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]] // optional
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await tablesDB.createPointColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [1, 2] // optional
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await tablesDB.createPolygonColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]] // optional
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await tablesDB.updateLineColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await tablesDB.updatePointColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [1, 2], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const result = await tablesDB.updatePolygonColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ AttributeLine result = await databases.createLineAttribute(
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[1, 2], [3, 4], [5, 6]], // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ AttributePoint result = await databases.createPointAttribute(
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [1, 2], // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ AttributePolygon result = await databases.createPolygonAttribute(
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ AttributeLine result = await databases.updateLineAttribute(
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[1, 2], [3, 4], [5, 6]], // (optional)
|
||||
newKey: '', // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ AttributePoint result = await databases.updatePointAttribute(
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [1, 2], // (optional)
|
||||
newKey: '', // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ AttributePolygon result = await databases.updatePolygonAttribute(
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // (optional)
|
||||
newKey: '', // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ ColumnLine result = await tablesDB.createLineColumn(
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[1, 2], [3, 4], [5, 6]], // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ ColumnPoint result = await tablesDB.createPointColumn(
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [1, 2], // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ ColumnPolygon result = await tablesDB.createPolygonColumn(
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ ColumnLine result = await tablesDB.updateLineColumn(
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[1, 2], [3, 4], [5, 6]], // (optional)
|
||||
newKey: '', // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ ColumnPoint result = await tablesDB.updatePointColumn(
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [1, 2], // (optional)
|
||||
newKey: '', // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ ColumnPolygon result = await tablesDB.updatePolygonColumn(
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
xrequired: false,
|
||||
xdefault: '', // (optional)
|
||||
xdefault: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // (optional)
|
||||
newKey: '', // (optional)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ const response = await databases.createLineAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1,2], [3, 4]] // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ const response = await databases.createPointAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1,2], [3, 4]] // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ const response = await databases.createPolygonAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1,2], [3, 4]] // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ const response = await databases.updateLineAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1,2], [3, 4]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ const response = await databases.updatePointAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1,2], [3, 4]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ const response = await databases.updatePolygonAttribute({
|
|||
collectionId: '<COLLECTION_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1,2], [3, 4]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ const response = await tablesDB.createLineColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1,2], [3, 4]] // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ const response = await tablesDB.createPointColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1,2], [3, 4]] // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ const response = await tablesDB.createPolygonColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '' // optional
|
||||
default: [[1,2], [3, 4]] // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ const response = await tablesDB.updateLineColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1,2], [3, 4]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ const response = await tablesDB.updatePointColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1,2], [3, 4]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ const response = await tablesDB.updatePolygonColumn({
|
|||
tableId: '<TABLE_ID>',
|
||||
key: '',
|
||||
required: false,
|
||||
default: '', // optional
|
||||
default: [[1,2], [3, 4]], // optional
|
||||
newKey: '' // optional
|
||||
});
|
||||
|
|
|
|||
|
|
@ -14,5 +14,5 @@ AttributeLine result = await databases.CreateLineAttribute(
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "" // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]] // optional
|
||||
);
|
||||
|
|
@ -14,5 +14,5 @@ AttributePoint result = await databases.CreatePointAttribute(
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "" // optional
|
||||
default: [1, 2] // optional
|
||||
);
|
||||
|
|
@ -14,5 +14,5 @@ AttributePolygon result = await databases.CreatePolygonAttribute(
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "" // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]] // optional
|
||||
);
|
||||
|
|
@ -14,6 +14,6 @@ AttributeLine result = await databases.UpdateLineAttribute(
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "", // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]], // optional
|
||||
newKey: "" // optional
|
||||
);
|
||||
|
|
@ -14,6 +14,6 @@ AttributePoint result = await databases.UpdatePointAttribute(
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "", // optional
|
||||
default: [1, 2], // optional
|
||||
newKey: "" // optional
|
||||
);
|
||||
|
|
@ -14,6 +14,6 @@ AttributePolygon result = await databases.UpdatePolygonAttribute(
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "", // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // optional
|
||||
newKey: "" // optional
|
||||
);
|
||||
|
|
@ -14,5 +14,5 @@ ColumnLine result = await tablesDB.CreateLineColumn(
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "" // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]] // optional
|
||||
);
|
||||
|
|
@ -14,5 +14,5 @@ ColumnPoint result = await tablesDB.CreatePointColumn(
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "" // optional
|
||||
default: [1, 2] // optional
|
||||
);
|
||||
|
|
@ -14,5 +14,5 @@ ColumnPolygon result = await tablesDB.CreatePolygonColumn(
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "" // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]] // optional
|
||||
);
|
||||
|
|
@ -14,6 +14,6 @@ ColumnLine result = await tablesDB.UpdateLineColumn(
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "", // optional
|
||||
default: [[1, 2], [3, 4], [5, 6]], // optional
|
||||
newKey: "" // optional
|
||||
);
|
||||
|
|
@ -14,6 +14,6 @@ ColumnPoint result = await tablesDB.UpdatePointColumn(
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "", // optional
|
||||
default: [1, 2], // optional
|
||||
newKey: "" // optional
|
||||
);
|
||||
|
|
@ -14,6 +14,6 @@ ColumnPolygon result = await tablesDB.UpdatePolygonColumn(
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "", // optional
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]], // optional
|
||||
newKey: "" // optional
|
||||
);
|
||||
|
|
@ -19,5 +19,5 @@ response, error := service.CreateLineAttribute(
|
|||
"<COLLECTION_ID>",
|
||||
"",
|
||||
false,
|
||||
databases.WithCreateLineAttributeDefault(""),
|
||||
databases.WithCreateLineAttributeDefault(interface{}{[1, 2], [3, 4], [5, 6]}),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ response, error := service.CreatePointAttribute(
|
|||
"<COLLECTION_ID>",
|
||||
"",
|
||||
false,
|
||||
databases.WithCreatePointAttributeDefault(""),
|
||||
databases.WithCreatePointAttributeDefault(interface{}{1, 2}),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ response, error := service.CreatePolygonAttribute(
|
|||
"<COLLECTION_ID>",
|
||||
"",
|
||||
false,
|
||||
databases.WithCreatePolygonAttributeDefault(""),
|
||||
databases.WithCreatePolygonAttributeDefault(interface{}{[[1, 2], [3, 4], [5, 6], [1, 2]]}),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,6 @@ response, error := service.UpdateLineAttribute(
|
|||
"<COLLECTION_ID>",
|
||||
"",
|
||||
false,
|
||||
databases.WithUpdateLineAttributeDefault(""),
|
||||
databases.WithUpdateLineAttributeDefault(interface{}{[1, 2], [3, 4], [5, 6]}),
|
||||
databases.WithUpdateLineAttributeNewKey(""),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,6 @@ response, error := service.UpdatePointAttribute(
|
|||
"<COLLECTION_ID>",
|
||||
"",
|
||||
false,
|
||||
databases.WithUpdatePointAttributeDefault(""),
|
||||
databases.WithUpdatePointAttributeDefault(interface{}{1, 2}),
|
||||
databases.WithUpdatePointAttributeNewKey(""),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,6 @@ response, error := service.UpdatePolygonAttribute(
|
|||
"<COLLECTION_ID>",
|
||||
"",
|
||||
false,
|
||||
databases.WithUpdatePolygonAttributeDefault(""),
|
||||
databases.WithUpdatePolygonAttributeDefault(interface{}{[[1, 2], [3, 4], [5, 6], [1, 2]]}),
|
||||
databases.WithUpdatePolygonAttributeNewKey(""),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ response, error := service.CreateLineColumn(
|
|||
"<TABLE_ID>",
|
||||
"",
|
||||
false,
|
||||
tablesdb.WithCreateLineColumnDefault(""),
|
||||
tablesdb.WithCreateLineColumnDefault(interface{}{[1, 2], [3, 4], [5, 6]}),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ response, error := service.CreatePointColumn(
|
|||
"<TABLE_ID>",
|
||||
"",
|
||||
false,
|
||||
tablesdb.WithCreatePointColumnDefault(""),
|
||||
tablesdb.WithCreatePointColumnDefault(interface{}{1, 2}),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ response, error := service.CreatePolygonColumn(
|
|||
"<TABLE_ID>",
|
||||
"",
|
||||
false,
|
||||
tablesdb.WithCreatePolygonColumnDefault(""),
|
||||
tablesdb.WithCreatePolygonColumnDefault(interface{}{[[1, 2], [3, 4], [5, 6], [1, 2]]}),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,6 @@ response, error := service.UpdateLineColumn(
|
|||
"<TABLE_ID>",
|
||||
"",
|
||||
false,
|
||||
tablesdb.WithUpdateLineColumnDefault(""),
|
||||
tablesdb.WithUpdateLineColumnDefault(interface{}{[1, 2], [3, 4], [5, 6]}),
|
||||
tablesdb.WithUpdateLineColumnNewKey(""),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,6 @@ response, error := service.UpdatePointColumn(
|
|||
"<TABLE_ID>",
|
||||
"",
|
||||
false,
|
||||
tablesdb.WithUpdatePointColumnDefault(""),
|
||||
tablesdb.WithUpdatePointColumnDefault(interface{}{1, 2}),
|
||||
tablesdb.WithUpdatePointColumnNewKey(""),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,6 @@ response, error := service.UpdatePolygonColumn(
|
|||
"<TABLE_ID>",
|
||||
"",
|
||||
false,
|
||||
tablesdb.WithUpdatePolygonColumnDefault(""),
|
||||
tablesdb.WithUpdatePolygonColumnDefault(interface{}{[[1, 2], [3, 4], [5, 6], [1, 2]]}),
|
||||
tablesdb.WithUpdatePolygonColumnNewKey(""),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: ""
|
||||
default: [[1, 2], [3, 4], [5, 6]]
|
||||
) {
|
||||
key
|
||||
type
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: ""
|
||||
default: [1, 2]
|
||||
) {
|
||||
key
|
||||
type
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: ""
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]]
|
||||
) {
|
||||
key
|
||||
type
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "",
|
||||
default: [[1, 2], [3, 4], [5, 6]],
|
||||
newKey: ""
|
||||
) {
|
||||
key
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "",
|
||||
default: [1, 2],
|
||||
newKey: ""
|
||||
) {
|
||||
key
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
collectionId: "<COLLECTION_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "",
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]],
|
||||
newKey: ""
|
||||
) {
|
||||
key
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: ""
|
||||
default: [[1, 2], [3, 4], [5, 6]]
|
||||
) {
|
||||
key
|
||||
type
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: ""
|
||||
default: [1, 2]
|
||||
) {
|
||||
key
|
||||
type
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: ""
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]]
|
||||
) {
|
||||
key
|
||||
type
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "",
|
||||
default: [[1, 2], [3, 4], [5, 6]],
|
||||
newKey: ""
|
||||
) {
|
||||
key
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "",
|
||||
default: [1, 2],
|
||||
newKey: ""
|
||||
) {
|
||||
key
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ mutation {
|
|||
tableId: "<TABLE_ID>",
|
||||
key: "",
|
||||
required: false,
|
||||
default: "",
|
||||
default: [[[1, 2], [3, 4], [5, 6], [1, 2]]],
|
||||
newKey: ""
|
||||
) {
|
||||
key
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ databases.createLineAttribute(
|
|||
"<COLLECTION_ID>", // collectionId
|
||||
"", // key
|
||||
false, // required
|
||||
"", // default (optional)
|
||||
listOf([1, 2], [3, 4], [5, 6]), // default (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ databases.createPointAttribute(
|
|||
"<COLLECTION_ID>", // collectionId
|
||||
"", // key
|
||||
false, // required
|
||||
"", // default (optional)
|
||||
listOf(1, 2), // default (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ databases.createPolygonAttribute(
|
|||
"<COLLECTION_ID>", // collectionId
|
||||
"", // key
|
||||
false, // required
|
||||
"", // default (optional)
|
||||
listOf([[1, 2], [3, 4], [5, 6], [1, 2]]), // default (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ databases.updateLineAttribute(
|
|||
"<COLLECTION_ID>", // collectionId
|
||||
"", // key
|
||||
false, // required
|
||||
"", // default (optional)
|
||||
listOf([1, 2], [3, 4], [5, 6]), // default (optional)
|
||||
"", // newKey (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ databases.updatePointAttribute(
|
|||
"<COLLECTION_ID>", // collectionId
|
||||
"", // key
|
||||
false, // required
|
||||
"", // default (optional)
|
||||
listOf(1, 2), // default (optional)
|
||||
"", // newKey (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ databases.updatePolygonAttribute(
|
|||
"<COLLECTION_ID>", // collectionId
|
||||
"", // key
|
||||
false, // required
|
||||
"", // default (optional)
|
||||
listOf([[1, 2], [3, 4], [5, 6], [1, 2]]), // default (optional)
|
||||
"", // newKey (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ tablesDB.createLineColumn(
|
|||
"<TABLE_ID>", // tableId
|
||||
"", // key
|
||||
false, // required
|
||||
"", // default (optional)
|
||||
listOf([1, 2], [3, 4], [5, 6]), // default (optional)
|
||||
new CoroutineCallback<>((result, error) -> {
|
||||
if (error != null) {
|
||||
error.printStackTrace();
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue