Files
lcbp3/frontend/lib/services/document-numbering.service.ts
admin 7db6a003db
Some checks failed
Spec Validation / validate-markdown (push) Has been cancelled
Spec Validation / validate-diagrams (push) Has been cancelled
Spec Validation / check-todos (push) Has been cancelled
251223:1649 On going update to 1.7.0: Refoctory drawing Module & document number Module
2025-12-23 16:49:16 +07:00

47 lines
1.6 KiB
TypeScript

import apiClient from "@/lib/api/client";
import {
NumberingMetrics,
ManualOverrideDto,
VoidReplaceDto,
CancelNumberDto,
AuditQueryParams
} from "@/types/dto/numbering.dto";
export const documentNumberingService = {
// --- Admin Dashboard Metrics ---
getMetrics: async (): Promise<NumberingMetrics> => {
const response = await apiClient.get("/admin/document-numbering/metrics");
return response.data;
},
// --- Admin Tools ---
manualOverride: async (dto: ManualOverrideDto): Promise<void> => {
await apiClient.post("/admin/document-numbering/manual-override", dto);
},
voidAndReplace: async (dto: VoidReplaceDto): Promise<any> => {
const response = await apiClient.post("/admin/document-numbering/void-and-replace", dto);
return response.data;
},
cancelNumber: async (dto: CancelNumberDto): Promise<void> => {
await apiClient.post("/admin/document-numbering/cancel", dto);
},
bulkImport: async (data: FormData | any[]): Promise<any> => {
const isFormData = data instanceof FormData;
const config = isFormData ? { headers: { "Content-Type": "multipart/form-data" } } : {};
const response = await apiClient.post("/admin/document-numbering/bulk-import", data, config);
return response.data;
},
// --- Audit Logs ---
getAuditLogs: async (params?: AuditQueryParams) => {
// NOTE: endpoint might be merged with metrics or separate
// Currently controller has getMetrics returning audit logs too.
// But if we want separate pagination later:
// return apiClient.get("/admin/document-numbering/audit", { params });
return [];
}
};