mirror of
https://github.com/Sea-Haven-Industries/shoc-frontend-new.git
synced 2026-10-07 16:19:01 +00:00
24 lines
977 B
TypeScript
24 lines
977 B
TypeScript
import { useQuery, type UseQueryResult } from "@tanstack/react-query";
|
|
import type { MediaUploadPolicy } from "@/api/media-upload-contracts";
|
|
import { workOrdersMediaUploadApi } from "@/domain/work-orders/api/work-order-media-upload-api";
|
|
import { queryKeys } from "@/infra/query-key/query-key";
|
|
|
|
/**
|
|
* Server-derived Emergency/Reactive media policy: type, canUpload, limits and
|
|
* remaining counts (existing + pending reservations included server-side).
|
|
*/
|
|
export function useWorkOrderMediaPolicy(
|
|
workOrderId: string | number | undefined,
|
|
enabled: boolean,
|
|
): UseQueryResult<MediaUploadPolicy, Error> {
|
|
return useQuery({
|
|
queryKey:
|
|
workOrderId == null
|
|
? [...queryKeys.workOrders.all, "mediaPolicy", "none"]
|
|
: queryKeys.workOrders.mediaPolicy(workOrderId),
|
|
queryFn: () => workOrdersMediaUploadApi.getMediaPolicy(workOrderId as string | number),
|
|
enabled: enabled && workOrderId != null,
|
|
staleTime: 15_000,
|
|
retry: false,
|
|
});
|
|
}
|