feat: add caching to survey sync (#2011)

This commit is contained in:
Jonas Höbenreich
2024-02-16 09:38:01 +01:00
committed by GitHub
parent 3b2cf7c0da
commit 4c1e688f12
2 changed files with 14 additions and 4 deletions
@@ -90,7 +90,11 @@ export async function GET(
person: null,
};
return responses.successResponse({ ...state }, true);
return responses.successResponse(
{ ...state },
true,
"public, s-maxage=600, max-age=840, stale-while-revalidate=600, stale-if-error=600"
);
} catch (error) {
console.error(error);
return responses.internalServerErrorResponse(`Unable to complete response: ${error.message}`, true);
+9 -3
View File
@@ -114,16 +114,22 @@ const unauthorizedResponse = (cors: boolean = false) =>
}
);
const successResponse = (data: Object, cors: boolean = false) =>
NextResponse.json(
const successResponse = (data: Object, cors: boolean = false, cache: string = "private, no-store") => {
const responseHeaders = {
...(cors && corsHeaders),
"Cache-Control": cache,
};
return NextResponse.json(
{
data,
} as ApiSuccessResponse<typeof data>,
{
status: 200,
...(cors && { headers: corsHeaders }),
headers: responseHeaders,
}
);
};
const internalServerErrorResponse = (message: string, cors: boolean = false) =>
NextResponse.json(