0.1.3Updated 6 months ago
import type { FreshContext } from "https://deno.land/x/fresh@1.7.3/server.ts"
import type { DracoUser } from "@infinity-beyond/modules/security/draco/draco_user.ts";
import type { I_Notification } from "@infinity-beyond/modules/communication/notification.ts";
import type { InfinityRequest } from "@infinity-beyond/modules/analytics/infinity_request.ts";

export interface I_InfinityContext {
  request: InfinityRequest

  cookie_uuid: string
  cookie_existed: boolean

  notifications: I_Notification[]

  user: DracoUser | null
}

export type InfinityContext<T extends Record<string, any> = Record<string, any>> = Omit<FreshContext<I_InfinityContext>, 'params'> & { params: T }