brf/shared/global.d.ts

38 lines
669 B
TypeScript

import 'fastify'
import type { onRequestHookHandler } from 'fastify'
import { DB } from './types.db.ts'
import type { Kysely } from 'kysely'
import { ViteDevServer } from 'vite'
declare global {
type ANY = any
const __STATE__: any
}
declare module 'fastify' {
interface Session {
userId: number
}
interface FastifyInstance {
auth: onRequestHookHandler
db: Kysely<DB>
devServer: ViteDevServer
}
interface FastifyRequest {
logout: () => Promise<void>
login: (user: ANY) => Promise<void>
user: Promise<ANY>
getUser: () => Promise<ANY>
}
interface FastifyReply {
ctx: Record<string, any> | null
}
}
export {}