49 lines
1.3 KiB
TypeScript
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;
|
|
};
|