You have an issue in your code (as per what I know about initializing clients) -
In this part:
let client = null;
let databases = new Databases(client);
let locale = new Locale(client);
you are constructing the DB & Locale with client as null.
Then again in this:
export function initClient(config, sessionToken = null) {
client = new Client()
.setEndpoint(config.public.appwriteEndpoint)
.setProject(config.public.appwriteProjectId);
if (sessionToken != null) {
client.setSession(sessionToken);
}
databases = new Databases(client);
locale = new Locale(client);
}
you are re-defining them. But what's going wrong is that when the part let client... is read, it supposes you've your client undefined. Which causes issues. So please fix your code like this and check whether it works:
import { Client, Databases, Locale } from "appwrite";
let client = null;
let databases = null;
let locale = null;
export function initClient(config, sessionToken = null) {
client = new Client()
.setEndpoint(config.public.appwriteEndpoint)
.setProject(config.public.appwriteProjectId);
if (sessionToken) client.setSession(sessionToken);
databases = new Databases(client);
locale = new Locale(client);
}
export function getLocale() {
return locale;
}
export function getDatabases() {
return databases;
}