import { Server } from "bun"; import { Logger } from "pino"; import { RadixRouter } from "radix3"; import { PrismaClient } from "../../app/db/db"; import admin from "firebase-admin"; import { Database } from "bun:sqlite"; type SingleRoute = { url: string; args: string[]; fn: (...arg: any[]) => Promise; path: string; }; export const g = global as unknown as { db: PrismaClient; dburl: string; datadir: string; mode: "dev" | "prod"; server: Server; log: Logger; firebaseInit: boolean, firebase: admin.app.App; notif: { db: Database; }; api: Record; domains: null | Record; web: Record< string, { site_id: string; current: number; deploying: null | { status: string; received: number; total: number }; deploys: number[]; domains: string[]; router: null | RadixRouter<{ id: string }>; cacheKey: number; cache: null | { site: { id: string; name: string; favicon: string; domain: string; id_user: string; created_at: Date | null; id_org: string | null; updated_at: Date | null; responsive: string; } | null; pages: { id: string; name: string; url: string; content_tree: any; id_site: string; created_at: Date | null; js_compiled: string | null; js: string | null; updated_at: Date | null; id_folder: string | null; is_deleted: boolean; }[]; npm: { site: Record; pages: Record>; }; comps: { id: string; name: string; content_tree: any; created_at: Date | null; updated_at: Date | null; type: string; id_component_group: string | null; props: any; }[]; }; } >; router: RadixRouter; port: number; frm: { js: string; etag: string; }; };