Delete relating
This commit is contained in:
parent
05dd17bd55
commit
554a666813
111
composer.lock
generated
111
composer.lock
generated
|
@ -156,21 +156,21 @@
|
|||
},
|
||||
{
|
||||
"name": "appwrite/php-runtimes",
|
||||
"version": "0.13.3",
|
||||
"version": "0.13.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/appwrite/runtimes.git",
|
||||
"reference": "5d93fc578a9a543bcdc9b2c0562d80a51d56c73d"
|
||||
"reference": "ba24c3a163f1a1da6cd355db92def508d05e59f7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/appwrite/runtimes/zipball/5d93fc578a9a543bcdc9b2c0562d80a51d56c73d",
|
||||
"reference": "5d93fc578a9a543bcdc9b2c0562d80a51d56c73d",
|
||||
"url": "https://api.github.com/repos/appwrite/runtimes/zipball/ba24c3a163f1a1da6cd355db92def508d05e59f7",
|
||||
"reference": "ba24c3a163f1a1da6cd355db92def508d05e59f7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.0",
|
||||
"utopia-php/system": "0.7.*"
|
||||
"utopia-php/system": "0.8.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.3",
|
||||
|
@ -204,9 +204,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/appwrite/runtimes/issues",
|
||||
"source": "https://github.com/appwrite/runtimes/tree/0.13.3"
|
||||
"source": "https://github.com/appwrite/runtimes/tree/0.13.5"
|
||||
},
|
||||
"time": "2024-03-01T14:47:47+00:00"
|
||||
"time": "2024-04-01T10:35:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "beberlei/assert",
|
||||
|
@ -2337,16 +2337,16 @@
|
|||
},
|
||||
{
|
||||
"name": "utopia-php/storage",
|
||||
"version": "0.18.3",
|
||||
"version": "0.18.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/storage.git",
|
||||
"reference": "faa0279519ac14f3501e8b138e0865ad9d12bff6"
|
||||
"reference": "94ab8758fabcefee5c5fa723616e45719833f922"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/storage/zipball/faa0279519ac14f3501e8b138e0865ad9d12bff6",
|
||||
"reference": "faa0279519ac14f3501e8b138e0865ad9d12bff6",
|
||||
"url": "https://api.github.com/repos/utopia-php/storage/zipball/94ab8758fabcefee5c5fa723616e45719833f922",
|
||||
"reference": "94ab8758fabcefee5c5fa723616e45719833f922",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2386,9 +2386,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/storage/issues",
|
||||
"source": "https://github.com/utopia-php/storage/tree/0.18.3"
|
||||
"source": "https://github.com/utopia-php/storage/tree/0.18.4"
|
||||
},
|
||||
"time": "2023-12-31T11:45:12+00:00"
|
||||
"time": "2024-04-02T08:24:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/swoole",
|
||||
|
@ -2443,16 +2443,16 @@
|
|||
},
|
||||
{
|
||||
"name": "utopia-php/system",
|
||||
"version": "0.7.2",
|
||||
"version": "0.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/system.git",
|
||||
"reference": "4593d4d334b0c15879c4744a826e0362924c5d66"
|
||||
"reference": "a2cbfb3c69b9ecb8b6f06c5774f3cf279ea7665e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/system/zipball/4593d4d334b0c15879c4744a826e0362924c5d66",
|
||||
"reference": "4593d4d334b0c15879c4744a826e0362924c5d66",
|
||||
"url": "https://api.github.com/repos/utopia-php/system/zipball/a2cbfb3c69b9ecb8b6f06c5774f3cf279ea7665e",
|
||||
"reference": "a2cbfb3c69b9ecb8b6f06c5774f3cf279ea7665e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2493,9 +2493,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/system/issues",
|
||||
"source": "https://github.com/utopia-php/system/tree/0.7.2"
|
||||
"source": "https://github.com/utopia-php/system/tree/0.8.0"
|
||||
},
|
||||
"time": "2023-10-20T01:39:17+00:00"
|
||||
"time": "2024-04-01T10:22:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/vcs",
|
||||
|
@ -2731,16 +2731,16 @@
|
|||
"packages-dev": [
|
||||
{
|
||||
"name": "appwrite/sdk-generator",
|
||||
"version": "0.37.8",
|
||||
"version": "0.37.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/appwrite/sdk-generator.git",
|
||||
"reference": "29844ac860237018a5d6bce17f8b591c996081ef"
|
||||
"reference": "d875e74c2d64e11c0f787531cea0b3b3703f476a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/29844ac860237018a5d6bce17f8b591c996081ef",
|
||||
"reference": "29844ac860237018a5d6bce17f8b591c996081ef",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/d875e74c2d64e11c0f787531cea0b3b3703f476a",
|
||||
"reference": "d875e74c2d64e11c0f787531cea0b3b3703f476a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2776,9 +2776,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/0.37.8"
|
||||
"source": "https://github.com/appwrite/sdk-generator/tree/0.37.10"
|
||||
},
|
||||
"time": "2024-03-12T14:13:43+00:00"
|
||||
"time": "2024-04-17T07:55:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
|
@ -2899,16 +2899,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/pint",
|
||||
"version": "v1.14.0",
|
||||
"version": "v1.15.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/pint.git",
|
||||
"reference": "6b127276e3f263f7bb17d5077e9e0269e61b2a0e"
|
||||
"reference": "5f288b5e79938cc72f5c298d384e639de87507c6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/pint/zipball/6b127276e3f263f7bb17d5077e9e0269e61b2a0e",
|
||||
"reference": "6b127276e3f263f7bb17d5077e9e0269e61b2a0e",
|
||||
"url": "https://api.github.com/repos/laravel/pint/zipball/5f288b5e79938cc72f5c298d384e639de87507c6",
|
||||
"reference": "5f288b5e79938cc72f5c298d384e639de87507c6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2919,13 +2919,13 @@
|
|||
"php": "^8.1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.49.0",
|
||||
"illuminate/view": "^10.43.0",
|
||||
"larastan/larastan": "^2.8.1",
|
||||
"friendsofphp/php-cs-fixer": "^3.52.1",
|
||||
"illuminate/view": "^10.48.4",
|
||||
"larastan/larastan": "^2.9.2",
|
||||
"laravel-zero/framework": "^10.3.0",
|
||||
"mockery/mockery": "^1.6.7",
|
||||
"mockery/mockery": "^1.6.11",
|
||||
"nunomaduro/termwind": "^1.15.1",
|
||||
"pestphp/pest": "^2.33.6"
|
||||
"pestphp/pest": "^2.34.5"
|
||||
},
|
||||
"bin": [
|
||||
"builds/pint"
|
||||
|
@ -2961,7 +2961,7 @@
|
|||
"issues": "https://github.com/laravel/pint/issues",
|
||||
"source": "https://github.com/laravel/pint"
|
||||
},
|
||||
"time": "2024-02-20T17:38:05+00:00"
|
||||
"time": "2024-04-02T14:28:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/minify",
|
||||
|
@ -3377,28 +3377,35 @@
|
|||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-docblock",
|
||||
"version": "5.3.0",
|
||||
"version": "5.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
|
||||
"reference": "298d2febfe79d03fe714eb871d5538da55205b1a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
|
||||
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a",
|
||||
"reference": "298d2febfe79d03fe714eb871d5538da55205b1a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/deprecations": "^1.1",
|
||||
"ext-filter": "*",
|
||||
"php": "^7.2 || ^8.0",
|
||||
"php": "^7.4 || ^8.0",
|
||||
"phpdocumentor/reflection-common": "^2.2",
|
||||
"phpdocumentor/type-resolver": "^1.3",
|
||||
"phpdocumentor/type-resolver": "^1.7",
|
||||
"phpstan/phpdoc-parser": "^1.7",
|
||||
"webmozart/assert": "^1.9.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~1.3.2",
|
||||
"psalm/phar": "^4.8"
|
||||
"mockery/mockery": "~1.3.5",
|
||||
"phpstan/extension-installer": "^1.1",
|
||||
"phpstan/phpstan": "^1.8",
|
||||
"phpstan/phpstan-mockery": "^1.1",
|
||||
"phpstan/phpstan-webmozart-assert": "^1.2",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"vimeo/psalm": "^5.13"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
@ -3422,15 +3429,15 @@
|
|||
},
|
||||
{
|
||||
"name": "Jaap van Otterdijk",
|
||||
"email": "account@ijaap.nl"
|
||||
"email": "opensource@ijaap.nl"
|
||||
}
|
||||
],
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0"
|
||||
},
|
||||
"time": "2021-10-19T17:43:47+00:00"
|
||||
"time": "2024-04-09T21:13:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
|
@ -3561,16 +3568,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "1.27.0",
|
||||
"version": "1.28.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757"
|
||||
"reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/86e4d5a4b036f8f0be1464522f4c6b584c452757",
|
||||
"reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
|
||||
"reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3602,9 +3609,9 @@
|
|||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.27.0"
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0"
|
||||
},
|
||||
"time": "2024-03-21T13:14:53+00:00"
|
||||
"time": "2024-04-03T18:51:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
|
|
|
@ -515,19 +515,25 @@ class Databases extends Action
|
|||
$databaseId = $database->getId();
|
||||
$databaseInternalId = $database->getInternalId();
|
||||
|
||||
$relationships = \array_filter(
|
||||
$collection->getAttribute('attributes'),
|
||||
fn ($attribute) => $attribute['type'] === Database::VAR_RELATIONSHIP
|
||||
);
|
||||
/**
|
||||
* Related collections relating to current collection
|
||||
*/
|
||||
$attributes = $dbForProject->find('attributes', [
|
||||
Query::equal('databaseInternalId', [$databaseInternalId]),
|
||||
Query::equal('type', [Database::VAR_RELATIONSHIP]),
|
||||
Query::notEqual('collectionInternalId', $collectionInternalId),
|
||||
Query::contains('options', ['"relatedCollection":"'. $collectionId .'"']), // Comment in Version < 1.5
|
||||
Query::limit(PHP_INT_MAX)
|
||||
]);
|
||||
|
||||
foreach ($relationships as $relationship) {
|
||||
if (!$relationship['twoWay']) {
|
||||
continue;
|
||||
foreach ($attributes as $attribute) {
|
||||
$options = $attribute->getAttribute('options', []);
|
||||
if($options['relatedCollection'] === $collectionId){ // Remove if using contains query above
|
||||
$dbForProject->deleteDocument('attributes', $attribute->getId());
|
||||
Console::success('Deleted document "' . $attribute->getId() . '" related collection successfully');
|
||||
$dbForProject->purgeCachedDocument('database_' . $databaseInternalId, $attribute->getAttribute('collectionId'));
|
||||
$dbForProject->purgeCachedCollection('database_' . $databaseInternalId . '_collection_' . $attribute->getAttribute('collectionInternalId'));
|
||||
}
|
||||
$relatedCollection = $dbForProject->getDocument('database_' . $databaseInternalId, $relationship['relatedCollection']);
|
||||
$dbForProject->deleteDocument('attributes', $databaseInternalId . '_' . $relatedCollection->getInternalId() . '_' . $relationship['twoWayKey']);
|
||||
$dbForProject->purgeCachedDocument('database_' . $databaseInternalId, $relatedCollection->getId());
|
||||
$dbForProject->purgeCachedCollection('database_' . $databaseInternalId . '_collection_' . $relatedCollection->getInternalId());
|
||||
}
|
||||
|
||||
$dbForProject->deleteCollection('database_' . $databaseInternalId . '_collection_' . $collection->getInternalId());
|
||||
|
|
Loading…
Reference in a new issue