UNPKG

astro-loader-pocketbase

Version:

A content loader for Astro that uses the PocketBase API

26 lines (23 loc) 881 B
import type { PocketBaseLoaderBaseOptions } from "../types/pocketbase-loader-options.type"; import { getSuperuserToken } from "./get-superuser-token"; /** * Creates a promise that resolves to a superuser token or undefined. */ export async function createTokenPromise( options: Pick<PocketBaseLoaderBaseOptions, "superuserCredentials" | "url"> ): Promise<string | undefined> { if (options.superuserCredentials) { if ("impersonateToken" in options.superuserCredentials) { // Impersonate token provided, so use it directly. return options.superuserCredentials.impersonateToken; } // Email and password provided, so get a temporary superuser token. const token = await getSuperuserToken( options.url, options.superuserCredentials ); return token; } // No credentials provided, so no token can be used. return undefined; }