diff --git a/src/app/api/v1/devices/[deviceId]/import-draft/route.ts b/src/app/api/v1/devices/[deviceId]/import-draft/route.ts index bf692cb..d8e0fe1 100644 --- a/src/app/api/v1/devices/[deviceId]/import-draft/route.ts +++ b/src/app/api/v1/devices/[deviceId]/import-draft/route.ts @@ -1,4 +1,5 @@ -import { NextRequest, NextResponse } from "next/server"; +import { NextRequest } from "next/server"; +import { jsonNoStore } from "@/lib/api-response"; import { authorizeDeviceSessionRequest } from "@/lib/boss-device-auth"; import { getLatestDeviceImportDraft } from "@/lib/boss-data"; @@ -9,11 +10,11 @@ export async function GET( const { deviceId } = await context.params; const auth = await authorizeDeviceSessionRequest(request, deviceId); if (!auth.ok) { - return NextResponse.json( + return jsonNoStore( { ok: false, message: auth.status === 404 ? "DEVICE_NOT_FOUND" : "UNAUTHORIZED" }, { status: auth.status }, ); } const result = await getLatestDeviceImportDraft(deviceId); - return NextResponse.json({ ok: true, ...result }); + return jsonNoStore({ ok: true, ...result }); } diff --git a/tests/live-data-cache-headers.test.ts b/tests/live-data-cache-headers.test.ts index 5e540df..38e8834 100644 --- a/tests/live-data-cache-headers.test.ts +++ b/tests/live-data-cache-headers.test.ts @@ -27,6 +27,7 @@ let getAccountsRoute: (typeof import("../src/app/api/v1/accounts/route"))["GET"] let getOtaRoute: (typeof import("../src/app/api/v1/user/ota/route"))["GET"]; let getDeviceSkillsRoute: (typeof import("../src/app/api/v1/devices/[deviceId]/skills/route"))["GET"]; let getDeviceEnrollmentsRoute: (typeof import("../src/app/api/v1/devices/enrollments/route"))["GET"]; +let getDeviceImportDraftRoute: (typeof import("../src/app/api/v1/devices/[deviceId]/import-draft/route"))["GET"]; let getPromptProfileRoute: (typeof import("../src/app/api/v1/projects/[projectId]/prompt-profile/route"))["GET"]; let getProjectMemoriesRoute: (typeof import("../src/app/api/v1/projects/[projectId]/memories/route"))["GET"]; let getMasterAgentPromptPolicyRoute: (typeof import("../src/app/api/v1/master-agent/prompt-policy/route"))["GET"]; @@ -62,6 +63,7 @@ async function setup() { otaRoute, deviceSkillsRoute, deviceEnrollmentsRoute, + deviceImportDraftRoute, promptProfileRoute, projectMemoriesRoute, masterAgentPromptPolicyRoute, @@ -92,6 +94,7 @@ async function setup() { import("../src/app/api/v1/user/ota/route.ts"), import("../src/app/api/v1/devices/[deviceId]/skills/route.ts"), import("../src/app/api/v1/devices/enrollments/route.ts"), + import("../src/app/api/v1/devices/[deviceId]/import-draft/route.ts"), import("../src/app/api/v1/projects/[projectId]/prompt-profile/route.ts"), import("../src/app/api/v1/projects/[projectId]/memories/route.ts"), import("../src/app/api/v1/master-agent/prompt-policy/route.ts"), @@ -122,6 +125,7 @@ async function setup() { getOtaRoute = otaRoute.GET; getDeviceSkillsRoute = deviceSkillsRoute.GET; getDeviceEnrollmentsRoute = deviceEnrollmentsRoute.GET; + getDeviceImportDraftRoute = deviceImportDraftRoute.GET; getPromptProfileRoute = promptProfileRoute.GET; getProjectMemoriesRoute = projectMemoriesRoute.GET; getMasterAgentPromptPolicyRoute = masterAgentPromptPolicyRoute.GET; @@ -270,6 +274,12 @@ test("live detail and summary routes disable cache storage", async () => { ); assertNoStoreHeader(deviceEnrollmentsResponse); + const deviceImportDraftResponse = await getDeviceImportDraftRoute( + await createAuthedRequest("http://127.0.0.1:3000/api/v1/devices/mac-studio/import-draft"), + { params: Promise.resolve({ deviceId: "mac-studio" }) }, + ); + assertNoStoreHeader(deviceImportDraftResponse); + const promptProfileResponse = await getPromptProfileRoute( await createAuthedRequest("http://127.0.0.1:3000/api/v1/projects/master-agent/prompt-profile"), { params: Promise.resolve({ projectId: "master-agent" }) },