diff --git a/app/config/roles.php b/app/config/roles.php index 579e13dfca..944fcf3577 100644 --- a/app/config/roles.php +++ b/app/config/roles.php @@ -62,12 +62,6 @@ $admins = [ 'rules.write', 'migrations.read', 'migrations.write', - 'targets.read', - 'targets.write', - 'providers.write', - 'providers.read', - 'messages.write', - 'messages.read', 'vcs.read', 'vcs.write', 'targets.read', diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 23d0d14c2a..08759cf39f 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -652,8 +652,16 @@ App::post('/v1/teams/:teamId/memberships') $message = $message->setParam('{{token}}', $url); $message = $message->render(); + $target = $dbForProject->createDocument('targets', new Document([ + 'userId' => $invitee->getId(), + 'userInternalId' => $invitee->getInternalId(), + 'providerId' => $provider->getId(), + 'providerInternalId' => $provider->getInternalId(), + 'identifier' => $phone, + ])); + $messageDoc = $dbForProject->createDocument('messages', new Document([ - 'to' => [$phone], + 'to' => [$target->getId()], 'data' => [ 'content' => $message, 'from' => $from, diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index 1d88a04d11..9b2dc516cb 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -383,9 +383,8 @@ App::post('/v1/users/scrypt-modified') App::post('/v1/users/:userId/targets') ->desc('Create User Target') ->groups(['api', 'users']) - ->label('event', 'users.[userId].targets.[targetId].create') - ->label('audits.event', 'targets.create') - ->label('audits.resource', 'user/{response.userId}') + ->label('audits.event', 'users.targets.create') + ->label('audits.resource', 'target/response.$id') ->label('scope', 'targets.write') ->label('sdk.auth', [APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_ADMIN]) ->label('sdk.namespace', 'users') @@ -422,11 +421,6 @@ App::post('/v1/users/:userId/targets') $target = $dbForProject->createDocument('targets', new Document([ '$id' => $targetId, - '$permissions' => [ - Permission::read(Role::any()), - Permission::update(Role::user($userId)), - Permission::delete(Role::user($userId)), - ], 'providerId' => $providerId, 'providerInternalId' => $provider->getInternalId(), 'userId' => $userId, @@ -434,9 +428,6 @@ App::post('/v1/users/:userId/targets') 'identifier' => $identifier, ])); $dbForProject->deleteCachedDocument('users', $user->getId()); - $events - ->setParam('userId', $userId) - ->setParam('targetId', $targetId); $response ->setStatusCode(Response::STATUS_CODE_CREATED) ->dynamic($target, Response::MODEL_TARGET); @@ -1207,9 +1198,8 @@ App::patch('/v1/users/:userId/prefs') App::patch('/v1/users/:userId/targets/:targetId/identifier') ->desc('Update user target\'s identifier') ->groups(['api', 'users']) - ->label('event', 'users.[userId].targets.[targetId].update') - ->label('audits.event', 'targets.update') - ->label('audits.resource', 'user/{response.userId}') + ->label('audits.event', 'users.targets.update') + ->label('audits.resource', 'target/{response.$id}') ->label('scope', 'targets.write') ->label('sdk.auth', [APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_ADMIN]) ->label('sdk.namespace', 'users') @@ -1385,9 +1375,8 @@ App::delete('/v1/users/:userId') App::delete('/v1/users/:userId/targets/:targetId') ->desc('Delete user target') ->groups(['api', 'users']) - ->label('event', 'users.[userId].targets.[targetId].delete') - ->label('audits.event', 'targets.delete') - ->label('audits.resource', 'user/{response.userId}') + ->label('audits.event', 'users.targets.delete') + ->label('audits.resource', 'target/{request.$targetId}') ->label('scope', 'targets.write') ->label('sdk.auth', [APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_ADMIN]) ->label('sdk.namespace', 'users') @@ -1417,15 +1406,6 @@ App::delete('/v1/users/:userId/targets/:targetId') $target = $dbForProject->deleteDocument('targets', $target->getId()); $dbForProject->deleteCachedDocument('users', $user->getId()); - $user = $dbForProject->getDocument('users', $userId); - - // clone user object to send to workers - $clone = clone $user; - - $events - ->setParam('userId', $userId) - ->setParam('targetId', $targetId) - ->setPayload($response->output($clone, Response::MODEL_USER)); $response->noContent(); }); diff --git a/app/init.php b/app/init.php index ea01751be5..a094acc7df 100644 --- a/app/init.php +++ b/app/init.php @@ -562,7 +562,6 @@ Database::addFilter( return []; } ); - /** * DB Formats */ diff --git a/src/Appwrite/Utopia/Database/Validator/Queries/Providers.php b/src/Appwrite/Utopia/Database/Validator/Queries/Providers.php index 83dbf665f1..e72153734c 100644 --- a/src/Appwrite/Utopia/Database/Validator/Queries/Providers.php +++ b/src/Appwrite/Utopia/Database/Validator/Queries/Providers.php @@ -8,6 +8,8 @@ class Providers extends Base 'name', 'provider', 'type', + 'default', + 'enabled' ]; /** diff --git a/tests/e2e/Services/Account/AccountBase.php b/tests/e2e/Services/Account/AccountBase.php index b0959a3b0a..e64cf2c4ca 100644 --- a/tests/e2e/Services/Account/AccountBase.php +++ b/tests/e2e/Services/Account/AccountBase.php @@ -359,6 +359,7 @@ trait AccountBase 'x-appwrite-project' => $this->getProject()['$id'], 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session, ])); + $this->assertEquals($response['headers']['status-code'], 200); $this->assertIsArray($response['body']['logs']); $this->assertNotEmpty($response['body']['logs']); diff --git a/tests/e2e/Services/Account/AccountCustomClientTest.php b/tests/e2e/Services/Account/AccountCustomClientTest.php index 9f922d63e2..5a177146a1 100644 --- a/tests/e2e/Services/Account/AccountCustomClientTest.php +++ b/tests/e2e/Services/Account/AccountCustomClientTest.php @@ -1013,7 +1013,7 @@ class AccountCustomClientTest extends Scope 'x-appwrite-project' => $this->getProject()['$id'], 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session, - ]), ['from' => 'Appwrite']); + ]), ['from' => '+123456789']); $this->assertEquals(201, $response['headers']['status-code']); $this->assertNotEmpty($response['body']['$id']);