optimized local api instantiation to prepare for nextjs app router

This commit is contained in:
dswbx
2025-02-20 10:02:44 +01:00
parent eaa7276173
commit 6f776aeff7
9 changed files with 123 additions and 122 deletions

View File

@@ -1,5 +1,5 @@
import { Api, type ApiOptions } from "Api";
import type { CreateUserPayload } from "auth/AppAuth";
import { Api, type ApiOptions } from "bknd/client";
import { $console } from "core";
import { Event } from "core/events";
import { Connection, type LibSqlCredentials, LibsqlConnection } from "data";
@@ -48,6 +48,7 @@ export type CreateAppConfig = {
};
export type AppConfig = InitialModuleConfigs;
export type LocalApiOptions = Request | ApiOptions;
export class App {
modules: ModuleManager;
@@ -180,13 +181,15 @@ export class App {
return this.module.auth.createUser(p);
}
getApi(options: Request | ApiOptions = {}) {
async getApi(options?: LocalApiOptions) {
const fetcher = this.server.request as typeof fetch;
if (options instanceof Request) {
return new Api({ request: options, headers: options.headers, fetcher });
if (options && options instanceof Request) {
const api = new Api({ request: options, headers: options.headers, fetcher });
await api.verifyAuth();
return api;
}
return new Api({ host: "http://localhost", ...options, fetcher });
return new Api({ host: "http://localhost", ...(options ?? {}), fetcher });
}
}