mirror of
https://git.mirrors.martin98.com/https://github.com/mendableai/firecrawl
synced 2025-08-12 03:29:01 +08:00
added validation on every USE_DB_AUTHENTICATION call
This commit is contained in:
parent
ba2af74adf
commit
bbed6ef23d
@ -24,7 +24,8 @@ export async function crawlStatusController(req: Request, res: Response) {
|
|||||||
const { current, current_url, total, current_step, partialDocs } = await job.progress();
|
const { current, current_url, total, current_step, partialDocs } = await job.progress();
|
||||||
|
|
||||||
let data = job.returnvalue;
|
let data = job.returnvalue;
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "true") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (useDbAuthentication) {
|
||||||
const supabaseData = await supabaseGetJobById(req.params.jobId);
|
const supabaseData = await supabaseGetJobById(req.params.jobId);
|
||||||
|
|
||||||
if (supabaseData) {
|
if (supabaseData) {
|
||||||
|
@ -12,7 +12,8 @@ export async function crawlJobStatusPreviewController(req: Request, res: Respons
|
|||||||
|
|
||||||
const { current, current_url, total, current_step, partialDocs } = await job.progress();
|
const { current, current_url, total, current_step, partialDocs } = await job.progress();
|
||||||
let data = job.returnvalue;
|
let data = job.returnvalue;
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "true") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (useDbAuthentication) {
|
||||||
const supabaseData = await supabaseGetJobById(req.params.jobId);
|
const supabaseData = await supabaseGetJobById(req.params.jobId);
|
||||||
|
|
||||||
if (supabaseData) {
|
if (supabaseData) {
|
||||||
|
@ -25,7 +25,8 @@ export class Logger {
|
|||||||
const color = Logger.colors[level];
|
const color = Logger.colors[level];
|
||||||
console[level.toLowerCase()](color, `[${new Date().toISOString()}]${level} - ${message}`);
|
console[level.toLowerCase()](color, `[${new Date().toISOString()}]${level} - ${message}`);
|
||||||
|
|
||||||
// if (process.env.USE_DB_AUTH) {
|
// const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
// if (useDbAuthentication) {
|
||||||
// save to supabase? another place?
|
// save to supabase? another place?
|
||||||
// supabase.from('logs').insert({ level: level, message: message, timestamp: new Date().toISOString(), success: boolean });
|
// supabase.from('logs').insert({ level: level, message: message, timestamp: new Date().toISOString(), success: boolean });
|
||||||
// }
|
// }
|
||||||
|
@ -36,7 +36,8 @@ export class ScrapeEvents {
|
|||||||
static async insert(jobId: string, content: ScrapeEvent) {
|
static async insert(jobId: string, content: ScrapeEvent) {
|
||||||
if (jobId === "TEST") return null;
|
if (jobId === "TEST") return null;
|
||||||
|
|
||||||
if (process.env.USE_DB_AUTHENTICATION) {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (useDbAuthentication) {
|
||||||
try {
|
try {
|
||||||
const result = await supabase.from("scrape_events").insert({
|
const result = await supabase.from("scrape_events").insert({
|
||||||
job_id: jobId,
|
job_id: jobId,
|
||||||
|
@ -7,7 +7,8 @@ export function withAuth<T extends AuthResponse, U extends any[]>(
|
|||||||
originalFunction: (...args: U) => Promise<T>
|
originalFunction: (...args: U) => Promise<T>
|
||||||
) {
|
) {
|
||||||
return async function (...args: U): Promise<T> {
|
return async function (...args: U): Promise<T> {
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "false") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (!useDbAuthentication) {
|
||||||
if (warningCount < 5) {
|
if (warningCount < 5) {
|
||||||
Logger.warn("You're bypassing authentication");
|
Logger.warn("You're bypassing authentication");
|
||||||
warningCount++;
|
warningCount++;
|
||||||
|
@ -123,7 +123,8 @@ export async function runWebScraper({
|
|||||||
|
|
||||||
const saveJob = async (job: Job, result: any) => {
|
const saveJob = async (job: Job, result: any) => {
|
||||||
try {
|
try {
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "true") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (useDbAuthentication) {
|
||||||
const { data, error } = await supabase_service
|
const { data, error } = await supabase_service
|
||||||
.from("firecrawl_jobs")
|
.from("firecrawl_jobs")
|
||||||
.update({ docs: result })
|
.update({ docs: result })
|
||||||
|
@ -3,7 +3,8 @@ import { Logger } from "../../../src/lib/logger";
|
|||||||
import "dotenv/config";
|
import "dotenv/config";
|
||||||
|
|
||||||
export async function logCrawl(job_id: string, team_id: string) {
|
export async function logCrawl(job_id: string, team_id: string) {
|
||||||
if (process.env.USE_DB_AUTHENTICATION === 'true') {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (useDbAuthentication) {
|
||||||
try {
|
try {
|
||||||
const { data, error } = await supabase_service
|
const { data, error } = await supabase_service
|
||||||
.from("bulljobs_teams")
|
.from("bulljobs_teams")
|
||||||
|
@ -7,7 +7,8 @@ import { Logger } from "../../lib/logger";
|
|||||||
|
|
||||||
export async function logJob(job: FirecrawlJob) {
|
export async function logJob(job: FirecrawlJob) {
|
||||||
try {
|
try {
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "false") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (!useDbAuthentication) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,8 @@ export async function logScrape(
|
|||||||
scrapeLog: ScrapeLog,
|
scrapeLog: ScrapeLog,
|
||||||
pageOptions?: PageOptions
|
pageOptions?: PageOptions
|
||||||
) {
|
) {
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "false") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (!useDbAuthentication) {
|
||||||
Logger.debug("Skipping logging scrape to Supabase");
|
Logger.debug("Skipping logging scrape to Supabase");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,9 @@ class SupabaseService {
|
|||||||
constructor() {
|
constructor() {
|
||||||
const supabaseUrl = process.env.SUPABASE_URL;
|
const supabaseUrl = process.env.SUPABASE_URL;
|
||||||
const supabaseServiceToken = process.env.SUPABASE_SERVICE_TOKEN;
|
const supabaseServiceToken = process.env.SUPABASE_SERVICE_TOKEN;
|
||||||
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
// Only initialize the Supabase client if both URL and Service Token are provided.
|
// Only initialize the Supabase client if both URL and Service Token are provided.
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "false") {
|
if (!useDbAuthentication) {
|
||||||
// Warn the user that Authentication is disabled by setting the client to null
|
// Warn the user that Authentication is disabled by setting the client to null
|
||||||
Logger.warn(
|
Logger.warn(
|
||||||
"Authentication is disabled. Supabase client will not be initialized."
|
"Authentication is disabled. Supabase client will not be initialized."
|
||||||
|
@ -9,7 +9,8 @@ class SupabaseService {
|
|||||||
const supabaseUrl = process.env.SUPABASE_URL;
|
const supabaseUrl = process.env.SUPABASE_URL;
|
||||||
const supabaseServiceToken = process.env.SUPABASE_SERVICE_TOKEN;
|
const supabaseServiceToken = process.env.SUPABASE_SERVICE_TOKEN;
|
||||||
// Only initialize the Supabase client if both URL and Service Token are provided.
|
// Only initialize the Supabase client if both URL and Service Token are provided.
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "false") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (!useDbAuthentication) {
|
||||||
// Warn the user that Authentication is disabled by setting the client to null
|
// Warn the user that Authentication is disabled by setting the client to null
|
||||||
console.warn(
|
console.warn(
|
||||||
"Authentication is disabled. Supabase client will not be initialized."
|
"Authentication is disabled. Supabase client will not be initialized."
|
||||||
@ -36,7 +37,8 @@ export const supabase_service: SupabaseClient = new Proxy(
|
|||||||
new SupabaseService(),
|
new SupabaseService(),
|
||||||
{
|
{
|
||||||
get: function (target, prop, receiver) {
|
get: function (target, prop, receiver) {
|
||||||
if (process.env.USE_DB_AUTHENTICATION === "false") {
|
const useDbAuthentication = process.env.USE_DB_AUTHENTICATION === 'true';
|
||||||
|
if (!useDbAuthentication) {
|
||||||
console.debug(
|
console.debug(
|
||||||
"Attempted to access Supabase client when it's not configured."
|
"Attempted to access Supabase client when it's not configured."
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user