Files
var-monorepo/apps/dispatch/app/_querys/connected-user.ts
2025-06-04 17:27:58 -07:00

49 lines
1.3 KiB
TypeScript

import { ConnectedAircraft, ConnectedDispatcher, Prisma } from "@repo/db";
import { serverApi } from "_helpers/axios";
import axios from "axios";
export const getConnectedUserAPI = async () => {
const res = await axios.get<(ConnectedAircraft | ConnectedDispatcher)[]>(
"/api/connected-user",
{},
);
if (res.status !== 200) {
throw new Error("Failed to fetch Connected User");
}
return res.data;
};
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[]>("/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 }: { id: number; bann?: boolean }) => {
const res = await serverApi.delete(`/dispatcher/${id}`, {
data: { bann },
});
console.log(res.status);
if (res.status != 204) {
throw new Error("Failed to kick aircraft");
}
return res.data;
};