@clipwhisperer/common
Version:
ClipWhisperer Common - Shared library providing core utilities, database schemas, authentication, bucket management, and common functionality across all ClipWhisperer microservices
30 lines (29 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRoute = exports.createEndpoint = exports.setOptionsProvider = void 0;
const express_zod_api_1 = require("express-zod-api");
let optionsProvider = async () => {
throw new Error("Vault client is not initialized");
};
const setOptionsProvider = (provider) => {
optionsProvider = provider;
};
exports.setOptionsProvider = setOptionsProvider;
const createEndpoint = (opts) => {
const factory = express_zod_api_1.defaultEndpointsFactory.addOptions(optionsProvider);
return factory.build({
method: opts.method,
input: opts.input,
output: opts.output,
handler: async ({ input, options, logger: actualLogger }) => {
const logger = actualLogger;
logger.debug("Options:", options);
return opts.handler(input, options, logger);
},
});
};
exports.createEndpoint = createEndpoint;
const createRoute = (routes) => {
return routes;
};
exports.createRoute = createRoute;