Disable cache storage on device import draft

This commit is contained in:
kris
2026-04-07 14:01:56 +08:00
parent 4052822595
commit b1fa3c9b26
2 changed files with 14 additions and 3 deletions

View File

@@ -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 });
}

View File

@@ -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" }) },