From 4e9544b0c753b7fa01c56710a0d151e3a9f977e0 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sat, 19 Jul 2025 11:01:18 +0000 Subject: feat: Allow setting browserless crawling per user --- packages/shared/config.ts | 12 ++++++++---- packages/shared/types/admin.ts | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'packages/shared') diff --git a/packages/shared/config.ts b/packages/shared/config.ts index 757ca2e4..a18482c8 100644 --- a/packages/shared/config.ts +++ b/packages/shared/config.ts @@ -125,8 +125,10 @@ const allEnv = z.object({ FREE_QUOTA_BOOKMARK_LIMIT: z.coerce.number().optional(), FREE_QUOTA_ASSET_SIZE_BYTES: z.coerce.number().optional(), + FREE_BROWSER_CRAWLING_ENABLED: optionalStringBool(), PAID_QUOTA_BOOKMARK_LIMIT: z.coerce.number().optional(), PAID_QUOTA_ASSET_SIZE_BYTES: z.coerce.number().optional(), + PAID_BROWSER_CRAWLING_ENABLED: optionalStringBool(), // Proxy configuration CRAWLER_HTTP_PROXY: z.string().optional(), @@ -290,12 +292,14 @@ const serverConfigSchema = allEnv }, quotas: { free: { - bookmarkLimit: val.FREE_QUOTA_BOOKMARK_LIMIT, - assetSizeBytes: val.FREE_QUOTA_ASSET_SIZE_BYTES, + bookmarkLimit: val.FREE_QUOTA_BOOKMARK_LIMIT ?? null, + assetSizeBytes: val.FREE_QUOTA_ASSET_SIZE_BYTES ?? null, + browserCrawlingEnabled: val.FREE_BROWSER_CRAWLING_ENABLED ?? null, }, paid: { - bookmarkLimit: val.PAID_QUOTA_BOOKMARK_LIMIT, - assetSizeBytes: val.PAID_QUOTA_ASSET_SIZE_BYTES, + bookmarkLimit: val.PAID_QUOTA_BOOKMARK_LIMIT ?? null, + assetSizeBytes: val.PAID_QUOTA_ASSET_SIZE_BYTES ?? null, + browserCrawlingEnabled: val.PAID_BROWSER_CRAWLING_ENABLED ?? null, }, }, database: { diff --git a/packages/shared/types/admin.ts b/packages/shared/types/admin.ts index f4c62af0..02d7c341 100644 --- a/packages/shared/types/admin.ts +++ b/packages/shared/types/admin.ts @@ -13,6 +13,7 @@ export const updateUserSchema = z.object({ role: z.enum(["user", "admin"]).optional(), bookmarkQuota: z.number().int().min(0).nullable().optional(), storageQuota: z.number().int().min(0).nullable().optional(), + browserCrawlingEnabled: z.boolean().nullable().optional(), }); export const resetPasswordSchema = z -- cgit v1.2.3-70-g09d2