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
TypeScript
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
TypeScript
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
TypeScript
const isLoggedIn = await AuthService.getLoggedInUser()
TL;DR
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();
}
```Recommended threads
- All My Project is Gone
Hello everyone, please help. Why have all my projects suddenly disappeared? I received a warning via email about one of my projects being paused. When I clicked...
- CORS errors in Obsidian custom plugin
Hi, anyone here familiar with obsidian community plugins? In short: it's a local first note app which supports writing your own add-ons / plugin But I keep get...
- > AppwriteException: The requested servi...
When trying to read or write from my database I get the following error: > AppwriteException: The requested service is disabled. You can enable the service from...