UNPKG

@clipwhisperer/common

Version:

ClipWhisperer Common - Shared library providing core utilities, database schemas, authentication, bucket management, and common functionality across all ClipWhisperer microservices

38 lines (37 loc) 1.54 kB
import { defaultEndpointsFactory, Method } from "express-zod-api"; import { z, ZodType } from "zod"; import { Logger } from "pino"; import { VaultClient } from "./vault.js"; type OptionsProvider = () => Promise<{ vault: VaultClient; }>; export declare const setOptionsProvider: (provider: OptionsProvider) => void; export type CreateEndpointOptions<I extends ZodType, O extends ZodType> = { method: Method; input: I; output: O; handler: (input: z.infer<I>, options: { vault: VaultClient; }, logger: Logger) => Promise<z.infer<O>>; }; export declare const createEndpoint: <I extends ZodType, O extends ZodType>(opts: CreateEndpointOptions<I, O>) => { "__#6@#private": any; deprecated(): /*elided*/ any; execute({ request, response, logger, config, }: { request: import("express").Request; response: import("express").Response; logger: { error: (message: string, meta?: any) => any; warn: (message: string, meta?: any) => any; info: (message: string, meta?: any) => any; debug: (message: string, meta?: any) => any; } & import("express-zod-api").LoggerOverrides; config: import("express-zod-api").CommonConfig; }): Promise<undefined>; nest(routing: import("express-zod-api").Routing): import("express-zod-api").Routing; }; export type ZodRoute = { [key in Method]?: ReturnType<typeof defaultEndpointsFactory.build>; }; export declare const createRoute: (routes: ZodRoute) => ZodRoute; export {};