From 9bb97388e29f74290a4fc1c7b0afe8ebf4304b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20M=C3=B3ricz?= Date: Wed, 21 May 2025 18:02:58 +0200 Subject: [PATCH] feat(search): ignoreBlockedURLs (FIR-1954) (#1580) * feat(search): ignoreBlockedURLs * change name --- apps/api/src/controllers/v1/search.ts | 4 ++++ apps/api/src/controllers/v1/types.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/apps/api/src/controllers/v1/search.ts b/apps/api/src/controllers/v1/search.ts index 4bfa61e4..c9c9bf3c 100644 --- a/apps/api/src/controllers/v1/search.ts +++ b/apps/api/src/controllers/v1/search.ts @@ -196,6 +196,10 @@ export async function searchController( location: req.body.location, }); + if (req.body.ignoreInvalidURLs) { + searchResults = searchResults.filter((result) => !isUrlBlocked(result.url, req.acuc?.flags ?? null)); + } + logger.info("Searching completed", { num_results: searchResults.length, }); diff --git a/apps/api/src/controllers/v1/types.ts b/apps/api/src/controllers/v1/types.ts index 02911125..f4a3134d 100644 --- a/apps/api/src/controllers/v1/types.ts +++ b/apps/api/src/controllers/v1/types.ts @@ -1163,6 +1163,7 @@ export const searchRequestSchema = z location: z.string().optional(), origin: z.string().optional().default("api"), timeout: z.number().int().positive().finite().safe().default(60000), + ignoreInvalidURLs: z.boolean().optional().default(false), scrapeOptions: baseScrapeOptions .extend({ formats: z