mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 22:30:55 +00:00
137 lines
4.2 KiB
TypeScript
137 lines
4.2 KiB
TypeScript
import { api as client } from '../auth/http';
|
|
import { URL_CONSTANTS } from '@/constants/URLS';
|
|
import { unwrap } from '@/utils/endpoint';
|
|
import type {
|
|
AssignCustomsRiskPayload,
|
|
CreateDjiboutiIncidentPayload,
|
|
CreateEmptyContainerReturnPayload,
|
|
DjiboutiIncident,
|
|
EmptyContainerReturn,
|
|
ImportCustomsFinalization,
|
|
ImportOperationActionPayload,
|
|
RecordDeclarationPayload,
|
|
UpdateEmptyContainerReturnStatusPayload,
|
|
UploadImportCustomsDocumentPayload,
|
|
} from '@/types/importOperations';
|
|
|
|
export const importOperationsService = {
|
|
listIncidents: async (bookingId?: string): Promise<DjiboutiIncident[]> => {
|
|
const response = await client.get<DjiboutiIncident[]>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.DJIBOUTI_INCIDENTS,
|
|
{ params: { bookingId } },
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
createIncident: async (
|
|
payload: CreateDjiboutiIncidentPayload,
|
|
): Promise<DjiboutiIncident> => {
|
|
const response = await client.post<DjiboutiIncident>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.DJIBOUTI_INCIDENTS,
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
getCustoms: async (bookingId: string): Promise<ImportCustomsFinalization> => {
|
|
const response = await client.get<ImportCustomsFinalization>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.CUSTOMS(bookingId),
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
uploadCustomsDocument: async (
|
|
bookingId: string,
|
|
payload: UploadImportCustomsDocumentPayload,
|
|
): Promise<ImportCustomsFinalization> => {
|
|
const response = await client.post<ImportCustomsFinalization>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.CUSTOMS_DOCUMENTS(bookingId),
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
recordDeclaration: async (
|
|
bookingId: string,
|
|
payload: RecordDeclarationPayload,
|
|
): Promise<ImportCustomsFinalization> => {
|
|
const response = await client.post<ImportCustomsFinalization>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.CUSTOMS_DECLARATION(bookingId),
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
notifyDutiesTaxes: async (
|
|
bookingId: string,
|
|
payload: ImportOperationActionPayload = {},
|
|
): Promise<ImportCustomsFinalization> => {
|
|
const response = await client.post<ImportCustomsFinalization>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.CUSTOMS_NOTIFY_DUTIES_TAXES(bookingId),
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
markDutiesTaxesPaid: async (
|
|
bookingId: string,
|
|
payload: ImportOperationActionPayload = {},
|
|
): Promise<ImportCustomsFinalization> => {
|
|
const response = await client.post<ImportCustomsFinalization>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.CUSTOMS_DUTIES_TAXES_PAID(bookingId),
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
assignRisk: async (
|
|
bookingId: string,
|
|
payload: AssignCustomsRiskPayload,
|
|
): Promise<ImportCustomsFinalization> => {
|
|
const response = await client.post<ImportCustomsFinalization>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.CUSTOMS_RISK(bookingId),
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
markReleasePermitted: async (
|
|
bookingId: string,
|
|
payload: ImportOperationActionPayload = {},
|
|
): Promise<ImportCustomsFinalization> => {
|
|
const response = await client.post<ImportCustomsFinalization>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.CUSTOMS_RELEASE_PERMITTED(bookingId),
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
listEmptyReturns: async (): Promise<EmptyContainerReturn[]> => {
|
|
const response = await client.get<EmptyContainerReturn[]>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.EMPTY_CONTAINER_RETURNS,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
createEmptyReturn: async (
|
|
payload: CreateEmptyContainerReturnPayload,
|
|
): Promise<EmptyContainerReturn> => {
|
|
const response = await client.post<EmptyContainerReturn>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.EMPTY_CONTAINER_RETURNS,
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
|
|
updateEmptyReturnStatus: async (
|
|
id: string,
|
|
payload: UpdateEmptyContainerReturnStatusPayload,
|
|
): Promise<EmptyContainerReturn> => {
|
|
const response = await client.post<EmptyContainerReturn>(
|
|
URL_CONSTANTS.IMPORT_OPERATIONS.EMPTY_CONTAINER_RETURN_STATUS(id),
|
|
payload,
|
|
);
|
|
return unwrap(response.data);
|
|
},
|
|
};
|