0
v-firecrawl/apps/api/src/lib/withAuth.ts

25 lines
706 B
TypeScript
Raw Normal View History

import { AuthResponse } from "../../src/types";
2024-04-21 14:39:36 -04:00
let warningCount = 0;
export function withAuth<T extends AuthResponse, U extends any[]>(
originalFunction: (...args: U) => Promise<T>
) {
return async function (...args: U): Promise<T> {
if (process.env.USE_DB_AUTHENTICATION === "false") {
2024-04-21 14:39:36 -04:00
if (warningCount < 5) {
console.warn("WARNING - You're bypassing authentication");
warningCount++;
}
return { success: true } as T;
} else {
try {
return await originalFunction(...args);
} catch (error) {
console.error("Error in withAuth function: ", error);
return { success: false, error: error.message } as T;
}
}
};
}