Files
var-monorepo/apps/dispatch/app/_querys/dispatcher.ts

50 lines
1.2 KiB
TypeScript

import { ConnectedDispatcher, Prisma } from "@repo/db";
import { serverApi } from "_helpers/axios";
import axios from "axios";
export const changeDispatcherAPI = async (
id: number,
data: Prisma.ConnectedDispatcherUpdateInput,
) => {
const res = await serverApi.patch<ConnectedDispatcher>(`/dispatcher/${id}`, data);
if (res.status !== 200) {
throw new Error("Failed to update Connected Dispatcher");
}
return res.data;
};
export const getConnectedDispatcherAPI = async (filter?: Prisma.ConnectedDispatcherWhereInput) => {
const res = await axios.get<(ConnectedDispatcher & { settingsUseHPGAsDispatcher: boolean })[]>(
"/api/dispatcher",
{
params: {
filter: JSON.stringify(filter),
},
},
);
if (res.status !== 200) {
throw new Error("Failed to fetch Connected Dispatcher");
}
return res.data;
};
export const kickDispatcherAPI = async ({
id,
bann,
reason,
until = null,
}: {
id: number;
bann?: boolean;
reason: string;
until?: Date | null;
}) => {
const res = await serverApi.delete(`/dispatcher/${id}`, {
data: { bann, reason, until },
});
if (res.status != 204) {
throw new Error("Failed to kick aircraft");
}
return res.data;
};