From 01844e0ad994c068e43064e2193449a586803fd3 Mon Sep 17 00:00:00 2001 From: PxlLoewe <72106766+PxlLoewe@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:06:14 -0700 Subject: [PATCH] added get query to mission store --- apps/dispatch/app/_store/missionsStore.ts | 23 ++++++++++++++++++++++ apps/dispatch/app/api/mission/route.ts | 14 +++++++++++++ grafana/grafana.db | Bin 1122304 -> 1122304 bytes 3 files changed, 37 insertions(+) create mode 100644 apps/dispatch/app/api/mission/route.ts diff --git a/apps/dispatch/app/_store/missionsStore.ts b/apps/dispatch/app/_store/missionsStore.ts index 19ac8c5f..d8e46101 100644 --- a/apps/dispatch/app/_store/missionsStore.ts +++ b/apps/dispatch/app/_store/missionsStore.ts @@ -1,9 +1,11 @@ +import { Prisma } from "@repo/db"; import { MissionOptionalDefaults } from "@repo/db/zod"; import { create } from "zustand"; interface MissionStore { missions: MissionOptionalDefaults[]; setMissions: (missions: MissionOptionalDefaults[]) => void; + getMissions: () => Promise; } export const useMissionsStore = create((set) => ({ @@ -24,4 +26,25 @@ export const useMissionsStore = create((set) => ({ }, ], setMissions: (missions) => set({ missions }), + getMissions: async () => { + const res = await fetch("/api/mission", { + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + OR: [ + { + state: "draft", + }, + { + state: "running", + }, + ], + } as Prisma.MissionWhereInput), + }); + if (!res.ok) return undefined; + const data = await res.json(); + set({ missions: data }); + return undefined; + }, })); diff --git a/apps/dispatch/app/api/mission/route.ts b/apps/dispatch/app/api/mission/route.ts new file mode 100644 index 00000000..0992ef67 --- /dev/null +++ b/apps/dispatch/app/api/mission/route.ts @@ -0,0 +1,14 @@ +import { Prisma, prisma } from "@repo/db"; +import { NextRequest, NextResponse } from "next/server"; + +export const GET = (req: NextRequest) => { + const filter = req.nextUrl.searchParams.get("filter") as + | Prisma.MissionWhereInput + | undefined; + + const missions = prisma.mission.findMany({ + where: filter, + }); + + return NextResponse.json(missions); +}; diff --git a/grafana/grafana.db b/grafana/grafana.db index 3abc571d85ccd1f811e11d5c10d363ae1d700dbb..442bbdaefe28f02c9637a1ac92e902c64a199c5c 100644 GIT binary patch delta 1807 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