mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Merge branch '1.8.x' into auth-subscriptions
This commit is contained in:
@@ -25153,7 +25153,7 @@
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
"web",
|
||||
@@ -46223,7 +46223,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -47910,7 +47914,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -47998,7 +48010,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48088,7 +48108,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48178,7 +48206,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48251,7 +48287,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48331,7 +48375,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48421,7 +48473,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48501,7 +48561,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48581,7 +48649,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48661,7 +48737,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48769,7 +48853,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48848,7 +48940,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48939,7 +49039,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -53440,16 +53548,24 @@
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, ios, android, and unity.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
"web",
|
||||
"flutter-web",
|
||||
"flutter-ios",
|
||||
"flutter-android",
|
||||
"ios",
|
||||
"flutter-linux",
|
||||
"flutter-macos",
|
||||
"flutter-windows",
|
||||
"apple-ios",
|
||||
"apple-macos",
|
||||
"apple-watchos",
|
||||
"apple-tvos",
|
||||
"android",
|
||||
"unity"
|
||||
"unity",
|
||||
"react-native-ios",
|
||||
"react-native-android"
|
||||
]
|
||||
},
|
||||
"key": {
|
||||
|
||||
@@ -35093,7 +35093,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -36780,7 +36784,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -36868,7 +36880,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -36958,7 +36978,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37048,7 +37076,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37121,7 +37157,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37201,7 +37245,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37291,7 +37343,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37371,7 +37431,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37451,7 +37519,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37531,7 +37607,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37639,7 +37723,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37718,7 +37810,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37809,7 +37909,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
|
||||
@@ -26126,7 +26126,7 @@
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
"web",
|
||||
@@ -47282,7 +47282,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -48969,7 +48973,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49057,7 +49069,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49147,7 +49167,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49237,7 +49265,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49310,7 +49346,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49390,7 +49434,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49480,7 +49532,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49560,7 +49620,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49640,7 +49708,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49720,7 +49796,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49828,7 +49912,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49907,7 +49999,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49998,7 +50098,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -54527,16 +54635,24 @@
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, ios, android, and unity.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
"web",
|
||||
"flutter-web",
|
||||
"flutter-ios",
|
||||
"flutter-android",
|
||||
"ios",
|
||||
"flutter-linux",
|
||||
"flutter-macos",
|
||||
"flutter-windows",
|
||||
"apple-ios",
|
||||
"apple-macos",
|
||||
"apple-watchos",
|
||||
"apple-tvos",
|
||||
"android",
|
||||
"unity"
|
||||
"unity",
|
||||
"react-native-ios",
|
||||
"react-native-android"
|
||||
]
|
||||
},
|
||||
"key": {
|
||||
|
||||
@@ -35520,7 +35520,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -37207,7 +37211,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37295,7 +37307,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37385,7 +37405,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37475,7 +37503,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37548,7 +37584,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37628,7 +37672,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37718,7 +37770,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37798,7 +37858,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37878,7 +37946,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37958,7 +38034,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -38066,7 +38150,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -38145,7 +38237,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -38236,7 +38336,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
|
||||
@@ -25305,7 +25305,7 @@
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"default": null,
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
@@ -46159,7 +46159,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -47848,7 +47852,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -47936,7 +47948,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48026,7 +48046,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48116,7 +48144,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48189,7 +48225,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48269,7 +48313,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48359,7 +48411,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48439,7 +48499,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48519,7 +48587,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48599,7 +48675,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48707,7 +48791,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48786,7 +48878,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -48877,7 +48977,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -53396,16 +53504,24 @@
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, ios, android, and unity.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
"web",
|
||||
"flutter-web",
|
||||
"flutter-ios",
|
||||
"flutter-android",
|
||||
"ios",
|
||||
"flutter-linux",
|
||||
"flutter-macos",
|
||||
"flutter-windows",
|
||||
"apple-ios",
|
||||
"apple-macos",
|
||||
"apple-watchos",
|
||||
"apple-tvos",
|
||||
"android",
|
||||
"unity"
|
||||
"unity",
|
||||
"react-native-ios",
|
||||
"react-native-android"
|
||||
]
|
||||
},
|
||||
"key": {
|
||||
|
||||
@@ -35120,7 +35120,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -36809,7 +36813,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -36897,7 +36909,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -36987,7 +37007,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37077,7 +37105,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37150,7 +37186,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37230,7 +37274,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37320,7 +37372,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37400,7 +37460,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37480,7 +37548,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37560,7 +37636,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37668,7 +37752,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37747,7 +37839,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37838,7 +37938,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
|
||||
@@ -26293,7 +26293,7 @@
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"default": null,
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
@@ -47233,7 +47233,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -48922,7 +48926,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49010,7 +49022,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49100,7 +49120,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49190,7 +49218,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49263,7 +49299,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49343,7 +49387,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49433,7 +49485,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49513,7 +49573,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49593,7 +49661,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49673,7 +49749,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49781,7 +49865,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49860,7 +49952,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -49951,7 +50051,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -54498,16 +54606,24 @@
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, ios, android, and unity.",
|
||||
"description": "Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.",
|
||||
"x-example": "web",
|
||||
"enum": [
|
||||
"web",
|
||||
"flutter-web",
|
||||
"flutter-ios",
|
||||
"flutter-android",
|
||||
"ios",
|
||||
"flutter-linux",
|
||||
"flutter-macos",
|
||||
"flutter-windows",
|
||||
"apple-ios",
|
||||
"apple-macos",
|
||||
"apple-watchos",
|
||||
"apple-tvos",
|
||||
"android",
|
||||
"unity"
|
||||
"unity",
|
||||
"react-native-ios",
|
||||
"react-native-android"
|
||||
]
|
||||
},
|
||||
"key": {
|
||||
|
||||
@@ -35561,7 +35561,11 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Database type.",
|
||||
"x-example": "legacy"
|
||||
"x-example": "legacy",
|
||||
"enum": [
|
||||
"legacy",
|
||||
"tablesdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -37250,7 +37254,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37338,7 +37350,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37428,7 +37448,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37518,7 +37546,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37591,7 +37627,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37671,7 +37715,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37761,7 +37813,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37841,7 +37901,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -37921,7 +37989,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -38001,7 +38077,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -38109,7 +38193,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -38188,7 +38280,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
@@ -38279,7 +38379,15 @@
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
|
||||
"x-example": "available"
|
||||
"x-example": "available",
|
||||
"enum": [
|
||||
"available",
|
||||
"processing",
|
||||
"deleting",
|
||||
"stuck",
|
||||
"failed"
|
||||
],
|
||||
"x-enum-name": "ColumnStatus"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
|
||||
+38
-27
@@ -154,7 +154,7 @@ App::setResource('queueForMigrations', function (Publisher $publisher) {
|
||||
App::setResource('queueForStatsResources', function (Publisher $publisher) {
|
||||
return new StatsResources($publisher);
|
||||
}, ['publisher']);
|
||||
App::setResource('platforms', function (Request $request, Document $console, Document $project) {
|
||||
App::setResource('platforms', function (Request $request, Document $console, Document $project, Database $dbForPlatform) {
|
||||
$console->setAttribute('platforms', [ // Always allow current host
|
||||
'$collection' => ID::custom('platforms'),
|
||||
'name' => 'Current Host',
|
||||
@@ -193,11 +193,40 @@ App::setResource('platforms', function (Request $request, Document $console, Doc
|
||||
], Document::SET_TYPE_APPEND);
|
||||
}
|
||||
|
||||
$origin = \parse_url($request->getOrigin(), PHP_URL_HOST);
|
||||
|
||||
if (empty($origin)) {
|
||||
$origin = \parse_url($request->getReferer(), PHP_URL_HOST);
|
||||
}
|
||||
|
||||
// Safe if rule with same project ID exists
|
||||
if (!empty($origin)) {
|
||||
if (System::getEnv('_APP_RULES_FORMAT') === 'md5') {
|
||||
$rule = Authorization::skip(fn () => $dbForPlatform->getDocument('rules', md5($origin ?? '')));
|
||||
} else {
|
||||
$rule = Authorization::skip(
|
||||
fn () => $dbForPlatform->find('rules', [
|
||||
Query::equal('domain', [$origin]),
|
||||
Query::limit(1)
|
||||
])
|
||||
)[0] ?? new Document();
|
||||
}
|
||||
|
||||
if (!$rule->isEmpty() && $rule->getAttribute('projectInternalId') === $project->getSequence()) {
|
||||
$project->setAttribute('platforms', [
|
||||
'$collection' => ID::custom('platforms'),
|
||||
'type' => Platform::TYPE_WEB,
|
||||
'name' => $origin,
|
||||
'hostname' => $origin,
|
||||
], Document::SET_TYPE_APPEND);
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
...$console->getAttribute('platforms', []),
|
||||
...$project->getAttribute('platforms', []),
|
||||
];
|
||||
}, ['request', 'console', 'project']);
|
||||
}, ['request', 'console', 'project', 'dbForPlatform']);
|
||||
|
||||
App::setResource('user', function ($mode, $project, $console, $request, $response, $dbForProject, $dbForPlatform) {
|
||||
/** @var Appwrite\Utopia\Request $request */
|
||||
@@ -378,7 +407,7 @@ App::setResource('dbForProject', function (Group $pools, Database $dbForPlatform
|
||||
if (\in_array($dsn->getHost(), $sharedTables)) {
|
||||
$database
|
||||
->setSharedTables(true)
|
||||
->setTenant((int)$project->getSequence())
|
||||
->setTenant((int) $project->getSequence())
|
||||
->setNamespace($dsn->getParam('namespace'));
|
||||
} else {
|
||||
$database
|
||||
@@ -431,7 +460,7 @@ App::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform
|
||||
if (\in_array($dsn->getHost(), $sharedTables)) {
|
||||
$database
|
||||
->setSharedTables(true)
|
||||
->setTenant((int)$project->getSequence())
|
||||
->setTenant((int) $project->getSequence())
|
||||
->setNamespace($dsn->getParam('namespace'));
|
||||
} else {
|
||||
$database
|
||||
@@ -461,7 +490,7 @@ App::setResource('getLogsDB', function (Group $pools, Cache $cache) {
|
||||
|
||||
return function (?Document $project = null) use ($pools, $cache, &$database) {
|
||||
if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') {
|
||||
$database->setTenant((int)$project->getSequence());
|
||||
$database->setTenant((int) $project->getSequence());
|
||||
return $database;
|
||||
}
|
||||
|
||||
@@ -476,7 +505,7 @@ App::setResource('getLogsDB', function (Group $pools, Cache $cache) {
|
||||
|
||||
// set tenant
|
||||
if ($project !== null && !$project->isEmpty() && $project->getId() !== 'console') {
|
||||
$database->setTenant((int)$project->getSequence());
|
||||
$database->setTenant((int) $project->getSequence());
|
||||
}
|
||||
|
||||
return $database;
|
||||
@@ -504,7 +533,7 @@ App::setResource('redis', function () {
|
||||
$pass = System::getEnv('_APP_REDIS_PASS', '');
|
||||
|
||||
$redis = new \Redis();
|
||||
@$redis->pconnect($host, (int)$port);
|
||||
@$redis->pconnect($host, (int) $port);
|
||||
if ($pass) {
|
||||
$redis->auth($pass);
|
||||
}
|
||||
@@ -717,7 +746,7 @@ App::setResource('schema', function ($utopia, $dbForProject) {
|
||||
// NOTE: `params` and `urls` are not used internally in the `Schema::build` function below!
|
||||
$params = [
|
||||
'list' => function (string $databaseId, string $collectionId, array $args) {
|
||||
return [ 'queries' => $args['queries']];
|
||||
return ['queries' => $args['queries']];
|
||||
},
|
||||
'create' => function (string $databaseId, string $collectionId, array $args) {
|
||||
$id = $args['id'] ?? 'unique()';
|
||||
@@ -966,7 +995,7 @@ App::setResource('resourceToken', function ($project, $dbForProject, $request) {
|
||||
}
|
||||
|
||||
$accessedAt = $token->getAttribute('accessedAt', 0);
|
||||
if (empty($accessedAt) || DatabaseDateTime::formatTz(DatabaseDateTime::addSeconds(new \DateTime(), - APP_RESOURCE_TOKEN_ACCESS)) > $accessedAt) {
|
||||
if (empty($accessedAt) || DatabaseDateTime::formatTz(DatabaseDateTime::addSeconds(new \DateTime(), -APP_RESOURCE_TOKEN_ACCESS)) > $accessedAt) {
|
||||
$token->setAttribute('accessedAt', DatabaseDateTime::now());
|
||||
Authorization::skip(fn () => $dbForProject->updateDocument('resourceTokens', $token->getId(), $token));
|
||||
}
|
||||
@@ -1008,24 +1037,6 @@ App::setResource('httpReferrerSafe', function (Request $request, string $httpRef
|
||||
return $referrer;
|
||||
}
|
||||
|
||||
// Safe if rule with same project ID exists
|
||||
if (!empty($origin)) {
|
||||
if (System::getEnv('_APP_RULES_FORMAT') === 'md5') {
|
||||
$rule = Authorization::skip(fn () => $dbForPlatform->getDocument('rules', md5($origin ?? '')));
|
||||
} else {
|
||||
$rule = Authorization::skip(
|
||||
fn () => $dbForPlatform->find('rules', [
|
||||
Query::equal('domain', [$origin]),
|
||||
Query::limit(1)
|
||||
])
|
||||
)[0] ?? new Document();
|
||||
}
|
||||
|
||||
if (!$rule->isEmpty() && $rule->getAttribute('projectInternalId') === $project->getSequence()) {
|
||||
return $referrer;
|
||||
}
|
||||
}
|
||||
|
||||
// Unsafe; Localhost is always safe for ease of local development
|
||||
$origin = 'localhost';
|
||||
$protocol = \parse_url($request->getOrigin($httpReferrer), PHP_URL_SCHEME);
|
||||
|
||||
Generated
+66
-67
@@ -1569,16 +1569,16 @@
|
||||
},
|
||||
{
|
||||
"name": "paragonie/constant_time_encoding",
|
||||
"version": "v2.8.0",
|
||||
"version": "v2.8.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/constant_time_encoding.git",
|
||||
"reference": "ce27936c8dfb73e3ab9c94469130428af9752c96"
|
||||
"reference": "e30811f7bc69e4b5b6d5783e712c06c8eabf0226"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/ce27936c8dfb73e3ab9c94469130428af9752c96",
|
||||
"reference": "ce27936c8dfb73e3ab9c94469130428af9752c96",
|
||||
"url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/e30811f7bc69e4b5b6d5783e712c06c8eabf0226",
|
||||
"reference": "e30811f7bc69e4b5b6d5783e712c06c8eabf0226",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1632,7 +1632,7 @@
|
||||
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
|
||||
"source": "https://github.com/paragonie/constant_time_encoding"
|
||||
},
|
||||
"time": "2025-09-22T20:41:46+00:00"
|
||||
"time": "2025-09-24T15:12:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/random_compat",
|
||||
@@ -2596,16 +2596,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client",
|
||||
"version": "v7.3.3",
|
||||
"version": "v7.3.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-client.git",
|
||||
"reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019"
|
||||
"reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019",
|
||||
"reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/4b62871a01c49457cf2a8e560af7ee8a94b87a62",
|
||||
"reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2672,7 +2672,7 @@
|
||||
"http"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-client/tree/v7.3.3"
|
||||
"source": "https://github.com/symfony/http-client/tree/v7.3.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2692,7 +2692,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-27T07:45:05+00:00"
|
||||
"time": "2025-09-11T10:12:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client-contracts",
|
||||
@@ -3635,16 +3635,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/database",
|
||||
"version": "1.5.0",
|
||||
"version": "1.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/database.git",
|
||||
"reference": "24c4519b4ac32aee13af31dddd984db2a3b34980"
|
||||
"reference": "56efe4daaf23abb753553acffccdcc04cd6178c9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/24c4519b4ac32aee13af31dddd984db2a3b34980",
|
||||
"reference": "24c4519b4ac32aee13af31dddd984db2a3b34980",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/56efe4daaf23abb753553acffccdcc04cd6178c9",
|
||||
"reference": "56efe4daaf23abb753553acffccdcc04cd6178c9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3685,9 +3685,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/database/issues",
|
||||
"source": "https://github.com/utopia-php/database/tree/1.5.0"
|
||||
"source": "https://github.com/utopia-php/database/tree/1.5.1"
|
||||
},
|
||||
"time": "2025-09-18T14:42:01+00:00"
|
||||
"time": "2025-10-01T04:44:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/detector",
|
||||
@@ -3939,16 +3939,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/framework",
|
||||
"version": "0.33.27",
|
||||
"version": "0.33.28",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/http.git",
|
||||
"reference": "d9d10a895e85c8c7675220347cc6109db9d3bd37"
|
||||
"reference": "5aaa94d406577b0059ad28c78022606890dc6de0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/http/zipball/d9d10a895e85c8c7675220347cc6109db9d3bd37",
|
||||
"reference": "d9d10a895e85c8c7675220347cc6109db9d3bd37",
|
||||
"url": "https://api.github.com/repos/utopia-php/http/zipball/5aaa94d406577b0059ad28c78022606890dc6de0",
|
||||
"reference": "5aaa94d406577b0059ad28c78022606890dc6de0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3980,9 +3980,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/http/issues",
|
||||
"source": "https://github.com/utopia-php/http/tree/0.33.27"
|
||||
"source": "https://github.com/utopia-php/http/tree/0.33.28"
|
||||
},
|
||||
"time": "2025-09-07T18:40:53+00:00"
|
||||
"time": "2025-09-25T10:44:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/image",
|
||||
@@ -4187,16 +4187,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/migration",
|
||||
"version": "1.1.1",
|
||||
"version": "1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/migration.git",
|
||||
"reference": "c42935a6a4ee3701c68d24244e82ecb39e945ec4"
|
||||
"reference": "42ff497c5231f5a727d1e229419ff1d2195d8093"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/migration/zipball/c42935a6a4ee3701c68d24244e82ecb39e945ec4",
|
||||
"reference": "c42935a6a4ee3701c68d24244e82ecb39e945ec4",
|
||||
"url": "https://api.github.com/repos/utopia-php/migration/zipball/42ff497c5231f5a727d1e229419ff1d2195d8093",
|
||||
"reference": "42ff497c5231f5a727d1e229419ff1d2195d8093",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4237,9 +4237,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/migration/issues",
|
||||
"source": "https://github.com/utopia-php/migration/tree/1.1.1"
|
||||
"source": "https://github.com/utopia-php/migration/tree/1.2.0"
|
||||
},
|
||||
"time": "2025-09-10T06:17:20+00:00"
|
||||
"time": "2025-09-24T10:32:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/orchestration",
|
||||
@@ -5004,16 +5004,16 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "appwrite/sdk-generator",
|
||||
"version": "1.4.0",
|
||||
"version": "1.4.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/appwrite/sdk-generator.git",
|
||||
"reference": "3583fa6fddb1d1a902b37ff2048527a5827fc008"
|
||||
"reference": "07a7d6276bd684b49469ad7b9e8c3c962121c6fd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/3583fa6fddb1d1a902b37ff2048527a5827fc008",
|
||||
"reference": "3583fa6fddb1d1a902b37ff2048527a5827fc008",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/07a7d6276bd684b49469ad7b9e8c3c962121c6fd",
|
||||
"reference": "07a7d6276bd684b49469ad7b9e8c3c962121c6fd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5049,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.4.0"
|
||||
"source": "https://github.com/appwrite/sdk-generator/tree/1.4.2"
|
||||
},
|
||||
"time": "2025-09-23T02:27:10+00:00"
|
||||
"time": "2025-10-01T03:23:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
@@ -6230,16 +6230,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.6.27",
|
||||
"version": "9.6.29",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "0a9aa4440b6a9528cf360071502628d717af3e0a"
|
||||
"reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0a9aa4440b6a9528cf360071502628d717af3e0a",
|
||||
"reference": "0a9aa4440b6a9528cf360071502628d717af3e0a",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9ecfec57835a5581bc888ea7e13b51eb55ab9dd3",
|
||||
"reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -6264,7 +6264,7 @@
|
||||
"sebastian/comparator": "^4.0.9",
|
||||
"sebastian/diff": "^4.0.6",
|
||||
"sebastian/environment": "^5.1.5",
|
||||
"sebastian/exporter": "^4.0.6",
|
||||
"sebastian/exporter": "^4.0.8",
|
||||
"sebastian/global-state": "^5.0.8",
|
||||
"sebastian/object-enumerator": "^4.0.4",
|
||||
"sebastian/resource-operations": "^3.0.4",
|
||||
@@ -6313,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.27"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.29"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -6337,7 +6337,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-09-14T06:18:03+00:00"
|
||||
"time": "2025-09-24T06:29:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
@@ -6829,16 +6829,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/exporter",
|
||||
"version": "4.0.7",
|
||||
"version": "4.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/exporter.git",
|
||||
"reference": "eb49b981ef0817890129cb70f774506bebe57740"
|
||||
"reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/eb49b981ef0817890129cb70f774506bebe57740",
|
||||
"reference": "eb49b981ef0817890129cb70f774506bebe57740",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c",
|
||||
"reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -6894,7 +6894,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/exporter/issues",
|
||||
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.7"
|
||||
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.8"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -6914,7 +6914,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-09-22T05:18:21+00:00"
|
||||
"time": "2025-09-24T06:03:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/global-state",
|
||||
@@ -7497,16 +7497,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v7.3.3",
|
||||
"version": "v7.3.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7"
|
||||
"reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7",
|
||||
"reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/2b9c5fafbac0399a20a2e82429e2bd735dcfb7db",
|
||||
"reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7571,7 +7571,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v7.3.3"
|
||||
"source": "https://github.com/symfony/console/tree/v7.3.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -7591,7 +7591,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-25T06:35:40+00:00"
|
||||
"time": "2025-09-22T15:31:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
@@ -8134,16 +8134,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v7.3.3",
|
||||
"version": "v7.3.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "32241012d521e2e8a9d713adb0812bb773b907f1"
|
||||
"reference": "f24f8f316367b30810810d4eb30c543d7003ff3b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/32241012d521e2e8a9d713adb0812bb773b907f1",
|
||||
"reference": "32241012d521e2e8a9d713adb0812bb773b907f1",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b",
|
||||
"reference": "f24f8f316367b30810810d4eb30c543d7003ff3b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -8175,7 +8175,7 @@
|
||||
"description": "Executes commands in sub-processes",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/process/tree/v7.3.3"
|
||||
"source": "https://github.com/symfony/process/tree/v7.3.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -8195,20 +8195,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-18T09:42:54+00:00"
|
||||
"time": "2025-09-11T10:12:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v7.3.3",
|
||||
"version": "v7.3.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c"
|
||||
"reference": "f96476035142921000338bad71e5247fbc138872"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c",
|
||||
"reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872",
|
||||
"reference": "f96476035142921000338bad71e5247fbc138872",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -8223,7 +8223,6 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/emoji": "^7.1",
|
||||
"symfony/error-handler": "^6.4|^7.0",
|
||||
"symfony/http-client": "^6.4|^7.0",
|
||||
"symfony/intl": "^6.4|^7.0",
|
||||
"symfony/translation-contracts": "^2.5|^3.0",
|
||||
@@ -8266,7 +8265,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v7.3.3"
|
||||
"source": "https://github.com/symfony/string/tree/v7.3.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -8286,7 +8285,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-25T06:35:40+00:00"
|
||||
"time": "2025-09-11T14:36:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "textalk/websocket",
|
||||
|
||||
@@ -273,6 +273,9 @@ class Oidc extends OAuth2
|
||||
{
|
||||
if (empty($this->wellKnownConfiguration)) {
|
||||
$response = $this->request('GET', $this->getWellKnownEndpoint());
|
||||
if (empty($response)) {
|
||||
throw new Exception('Invalid well-known configuration');
|
||||
}
|
||||
$this->wellKnownConfiguration = \json_decode($response, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -592,6 +592,7 @@ class Event
|
||||
$this->project = $event->getProject();
|
||||
$this->user = $event->getUser();
|
||||
$this->payload = $event->getPayload();
|
||||
$this->sensitive = $event->sensitive;
|
||||
$this->event = $event->getEvent();
|
||||
$this->params = $event->getParams();
|
||||
$this->context = $event->context;
|
||||
|
||||
+1
-4
@@ -108,10 +108,7 @@ class XList extends Action
|
||||
$audit = new Audit($dbForProject);
|
||||
$type = $this->getCollectionsEventsContext();
|
||||
$context = $this->getContext();
|
||||
$resource = match ($context) {
|
||||
ROWS => "database/$databaseId/grid/$type/$collectionId/$context/{$document->getId()}",
|
||||
default => "database/$databaseId/$type/$collectionId/$context/{$document->getId()}",
|
||||
};
|
||||
$resource = "database/$databaseId/$type/$collectionId/$context/{$document->getId()}";
|
||||
|
||||
$logs = $audit->getLogsByResource($resource, $queries);
|
||||
|
||||
|
||||
@@ -104,11 +104,7 @@ class XList extends Action
|
||||
|
||||
$audit = new Audit($dbForProject);
|
||||
$context = $this->getContext();
|
||||
$resource = match ($context) {
|
||||
TABLES => "database/$databaseId/grid/$context/$collectionId",
|
||||
default => "database/$databaseId/$context/$collectionId",
|
||||
};
|
||||
|
||||
$resource = "database/$databaseId/$context/$collectionId";
|
||||
$logs = $audit->getLogsByResource($resource, $queries);
|
||||
|
||||
$output = [];
|
||||
|
||||
@@ -686,6 +686,7 @@ class Builds extends Action
|
||||
if ($version === 'v2') {
|
||||
$command = 'tar -zxf /tmp/code.tar.gz -C /usr/code && cd /usr/local/src/ && ./build.sh';
|
||||
} else {
|
||||
$outputDirectory = $deployment->getAttribute('buildOutput') ?? $resource->getAttribute('outputDirectory');
|
||||
if ($resource->getCollection() === 'sites') {
|
||||
$listFilesCommand = '';
|
||||
|
||||
@@ -693,8 +694,8 @@ class Builds extends Action
|
||||
$listFilesCommand .= 'echo "{APPWRITE_DETECTION_SEPARATOR_START}" && cd /usr/local/build';
|
||||
|
||||
// Enter output directory, if set
|
||||
if (!empty($resource->getAttribute('outputDirectory', ''))) {
|
||||
$listFilesCommand .= ' && cd ' . \escapeshellarg($resource->getAttribute('outputDirectory', ''));
|
||||
if (!empty($outputDirectory)) {
|
||||
$listFilesCommand .= ' && cd ' . \escapeshellarg($outputDirectory);
|
||||
}
|
||||
|
||||
// Print files, and end separation
|
||||
@@ -725,7 +726,7 @@ class Builds extends Action
|
||||
destination: APP_STORAGE_BUILDS . "/app-{$project->getId()}",
|
||||
variables: $vars,
|
||||
command: $command,
|
||||
outputDirectory: $resource->getAttribute('outputDirectory', '')
|
||||
outputDirectory: $outputDirectory ?? ''
|
||||
);
|
||||
|
||||
Console::log('createRuntime finished');
|
||||
|
||||
@@ -624,6 +624,84 @@ abstract class Format
|
||||
return 'AttributeStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnString':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnInteger':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnFloat':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnBoolean':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnEmail':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnEnum':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnIp':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnUrl':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnDatetime':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnRelationship':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnPoint':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnLine':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'columnPolygon':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
return 'ColumnStatus';
|
||||
}
|
||||
break;
|
||||
case 'healthStatus':
|
||||
switch ($param) {
|
||||
case 'status':
|
||||
|
||||
@@ -23,10 +23,11 @@ class Column extends Model
|
||||
'example' => 'string',
|
||||
])
|
||||
->addRule('status', [
|
||||
'type' => self::TYPE_STRING,
|
||||
'type' => self::TYPE_ENUM,
|
||||
'description' => 'Column status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`',
|
||||
'default' => '',
|
||||
'example' => 'available',
|
||||
'enum' => ['available', 'processing', 'deleting', 'stuck', 'failed'],
|
||||
])
|
||||
->addRule('error', [
|
||||
'type' => self::TYPE_STRING,
|
||||
|
||||
@@ -41,10 +41,11 @@ class Database extends Model
|
||||
'example' => false,
|
||||
])
|
||||
->addRule('type', [
|
||||
'type' => self::TYPE_STRING,
|
||||
'type' => self::TYPE_ENUM,
|
||||
'description' => 'Database type.',
|
||||
'default' => 'legacy',
|
||||
'example' => 'legacy',
|
||||
'enum' => ['legacy', 'tablesdb'],
|
||||
])
|
||||
;
|
||||
}
|
||||
|
||||
@@ -41,10 +41,10 @@ class Platform extends Model
|
||||
])
|
||||
->addRule('type', [
|
||||
'type' => self::TYPE_ENUM,
|
||||
'description' => 'Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, ios, android, and unity.',
|
||||
'description' => 'Platform type. Possible values are: web, flutter-web, flutter-ios, flutter-android, flutter-linux, flutter-macos, flutter-windows, apple-ios, apple-macos, apple-watchos, apple-tvos, android, unity, react-native-ios, react-native-android.',
|
||||
'default' => '',
|
||||
'example' => 'web',
|
||||
'enum' => ['web', 'flutter-web', 'flutter-ios', 'flutter-android', 'ios', 'android', 'unity'],
|
||||
'enum' => ['web', 'flutter-web', 'flutter-ios', 'flutter-android', 'flutter-linux', 'flutter-macos', 'flutter-windows', 'apple-ios', 'apple-macos', 'apple-watchos', 'apple-tvos', 'android', 'unity', 'react-native-ios', 'react-native-android'],
|
||||
])
|
||||
->addRule('key', [
|
||||
'type' => self::TYPE_STRING,
|
||||
|
||||
@@ -1539,6 +1539,77 @@ class AccountCustomClientTest extends Scope
|
||||
return [];
|
||||
}
|
||||
|
||||
public function testCreateOidcOAuth2Token(): array
|
||||
{
|
||||
$provider = 'oidc';
|
||||
$appId = '1';
|
||||
|
||||
// Valid well-known configuration
|
||||
$secret = '{
|
||||
"wellKnownEndpoint": "https://accounts.google.com/.well-known/openid-configuration",
|
||||
"authorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
|
||||
"tokenEndpoint": "https://oauth2.googleapis.com/token",
|
||||
"userinfoEndpoint": "https://openidconnect.googleapis.com/v1/userinfo"
|
||||
}';
|
||||
|
||||
$response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $this->getProject()['$id'] . '/oauth2', array_merge([
|
||||
'origin' => 'http://localhost',
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => 'console',
|
||||
'cookie' => 'a_session_console=' . $this->getRoot()['session'],
|
||||
]), [
|
||||
'provider' => $provider,
|
||||
'appId' => $appId,
|
||||
'secret' => $secret,
|
||||
'enabled' => true,
|
||||
]);
|
||||
|
||||
$this->assertEquals(200, $response['headers']['status-code']);
|
||||
|
||||
$response = $this->client->call(Client::METHOD_GET, '/account/tokens/oauth2/' . $provider, array_merge([
|
||||
'origin' => 'http://localhost',
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $this->getProject()['$id'],
|
||||
]), [
|
||||
'provider' => $provider,
|
||||
'success' => 'http://localhost/v1/mock/tests/general/oauth2/success',
|
||||
'failure' => 'http://localhost/v1/mock/tests/general/oauth2/failure',
|
||||
], true, false);
|
||||
|
||||
$this->assertEquals(301, $response['headers']['status-code']);
|
||||
|
||||
// Invalid well-known configuration
|
||||
$secret = '{}';
|
||||
|
||||
$response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $this->getProject()['$id'] . '/oauth2', array_merge([
|
||||
'origin' => 'http://localhost',
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => 'console',
|
||||
'cookie' => 'a_session_console=' . $this->getRoot()['session'],
|
||||
]), [
|
||||
'provider' => $provider,
|
||||
'appId' => $appId,
|
||||
'secret' => $secret,
|
||||
'enabled' => true,
|
||||
]);
|
||||
|
||||
$this->assertEquals(200, $response['headers']['status-code']);
|
||||
|
||||
$response = $this->client->call(Client::METHOD_GET, '/account/tokens/oauth2/' . $provider, array_merge([
|
||||
'origin' => 'http://localhost',
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $this->getProject()['$id'],
|
||||
]), [
|
||||
'provider' => $provider,
|
||||
'success' => 'http://localhost/v1/mock/tests/general/oauth2/success',
|
||||
'failure' => 'http://localhost/v1/mock/tests/general/oauth2/failure',
|
||||
]);
|
||||
|
||||
$this->assertEquals(500, $response['headers']['status-code']);
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
public function testBlockedAccount(): array
|
||||
{
|
||||
$email = uniqid() . 'user@localhost.test';
|
||||
|
||||
@@ -2507,4 +2507,155 @@ class RealtimeCustomClientTest extends Scope
|
||||
|
||||
$client->close();
|
||||
}
|
||||
|
||||
public function testRelationshipPayloadHidesRelatedDoc()
|
||||
{
|
||||
$user = $this->getUser();
|
||||
$session = $user['session'] ?? '';
|
||||
$projectId = $this->getProject()['$id'];
|
||||
|
||||
$client = $this->getWebsocket(['documents'], [
|
||||
'origin' => 'http://localhost',
|
||||
'cookie' => 'a_session_' . $projectId . '=' . $session
|
||||
]);
|
||||
|
||||
$response = json_decode($client->receive(), true);
|
||||
$this->assertArrayHasKey('type', $response);
|
||||
$this->assertEquals('connected', $response['type']);
|
||||
|
||||
// Create database
|
||||
$database = $this->client->call(Client::METHOD_POST, '/databases', array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'databaseId' => ID::unique(),
|
||||
'name' => 'db-rel'
|
||||
]);
|
||||
$databaseId = $database['body']['$id'];
|
||||
|
||||
$level1 = $this->client->call(Client::METHOD_POST, "/databases/{$databaseId}/collections", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'collectionId' => ID::unique(),
|
||||
'name' => 'level1',
|
||||
'permissions' => [
|
||||
Permission::read(Role::any()),
|
||||
Permission::create(Role::any()),
|
||||
Permission::update(Role::any()),
|
||||
Permission::delete(Role::any()),
|
||||
],
|
||||
'documentSecurity' => true,
|
||||
]);
|
||||
$level1Id = $level1['body']['$id'];
|
||||
|
||||
$level2 = $this->client->call(Client::METHOD_POST, "/databases/{$databaseId}/collections", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'collectionId' => ID::unique(),
|
||||
'name' => 'level2',
|
||||
'permissions' => [
|
||||
Permission::read(Role::any()),
|
||||
Permission::create(Role::any()),
|
||||
Permission::update(Role::any()),
|
||||
Permission::delete(Role::any()),
|
||||
],
|
||||
'documentSecurity' => true,
|
||||
]);
|
||||
$level2Id = $level2['body']['$id'];
|
||||
|
||||
$this->client->call(Client::METHOD_POST, "/databases/{$databaseId}/collections/{$level1Id}/attributes/string", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'key' => 'name',
|
||||
'size' => 256,
|
||||
'required' => false,
|
||||
]);
|
||||
|
||||
$this->client->call(Client::METHOD_POST, "/databases/{$databaseId}/collections/{$level2Id}/attributes/string", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'key' => 'name',
|
||||
'size' => 256,
|
||||
'required' => false,
|
||||
]);
|
||||
|
||||
sleep(2);
|
||||
|
||||
// two-way one-to-one relationship from level1 to level2
|
||||
$this->client->call(Client::METHOD_POST, "/databases/{$databaseId}/collections/{$level1Id}/attributes/relationship", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'relatedCollectionId' => $level2Id,
|
||||
'type' => 'oneToOne',
|
||||
'twoWay' => true,
|
||||
'key' => 'level2Ref',
|
||||
'onDelete' => 'cascade',
|
||||
]);
|
||||
|
||||
sleep(2);
|
||||
|
||||
$doc2 = $this->client->call(Client::METHOD_POST, "/databases/{$databaseId}/collections/{$level2Id}/documents", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
], $this->getHeaders()), [
|
||||
'documentId' => ID::unique(),
|
||||
'data' => [ 'name' => 'L2' ],
|
||||
'permissions' => [
|
||||
Permission::read(Role::any()),
|
||||
Permission::update(Role::any()),
|
||||
Permission::delete(Role::any()),
|
||||
],
|
||||
]);
|
||||
$doc2Id = $doc2['body']['$id'];
|
||||
|
||||
$doc1 = $this->client->call(Client::METHOD_POST, "/databases/{$databaseId}/collections/{$level1Id}/documents", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
], $this->getHeaders()), [
|
||||
'documentId' => ID::unique(),
|
||||
'data' => [ 'name' => 'L1' ],
|
||||
'permissions' => [
|
||||
Permission::read(Role::any()),
|
||||
Permission::update(Role::any()),
|
||||
Permission::delete(Role::any()),
|
||||
],
|
||||
]);
|
||||
$doc1Id = $doc1['body']['$id'];
|
||||
|
||||
json_decode($client->receive(), true);
|
||||
|
||||
$this->client->call(Client::METHOD_PATCH, "/databases/{$databaseId}/collections/{$level1Id}/documents/{$doc1Id}", array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $projectId,
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'data' => [
|
||||
'level2Ref' => $doc2Id,
|
||||
],
|
||||
]);
|
||||
|
||||
// payload should not contain the relationship attribute 'level2Ref'
|
||||
$event = json_decode($client->receive(), true);
|
||||
$this->assertArrayHasKey('type', $event);
|
||||
$this->assertEquals('event', $event['type']);
|
||||
$this->assertArrayHasKey('data', $event);
|
||||
$this->assertNotEmpty($event['data']);
|
||||
$this->assertArrayHasKey('payload', $event['data']);
|
||||
$this->assertArrayHasKey('$id', $event['data']['payload']);
|
||||
$this->assertEquals($doc1Id, $event['data']['payload']['$id']);
|
||||
$this->assertArrayNotHasKey('level2Ref', $event['data']['payload']);
|
||||
|
||||
$client->close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,21 @@ module.exports = async(context) => {
|
||||
// Create a string that is 1000001 characters long (exceeds the 1000000 limit)
|
||||
const longString = 'z' + 'a'.repeat(1000000);
|
||||
|
||||
context.log(longString);
|
||||
context.error(longString);
|
||||
// Split the string into chunks of 8000 characters (max limit for each log and error)
|
||||
const chunkSize = 8000;
|
||||
const chunks = [];
|
||||
|
||||
for (let i = 0; i < longString.length; i += chunkSize) {
|
||||
chunks.push(longString.slice(i, i + chunkSize));
|
||||
}
|
||||
|
||||
chunks.forEach((chunk, index) => {
|
||||
context.log(chunk);
|
||||
});
|
||||
|
||||
chunks.forEach((chunk, index) => {
|
||||
context.error(chunk);
|
||||
});
|
||||
|
||||
return context.res.json({
|
||||
motto: 'Build like a team of hundreds_',
|
||||
|
||||
Reference in New Issue
Block a user