mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
INDEX_DEPENDENCY
This commit is contained in:
@@ -36,6 +36,7 @@ use Utopia\Database\Query;
|
||||
use Utopia\Database\Validator\Authorization;
|
||||
use Utopia\Database\Validator\Datetime as DatetimeValidator;
|
||||
use Utopia\Database\Validator\Index as IndexValidator;
|
||||
use Utopia\Database\Validator\IndexDependency as IndexDependencyValidator;
|
||||
use Utopia\Database\Validator\Key;
|
||||
use Utopia\Database\Validator\Permissions;
|
||||
use Utopia\Database\Validator\Queries;
|
||||
@@ -2421,6 +2422,18 @@ App::delete('/v1/databases/:databaseId/collections/:collectionId/attributes/:key
|
||||
throw new Exception(Exception::ATTRIBUTE_NOT_FOUND);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check index dependency
|
||||
*/
|
||||
$validator = new IndexDependencyValidator(
|
||||
$collection->getAttribute('indexes'),
|
||||
$dbForProject->getAdapter()->getSupportForCastIndexArray(),
|
||||
);
|
||||
|
||||
if (! $validator->isValid($attribute)) {
|
||||
throw new Exception(Exception::INDEX_DEPENDENCY, $validator->getDescription());
|
||||
}
|
||||
|
||||
// Only update status if removing available attribute
|
||||
if ($attribute->getAttribute('status') === 'available') {
|
||||
$attribute = $dbForProject->updateDocument('attributes', $attribute->getId(), $attribute->setAttribute('status', 'deleting'));
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@
|
||||
"utopia-php/cache": "0.11.*",
|
||||
"utopia-php/cli": "0.15.*",
|
||||
"utopia-php/config": "0.2.*",
|
||||
"utopia-php/database": "0.53.32",
|
||||
"utopia-php/database": "dev-calculate-row-size as 0.53.32",
|
||||
"utopia-php/domains": "0.5.*",
|
||||
"utopia-php/dsn": "0.2.1",
|
||||
"utopia-php/framework": "0.33.*",
|
||||
|
||||
Generated
+40
-31
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "c88950f1d3119d0764a469e1d804ce71",
|
||||
"content-hash": "2660c24c56f07ac34e51d6128fa67557",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adhocore/jwt",
|
||||
@@ -1430,16 +1430,16 @@
|
||||
},
|
||||
{
|
||||
"name": "open-telemetry/gen-otlp-protobuf",
|
||||
"version": "1.2.1",
|
||||
"version": "1.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git",
|
||||
"reference": "66c3b98e998a726691c92e6405a82e6e7b8b169d"
|
||||
"reference": "585bafddd4ae6565de154610b10a787a455c9ba0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/66c3b98e998a726691c92e6405a82e6e7b8b169d",
|
||||
"reference": "66c3b98e998a726691c92e6405a82e6e7b8b169d",
|
||||
"url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/585bafddd4ae6565de154610b10a787a455c9ba0",
|
||||
"reference": "585bafddd4ae6565de154610b10a787a455c9ba0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1489,7 +1489,7 @@
|
||||
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
|
||||
"source": "https://github.com/open-telemetry/opentelemetry-php"
|
||||
},
|
||||
"time": "2024-10-30T11:49:49+00:00"
|
||||
"time": "2025-01-15T23:07:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "open-telemetry/sdk",
|
||||
@@ -3379,16 +3379,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/compression",
|
||||
"version": "0.1.2",
|
||||
"version": "0.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/compression.git",
|
||||
"reference": "6062f70596415f8d5de40a589367b0eb2a435f98"
|
||||
"reference": "66f093557ba66d98245e562036182016c7dcfe8a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/compression/zipball/6062f70596415f8d5de40a589367b0eb2a435f98",
|
||||
"reference": "6062f70596415f8d5de40a589367b0eb2a435f98",
|
||||
"url": "https://api.github.com/repos/utopia-php/compression/zipball/66f093557ba66d98245e562036182016c7dcfe8a",
|
||||
"reference": "66f093557ba66d98245e562036182016c7dcfe8a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3419,9 +3419,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/compression/issues",
|
||||
"source": "https://github.com/utopia-php/compression/tree/0.1.2"
|
||||
"source": "https://github.com/utopia-php/compression/tree/0.1.3"
|
||||
},
|
||||
"time": "2024-11-08T14:59:54+00:00"
|
||||
"time": "2025-01-15T15:15:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/config",
|
||||
@@ -3476,16 +3476,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/database",
|
||||
"version": "0.53.32",
|
||||
"version": "dev-calculate-row-size",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/database.git",
|
||||
"reference": "981a1241139b42dccd531511130b79137740b205"
|
||||
"reference": "7f433be4596ae3fce0af98e5a02c446aeaff19f2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/981a1241139b42dccd531511130b79137740b205",
|
||||
"reference": "981a1241139b42dccd531511130b79137740b205",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/7f433be4596ae3fce0af98e5a02c446aeaff19f2",
|
||||
"reference": "7f433be4596ae3fce0af98e5a02c446aeaff19f2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3526,9 +3526,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/database/issues",
|
||||
"source": "https://github.com/utopia-php/database/tree/0.53.32"
|
||||
"source": "https://github.com/utopia-php/database/tree/calculate-row-size"
|
||||
},
|
||||
"time": "2025-01-10T08:53:47+00:00"
|
||||
"time": "2025-01-16T14:43:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/domains",
|
||||
@@ -4095,16 +4095,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/platform",
|
||||
"version": "0.7.1",
|
||||
"version": "0.7.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/platform.git",
|
||||
"reference": "3433a0f1a54988f2a59c735f507745cb2c24638a"
|
||||
"reference": "6f9243848f1c6466f6509fd01c7e18306a6d8caf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/platform/zipball/3433a0f1a54988f2a59c735f507745cb2c24638a",
|
||||
"reference": "3433a0f1a54988f2a59c735f507745cb2c24638a",
|
||||
"url": "https://api.github.com/repos/utopia-php/platform/zipball/6f9243848f1c6466f6509fd01c7e18306a6d8caf",
|
||||
"reference": "6f9243848f1c6466f6509fd01c7e18306a6d8caf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4139,9 +4139,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/platform/issues",
|
||||
"source": "https://github.com/utopia-php/platform/tree/0.7.1"
|
||||
"source": "https://github.com/utopia-php/platform/tree/0.7.2"
|
||||
},
|
||||
"time": "2024-10-22T10:27:49+00:00"
|
||||
"time": "2025-01-15T05:56:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/pools",
|
||||
@@ -5126,16 +5126,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/pint",
|
||||
"version": "v1.19.0",
|
||||
"version": "v1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/pint.git",
|
||||
"reference": "8169513746e1bac70c85d6ea1524d9225d4886f0"
|
||||
"reference": "53072e8ea22213a7ed168a8a15b96fbb8b82d44b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/pint/zipball/8169513746e1bac70c85d6ea1524d9225d4886f0",
|
||||
"reference": "8169513746e1bac70c85d6ea1524d9225d4886f0",
|
||||
"url": "https://api.github.com/repos/laravel/pint/zipball/53072e8ea22213a7ed168a8a15b96fbb8b82d44b",
|
||||
"reference": "53072e8ea22213a7ed168a8a15b96fbb8b82d44b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5188,7 +5188,7 @@
|
||||
"issues": "https://github.com/laravel/pint/issues",
|
||||
"source": "https://github.com/laravel/pint"
|
||||
},
|
||||
"time": "2024-12-30T16:20:10+00:00"
|
||||
"time": "2025-01-14T16:20:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/minify",
|
||||
@@ -8554,9 +8554,18 @@
|
||||
"time": "2024-03-07T20:33:40+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
"aliases": [
|
||||
{
|
||||
"package": "utopia-php/database",
|
||||
"version": "dev-calculate-row-size",
|
||||
"alias": "0.53.32",
|
||||
"alias_normalized": "0.53.32.0"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": {},
|
||||
"stability-flags": {
|
||||
"utopia-php/database": 20
|
||||
},
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
|
||||
Reference in New Issue
Block a user