mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-10-07 16:19:01 +00:00
30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { apiGet } from "@/api/api";
|
|
import { API_PATHS } from "@/api/api-paths";
|
|
import { handleApiResponse } from "@/api/handle-api-response";
|
|
import { mapServices } from "@/domain/services/mappers/service-mapper";
|
|
import type { Service } from "@/domain/services/types/service";
|
|
import { WORK_ORDER_TYPE_API } from "@/domain/work-orders/types/work-order-board";
|
|
import type { WOType } from "@/domain/work-orders/types/work-order-wizard";
|
|
|
|
const TYPE_TO_API: Record<Exclude<WOType, "Overdue">, number> = {
|
|
PM: WORK_ORDER_TYPE_API.PM,
|
|
Reactive: WORK_ORDER_TYPE_API.Reactive,
|
|
Emergency: WORK_ORDER_TYPE_API.Emergency,
|
|
};
|
|
|
|
export const servicesApi = {
|
|
getActive: async (): Promise<Service[]> => {
|
|
const data = await apiGet<unknown>(API_PATHS.services.list, {
|
|
searchParams: { isActive: true },
|
|
});
|
|
return mapServices(handleApiResponse(data));
|
|
},
|
|
|
|
getActiveForWorkOrderType: async (workOrderType: WOType): Promise<Service[]> => {
|
|
if (workOrderType === "Overdue") return [];
|
|
const data = await apiGet<unknown>(API_PATHS.services.list, {
|
|
searchParams: { isActive: true, workOrderType: TYPE_TO_API[workOrderType] },
|
|
});
|
|
return mapServices(handleApiResponse(data));
|
|
},
|
|
};
|