Skip to content
File

Blob: src/client/lib/api/shared.ts

typescript17 lines
1export const INBOX_SESSIONS_KEY = "flamemail.inboxSessions";
2export const INBOX_TOKEN_KEY_PREFIX = "flamemail.inboxToken";
3export const D1_BOOKMARKS_KEY = "flamemail.d1Bookmarks";
4export const ADMIN_BOOKMARK_SCOPE = "admin";
5 
6export interface Decoder<T> {
7 assertDecode(value: unknown): T;
8}
9 
10export type AuthDescriptor = { mode: "user"; token: string } | { mode: "admin" };
11 
12export interface ApiRequestOptions extends RequestInit {
13 token?: string;
14 bookmarkScope?: string;
15 onBookmark?: (bookmark: string | null) => void;
16}