yuvrajOriginal post
Rank 1: Thread
i'm refactoring my code, but I'm getting this issue when trying to get the current user logged in. My api key is correct with all auth/database scopes. Here are my codes:
Appwrite service
JavaScript
class AppwriteService { private static adminClient: Client; private static getAdminClient(): Client { if (!this.adminClient) { this.adminClient = new Client() .setEndpoint(APPWRITE_ENDPOINT) .setProject(APPWRITE_PROJECT) .setKey(APPWRITE_API_KEY); } return this.adminClient; } public static getAppwriteAdminClient() { const client = this.getAdminClient(); return { get account() { return new Account(client); }, get users() { return new Users(client); }, get databases() { return new Databases(client); }, }; }}
export default AppwriteService;Auth service
JavaScript
class AuthService { private static readonly account: Account = AppwriteService.getAppwriteAdminClient().account;
public static async getLoggedInUser(): Promise<Models.User<Models.Preferences>> { return await this.account.get(); }}export default AuthService;usage in page.tsx
JavaScript
const isLoggedIn = await AuthService.getLoggedInUser()Summary
Developers are missing the account scope when trying to get the current logged-in user. In the `AuthService` class, make sure to add the missing scope to the account service call.
Solution:
```javascript
public static async getLoggedInUser(): Promise<Models.User<Models.Preferences>> {
return await this.account.get();
}
```