Implement Suggestions

This commit is contained in:
Bradley Schofield
2023-07-21 01:04:08 +01:00
parent 7fb537f496
commit f693a43420
2 changed files with 41 additions and 53 deletions
+37 -49
View File
@@ -89,13 +89,13 @@ App::get('/v1/migrations/:migrationId')
$migration = $dbForProject->getDocument('migrations', $migrationId);
if ($migration->isEmpty()) {
throw new Exception(Exception::MIGRATION_NOT_FOUND, 'Migration not found', 404);
throw new Exception(Exception::MIGRATION_NOT_FOUND);
}
$response->dynamic($migration, Response::MODEL_MIGRATION);
});
App::post('/v1/migrations/:migrationId')
App::patch('/v1/migrations/:migrationId')
->groups(['api', 'migrations'])
->desc('Retry Migration')
->label('scope', 'migrations.write')
@@ -106,7 +106,7 @@ App::post('/v1/migrations/:migrationId')
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'retry')
->label('sdk.description', '/docs/references/migrations/retry-migration.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.code', Response::STATUS_CODE_ACCEPTED)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MIGRATION)
->param('migrationId', '', new UID(), 'Migration unique ID.')
@@ -122,9 +122,9 @@ App::post('/v1/migrations/:migrationId')
throw new Exception(Exception::MIGRATION_NOT_FOUND);
}
// if ($migration->getAttribute('status') !== 'failed') {
// throw new Exception(Exception::MIGRATION_IN_PROGRESS, 'Migration not failed');
// }
if ($migration->getAttribute('status') !== 'failed') {
throw new Exception(Exception::MIGRATION_IN_PROGRESS, 'Migration not failed yet');
}
$migration
->setAttribute('status', 'pending')
@@ -164,17 +164,13 @@ App::delete('/v1/migrations/:migrationId')
$migration = $dbForProject->getDocument('migrations', $migrationId);
if ($migration->isEmpty()) {
throw new Exception(Exception::MIGRATION_NOT_FOUND, 'Migration not found', 404);
throw new Exception(Exception::MIGRATION_NOT_FOUND);
}
if (!$dbForProject->deleteDocument('migrations', $migration->getId())) {
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Failed to remove migration from DB', 500);
}
$deletes
->setType(DELETE_TYPE_DOCUMENT)
->setDocument($migration);
$events->setParam('migrationId', $migration->getId());
$response->noContent();
@@ -190,7 +186,7 @@ App::post('/v1/migrations/appwrite')
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'migrateAppwrite')
->label('sdk.description', '/docs/references/migrations/migration-appwrite.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.code', Response::STATUS_CODE_ACCEPTED)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MIGRATION)
->param('resources', [], new ArrayList(new WhiteList(Appwrite::getSupportedResources())), 'List of resources to migrate')
@@ -234,13 +230,13 @@ App::post('/v1/migrations/appwrite')
->dynamic($migration, Response::MODEL_MIGRATION);
});
App::post('/v1/migrations/appwrite/report')
App::get('/v1/migrations/appwrite/report')
->groups(['api', 'migrations'])
->desc('Generate a report on Appwrite Data')
->label('scope', 'migrations.write')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'generateAppwriteReport')
->label('sdk.method', 'getAppwriteReport')
->label('sdk.description', '/docs/references/migrations/migration-appwrite-report.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
@@ -254,12 +250,15 @@ App::post('/v1/migrations/appwrite/report')
->inject('project')
->inject('user')
->action(function (array $resources, string $endpoint, string $projectID, string $key, Response $response) {
try {
$appwrite = new Appwrite($projectID, $endpoint, $key);
$appwrite = new Appwrite($projectID, $endpoint, $key);
$response
->setStatusCode(Response::STATUS_CODE_CREATED)
->dynamic(new Document($appwrite->report($resources)), Response::MODEL_MIGRATION_REPORT);
$response
->setStatusCode(Response::STATUS_CODE_OK)
->dynamic(new Document($appwrite->report($resources)), Response::MODEL_MIGRATION_REPORT);
} catch (\Exception $e) {
throw new Exception(Exception::GENERAL_SERVER_ERROR, $e->getMessage());
}
});
@@ -273,7 +272,7 @@ App::post('/v1/migrations/firebase')
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'migrateFirebase')
->label('sdk.description', '/docs/references/migrations/migration-firebase.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.code', Response::STATUS_CODE_ACCEPTED)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MIGRATION)
->param('resources', [], new ArrayList(new WhiteList(Firebase::getSupportedResources())), 'List of resources to migrate')
@@ -313,7 +312,7 @@ App::post('/v1/migrations/firebase')
->dynamic($migration, Response::MODEL_MIGRATION);
});
App::post('/v1/migrations/firebase/report')
App::get('/v1/migrations/firebase/report')
->groups(['api', 'migrations'])
->desc('Generate a report on Firebase Data')
->label('scope', 'migrations.write')
@@ -321,7 +320,7 @@ App::post('/v1/migrations/firebase/report')
->label('audits.event', 'migration.report')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'generateFirebaseReport')
->label('sdk.method', 'getFirebaseReport')
->label('sdk.description', '/docs/references/migrations/migration-firebase-report.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
@@ -335,12 +334,15 @@ App::post('/v1/migrations/firebase/report')
->inject('user')
->inject('events')
->action(function (array $resources, string $serviceAccount, string $databaseURL, Response $response, Database $dbForProject, Document $project, Document $user, Event $eventsInstance) {
try {
$firebase = new Firebase(json_decode($serviceAccount, true), $databaseURL);
$firebase = new Firebase(json_decode($serviceAccount, true), $databaseURL);
$response
->setStatusCode(Response::STATUS_CODE_CREATED)
->dynamic(new Document($firebase->report($resources)), Response::MODEL_MIGRATION_REPORT);
$response
->setStatusCode(Response::STATUS_CODE_CREATED)
->dynamic(new Document($firebase->report($resources)), Response::MODEL_MIGRATION_REPORT);
} catch (\Exception $e) {
throw new Exception(Exception::GENERAL_SERVER_ERROR, $e->getMessage());
}
});
App::post('/v1/migrations/supabase')
@@ -353,7 +355,7 @@ App::post('/v1/migrations/supabase')
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'migrateSupabase')
->label('sdk.description', '/docs/references/migrations/migration-supabase.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.code', Response::STATUS_CODE_ACCEPTED)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MIGRATION)
->param('resources', [], new ArrayList(new WhiteList(Supabase::getSupportedResources(), true)), 'List of resources to migrate')
@@ -404,13 +406,13 @@ App::post('/v1/migrations/supabase')
});
App::post('/v1/migrations/supabase/report')
App::get('/v1/migrations/supabase/report')
->groups(['api', 'migrations'])
->desc('Generate a report on Supabase Data')
->label('scope', 'migrations.write')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'generateSupabaseReport')
->label('sdk.method', 'getSupabaseReport')
->label('sdk.description', '/docs/references/migrations/migration-supabase-report.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
@@ -435,14 +437,7 @@ App::post('/v1/migrations/supabase/report')
->setStatusCode(Response::STATUS_CODE_CREATED)
->dynamic(new Document($supabase->report($resources)), Response::MODEL_MIGRATION_REPORT);
} catch (\Exception $e) {
var_dump($e->getMessage());
$response
->setStatusCode(Response::STATUS_CODE_BAD_REQUEST)
->json([
'status' => 'error',
'message' => $e->getMessage()
]);
throw new Exception(Exception::GENERAL_SERVER_ERROR, $e->getMessage());
}
});
@@ -456,7 +451,7 @@ App::post('/v1/migrations/nhost')
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'migrateNHost')
->label('sdk.description', '/docs/references/migrations/migration-nhost.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.code', Response::STATUS_CODE_ACCEPTED)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MIGRATION)
->param('resources', [], new ArrayList(new WhiteList(NHost::getSupportedResources())), 'List of resources to migrate')
@@ -508,7 +503,7 @@ App::post('/v1/migrations/nhost')
->dynamic($migration, Response::MODEL_MIGRATION);
});
App::post('/v1/migrations/nhost/report')
App::get('/v1/migrations/nhost/report')
->groups(['api', 'migrations'])
->desc('Generate a report on NHost Data')
->label('scope', 'migrations.write')
@@ -516,7 +511,7 @@ App::post('/v1/migrations/nhost/report')
// ->label('audits.event', 'migration.report')
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'migrations')
->label('sdk.method', 'generateNHostReport')
->label('sdk.method', 'getNHostReport')
->label('sdk.description', '/docs/references/migrations/migration-nhost-report.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
@@ -542,13 +537,6 @@ App::post('/v1/migrations/nhost/report')
->setStatusCode(Response::STATUS_CODE_CREATED)
->dynamic(new Document($nhost->report($resources)), Response::MODEL_MIGRATION_REPORT);
} catch (\Exception $e) {
var_dump($e->getMessage());
$response
->setStatusCode(Response::STATUS_CODE_BAD_REQUEST)
->json([
'status' => 'error',
'message' => $e->getMessage()
]);
throw new Exception(Exception::GENERAL_SERVER_ERROR, $e->getMessage());
}
});
Generated
+4 -4
View File
@@ -2942,12 +2942,12 @@
"source": {
"type": "git",
"url": "https://github.com/utopia-php/transfer.git",
"reference": "813901b1b70cea0d382d67f417b6bfe2fd1bd165"
"reference": "c7bae26f5672203e1228e237b29abaa05d105055"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/transfer/zipball/813901b1b70cea0d382d67f417b6bfe2fd1bd165",
"reference": "813901b1b70cea0d382d67f417b6bfe2fd1bd165",
"url": "https://api.github.com/repos/utopia-php/transfer/zipball/c7bae26f5672203e1228e237b29abaa05d105055",
"reference": "c7bae26f5672203e1228e237b29abaa05d105055",
"shasum": ""
},
"require": {
@@ -2996,7 +2996,7 @@
"source": "https://github.com/utopia-php/transfer/tree/feat-improve-features",
"issues": "https://github.com/utopia-php/transfer/issues"
},
"time": "2023-07-18T08:34:11+00:00"
"time": "2023-07-20T10:33:10+00:00"
},
{
"name": "utopia-php/websocket",