Spaces:
Build error
Build error
| import { http, HttpResponse } from "msw"; | |
| import { CustomSecret, GetSecretsResponse } from "#/api/secrets-service.types"; | |
| const DEFAULT_SECRETS: CustomSecret[] = [ | |
| { | |
| name: "OpenAI_API_Key", | |
| value: "test-123", | |
| description: "OpenAI API Key", | |
| }, | |
| { | |
| name: "Google_Maps_API_Key", | |
| value: "test-123", | |
| description: "Google Maps API Key", | |
| }, | |
| ]; | |
| const secrets = new Map<string, CustomSecret>( | |
| DEFAULT_SECRETS.map((secret) => [secret.name, secret]), | |
| ); | |
| export const SECRETS_HANDLERS = [ | |
| http.get("/api/secrets", async () => { | |
| const secretsArray = Array.from(secrets.values()); | |
| const secretsWithoutValue: Omit<CustomSecret, "value">[] = secretsArray.map( | |
| ({ value, ...rest }) => rest, | |
| ); | |
| const data: GetSecretsResponse = { | |
| custom_secrets: secretsWithoutValue, | |
| }; | |
| return HttpResponse.json(data); | |
| }), | |
| http.post("/api/secrets", async ({ request }) => { | |
| const body = (await request.json()) as CustomSecret; | |
| if (typeof body === "object" && body && body.name) { | |
| secrets.set(body.name, body); | |
| return HttpResponse.json(true); | |
| } | |
| return HttpResponse.json(false, { status: 400 }); | |
| }), | |
| http.put("/api/secrets/:id", async ({ params, request }) => { | |
| const { id } = params; | |
| const body = (await request.json()) as Omit<CustomSecret, "value">; | |
| if (typeof id === "string" && typeof body === "object") { | |
| const secret = secrets.get(id); | |
| if (secret && body && body.name) { | |
| const newSecret: CustomSecret = { ...secret, ...body }; | |
| secrets.delete(id); | |
| secrets.set(body.name, newSecret); | |
| return HttpResponse.json(true); | |
| } | |
| } | |
| return HttpResponse.json(false, { status: 400 }); | |
| }), | |
| http.delete("/api/secrets/:id", async ({ params }) => { | |
| const { id } = params; | |
| if (typeof id === "string") { | |
| secrets.delete(id); | |
| return HttpResponse.json(true); | |
| } | |
| return HttpResponse.json(false, { status: 400 }); | |
| }), | |
| ]; | |