diff --git a/src/app/api/batch/route.ts b/src/app/api/batch/route.ts index aae14c96..46e8b3c3 100644 --- a/src/app/api/batch/route.ts +++ b/src/app/api/batch/route.ts @@ -17,6 +17,7 @@ export async function POST(request: Request) { const errors = []; let index = 0; + let cache = null; for (const data of body) { // Recreate a fresh Request since `new Request(request)` will have the following error: // > Cannot read private member #state from an object whose class did not declare it @@ -33,9 +34,12 @@ export async function POST(request: Request) { }); const response = await send.POST(newRequest); + const responseJson = await response.json(); if (!response.ok) { - errors.push({ index, response: await response.json() }); + errors.push({ index, response: responseJson }); + } else { + cache ??= responseJson.cache; } index++; @@ -46,6 +50,7 @@ export async function POST(request: Request) { processed: body.length - errors.length, errors: errors.length, details: errors, + cache, }); } catch (e) { return serverError(e); diff --git a/src/app/api/send/route.ts b/src/app/api/send/route.ts index d1a7b90b..a0becc2a 100644 --- a/src/app/api/send/route.ts +++ b/src/app/api/send/route.ts @@ -41,6 +41,9 @@ const schema = z.object({ userAgent: z.string().optional(), timestamp: z.coerce.number().int().optional(), id: z.string().optional(), + browser: z.string().optional(), + os: z.string().optional(), + device: z.string().optional(), }) .refine( data => { diff --git a/src/lib/detect.ts b/src/lib/detect.ts index f3301295..68cb6672 100644 --- a/src/lib/detect.ts +++ b/src/lib/detect.ts @@ -114,9 +114,9 @@ export async function getClientInfo(request: Request, payload: Record