Merge pull request #5968 from appwrite/feat-implement-migrations

Feat: Move oauth secret to identity
This commit is contained in:
Christy Jacob 2023-08-10 03:04:06 +04:00 committed by GitHub
commit 5e4e7ff5a5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 21 deletions

View file

@ -242,17 +242,6 @@ $commonCollections = [
'default' => null,
'array' => false,
'filters' => ['datetime'],
],
[
'$id' => ID::custom('migrationsFirebaseServiceAccount'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => ['encrypt'],
]
],
'indexes' => [

View file

@ -146,14 +146,14 @@ App::post('/v1/migrations/firebase/oauth')
$dbForConsole->updateDocument('identities', $identity->getId(), $identity);
}
if ($user->getAttribute('migrationsFirebaseServiceAccount')) {
$serviceAccount = json_decode($user->getAttribute('migrationsFirebaseServiceAccount'), true);
if ($identity->getAttribute('secret')) {
$serviceAccount = $identity->getAttribute('secret');
} else {
$serviceAccount = $firebase->createServiceAccount($accessToken, $projectId);
$user = $user
->setAttribute('migrationsFirebaseServiceAccount', json_encode($serviceAccount));
$identity = $identity
->setAttribute('secret', $serviceAccount);
$dbForConsole->updateDocument('users', $user->getId(), $user);
$dbForConsole->updateDocument('identities', $identity->getId(), $identity);
}
$migration = $dbForProject->createDocument('migrations', new Document([
@ -542,14 +542,14 @@ App::get('/v1/migrations/firebase/report/oauth')
}
// Get Service Account
if ($user->getAttribute('migrationsFirebaseServiceAccount')) {
$serviceAccount = json_decode($user->getAttribute('migrationsFirebaseServiceAccount'), true);
if ($identity->getAttribute('secret')) {
$serviceAccount = $identity->getAttribute('secret');
} else {
$serviceAccount = $firebase->createServiceAccount($accessToken, $projectId);
$user = $user
->setAttribute('migrationsFirebaseServiceAccount', json_encode($serviceAccount));
$identity = $identity
->setAttribute('secret', $serviceAccount);
$dbForConsole->updateDocument('users', $user->getId(), $user);
$dbForConsole->updateDocument('identities', $identity->getId(), $identity);
}
$firebase = new Firebase(array_merge($serviceAccount, ['project_id' => $projectId]));