kitcn
Version:
kitcn - React Query integration and CLI tools for Convex
50 lines (48 loc) • 2.66 kB
JavaScript
//#region src/auth/define-auth.ts
const defineAuth = (definition) => definition;
//#endregion
//#region src/auth/generated-contract-disabled.ts
const DEFAULT_AUTH_DEFINITION_PATH = "convex/auth.ts";
const resolveAuthDefinitionPath = (authDefinitionPath) => {
const normalized = authDefinitionPath?.trim();
return normalized && normalized.length > 0 ? normalized : DEFAULT_AUTH_DEFINITION_PATH;
};
const getGeneratedAuthDisabledReason = (kind, authDefinitionPath) => {
const resolvedAuthDefinitionPath = resolveAuthDefinitionPath(authDefinitionPath);
switch (kind) {
case "default_export_unavailable": return `Auth runtime is disabled. ${resolvedAuthDefinitionPath} default export is unavailable. Export \`default defineAuth((ctx) => ({ ...options, triggers }))\` and run \`kitcn codegen\`.`;
case "missing_auth_file": return `Auth runtime is disabled. Create ${resolvedAuthDefinitionPath} with \`export default defineAuth(...)\` and run \`kitcn codegen\`.`;
case "missing_default_export": return `Auth runtime is disabled. ${resolvedAuthDefinitionPath} exists but does not export a default auth definition. Export \`default defineAuth((ctx) => ({ ...options, triggers }))\` and run \`kitcn codegen\`.`;
}
};
const DEFAULT_DISABLED_AUTH_MESSAGE = getGeneratedAuthDisabledReason("missing_auth_file");
const createDisabledError = (message, exportName) => () => {
throw new Error(`${message} (${exportName})`);
};
const createDisabledRuntimeExport = (message, exportName) => createDisabledError(message, exportName);
const createDisabledAuthRuntime = (config) => {
const message = config?.reason ?? DEFAULT_DISABLED_AUTH_MESSAGE;
return {
authEnabled: false,
authClient: {
authFunctions: {},
triggers: void 0,
adapter: createDisabledError(message, "authClient.adapter")
},
auth: new Proxy({}, { get() {
throw new Error(`${message} (auth)`);
} }),
getAuth: createDisabledError(message, "getAuth"),
create: createDisabledRuntimeExport(message, "create"),
deleteMany: createDisabledRuntimeExport(message, "deleteMany"),
deleteOne: createDisabledRuntimeExport(message, "deleteOne"),
findMany: createDisabledRuntimeExport(message, "findMany"),
findOne: createDisabledRuntimeExport(message, "findOne"),
updateMany: createDisabledRuntimeExport(message, "updateMany"),
updateOne: createDisabledRuntimeExport(message, "updateOne"),
getLatestJwks: createDisabledRuntimeExport(message, "getLatestJwks"),
rotateKeys: createDisabledRuntimeExport(message, "rotateKeys")
};
};
//#endregion
export { defineAuth as i, createDisabledAuthRuntime as n, getGeneratedAuthDisabledReason as r, DEFAULT_AUTH_DEFINITION_PATH as t };