import { Mission, MissionSdsLog, Prisma } from "@repo/db"; import axios from "axios"; import { serverApi } from "_helpers/axios"; export const getMissionsAPI = async (filter?: Prisma.MissionWhereInput) => { const res = await axios.get("/api/missions", { params: { filter: JSON.stringify(filter), }, }); if (res.status !== 200) { throw new Error("Failed to fetch stations"); } return res.data; }; export const createMissionAPI = async (mission: Prisma.MissionCreateInput) => { const response = await serverApi.put("/mission", mission); return response.data; }; export const editMissionAPI = async (id: number, mission: Prisma.MissionUpdateInput) => { const respone = await serverApi.patch(`/mission/${id}`, mission); return respone.data; }; export const sendSdsMessageAPI = async (id: number, sdsMessage: MissionSdsLog) => { const respone = await serverApi.post(`/mission/${id}/send-sds`, sdsMessage); return respone.data; }; export const startHpgValidation = async ( id: number, config?: { alertWhenValid?: boolean; }, ) => { const respone = await serverApi.post(`/mission/${id}/validate-hpg`, config); return respone.data; }; export const sendMissionAPI = async ( id: number, { stationId, vehicleName, }: { stationId?: number; vehicleName?: "ambulance" | "police" | "firebrigade"; }, ) => { const respone = await serverApi.post<{ message: string; }>(`/mission/${id}/send-alert`, { stationId, vehicleName, }); return respone.data; }; export const deleteMissionAPI = async (id: number) => { await serverApi.delete(`/mission/${id}`); };