Files
firecrawl/apps/api/src/lib/withAuth.ts
T

26 lines
706 B
TypeScript
Raw Normal View History

import { AuthResponse } from "../../src/types";
2024-11-07 20:57:33 +01:00
import { logger } from "./logger";
import * as Sentry from "@sentry/node";
2024-09-04 15:57:57 -03:00
import { configDotenv } from "dotenv";
configDotenv();
2024-04-21 11:39:36 -07:00
let warningCount = 0;
2024-11-07 20:57:33 +01:00
export function withAuth<T, U extends any[]>(
originalFunction: (...args: U) => Promise<T>,
mockSuccess: T,
) {
return async function (...args: U): Promise<T> {
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
if (!useDbAuthentication) {
2024-04-21 11:39:36 -07:00
if (warningCount < 5) {
2024-11-07 20:57:33 +01:00
logger.warn("You're bypassing authentication");
2024-04-21 11:39:36 -07:00
warningCount++;
}
return { success: true } as T;
} else {
2024-11-07 20:57:33 +01:00
return await originalFunction(...args);
}
};
}