, array{}>|DataResponse * * 200: Account list * 404: User was not logged in */ #[ApiRoute(verb: 'GET', url: '/account/list')] #[NoAdminRequired] #[NoCSRFRequired] public function list(): DataResponse { $userId = $this->userId; if ($userId === null) { return new DataResponse([], Http::STATUS_NOT_FOUND); } $accounts = $this->accountService->findByUserId($userId); return new DataResponse(array_map(function (Account $account) use ($userId) { $aliases = $this->aliasesService->findAll($account->getId(), $userId); return [ 'id' => $account->getId(), 'email' => $account->getEmail(), 'aliases' => array_map(static fn (Alias $alias) => [ 'id' => $alias->getId(), 'email' => $alias->getAlias(), 'name' => $alias->getName(), ], $aliases), ]; }, $accounts)); } }