diff --git a/app/config/collections.php b/app/config/collections.php index 1702bd8979..445da94337 100644 --- a/app/config/collections.php +++ b/app/config/collections.php @@ -234,6 +234,7 @@ $collections = [ 'default' => '', 'required' => false, 'array' => false, + 'filter' => ['json'] ], [ '$collection' => Database::SYSTEM_COLLECTION_RULES, diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 23134cf57a..49769d759f 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -239,7 +239,6 @@ App::post('/v1/account/sessions') ; $response->dynamic($session, Response::MODEL_SESSION); - ; }, ['request', 'response', 'projectDB', 'webhooks', 'audits']); App::get('/v1/account/sessions/oauth2/:provider') @@ -552,20 +551,15 @@ App::get('/v1/account') ->label('sdk.method', 'get') ->label('sdk.description', '/docs/references/account/get.md') ->label('sdk.response', ['200' => 'user']) - ->action(function ($response, $user) use ($oauth2Keys) { + ->action(function ($response, $user) { /** @var Appwrite\Swoole\Response $response */ /** @var Appwrite\Database\Document $user */ - $response->json(\array_merge($user->getArrayCopy(\array_merge( - [ - '$id', - 'email', - 'emailVerification', - 'registration', - 'name', - ], - $oauth2Keys - )), ['roles' => Authorization::getRoles()])); + $user + ->setAttribute('roles', Authorization::getRoles()) + ; + + $response->dynamic($user, Response::MODEL_USER); }, ['response', 'user']); App::get('/v1/account/prefs') diff --git a/src/Appwrite/Utopia/Response/Model/User.php b/src/Appwrite/Utopia/Response/Model/User.php index 56af2156cf..a1a0b1edcf 100644 --- a/src/Appwrite/Utopia/Response/Model/User.php +++ b/src/Appwrite/Utopia/Response/Model/User.php @@ -48,7 +48,7 @@ class User extends Model 'type' => 'json', 'description' => 'User preferences as a key-value object', 'default' => new \stdClass, - 'example' => ['theme' => 'dark', 'timezone' => 'UTC'], + 'example' => ['theme' => 'pink', 'timezone' => 'UTC'], ]) ->addRule('roles', [ 'type' => 'string',