260220:1700 20260220 TASK-BEFE-001 Refactor by ADR-014 #5
All checks were successful
Build and Deploy / deploy (push) Successful in 2m33s

This commit is contained in:
admin
2026-02-20 17:00:10 +07:00
parent 47520fce96
commit 0f114f19b5
6 changed files with 88 additions and 84 deletions

View File

@@ -1,17 +1,17 @@
// File: lib/services/asbuilt-drawing.service.ts
import apiClient from "@/lib/api/client";
import apiClient from '@/lib/api/client';
import {
CreateAsBuiltDrawingDto,
CreateAsBuiltDrawingRevisionDto,
SearchAsBuiltDrawingDto
} from "@/types/dto/drawing/asbuilt-drawing.dto";
SearchAsBuiltDrawingDto,
} from '@/types/dto/drawing/asbuilt-drawing.dto';
export const asBuiltDrawingService = {
/**
* Get As Built Drawings list
*/
getAll: async (params: SearchAsBuiltDrawingDto) => {
const response = await apiClient.get("/drawings/asbuilt", { params });
const response = await apiClient.get('/drawings/asbuilt', { params });
return response.data;
},
@@ -27,7 +27,7 @@ export const asBuiltDrawingService = {
* Create New As Built Drawing
*/
create: async (data: CreateAsBuiltDrawingDto | FormData) => {
const response = await apiClient.post("/drawings/asbuilt", data);
const response = await apiClient.post('/drawings/asbuilt', data);
return response.data;
},
@@ -37,5 +37,5 @@ export const asBuiltDrawingService = {
createRevision: async (id: string | number, data: CreateAsBuiltDrawingRevisionDto) => {
const response = await apiClient.post(`/drawings/asbuilt/${id}/revisions`, data);
return response.data;
}
},
};

View File

@@ -1,18 +1,16 @@
// File: lib/services/contract-drawing.service.ts
import apiClient from "@/lib/api/client";
import apiClient from '@/lib/api/client';
import {
CreateContractDrawingDto,
UpdateContractDrawingDto,
SearchContractDrawingDto
} from "@/types/dto/drawing/contract-drawing.dto";
SearchContractDrawingDto,
} from '@/types/dto/drawing/contract-drawing.dto';
export const contractDrawingService = {
/**
* ดึงรายการแบบสัญญา (Contract Drawings)
*/
getAll: async (params: SearchContractDrawingDto) => {
// GET /drawings/contract?projectId=1&page=1...
const response = await apiClient.get("/drawings/contract", { params });
const response = await apiClient.get('/drawings/contract', { params });
// The interceptor returns { statusCode, message, data, meta }
return response.data;
},
@@ -28,7 +26,7 @@ export const contractDrawingService = {
* สร้างแบบสัญญาใหม่
*/
create: async (data: CreateContractDrawingDto | FormData) => {
const response = await apiClient.post("/drawings/contract", data);
const response = await apiClient.post('/drawings/contract', data);
return response.data;
},
@@ -46,5 +44,5 @@ export const contractDrawingService = {
delete: async (id: string | number) => {
const response = await apiClient.delete(`/drawings/contract/${id}`);
return response.data;
}
},
};

View File

@@ -1,17 +1,17 @@
// File: lib/services/shop-drawing.service.ts
import apiClient from "@/lib/api/client";
import apiClient from '@/lib/api/client';
import {
CreateShopDrawingDto,
CreateShopDrawingRevisionDto,
SearchShopDrawingDto
} from "@/types/dto/drawing/shop-drawing.dto";
SearchShopDrawingDto,
} from '@/types/dto/drawing/shop-drawing.dto';
export const shopDrawingService = {
/**
* ดึงรายการแบบก่อสร้าง (Shop Drawings)
*/
getAll: async (params: SearchShopDrawingDto) => {
const response = await apiClient.get("/drawings/shop", { params });
const response = await apiClient.get('/drawings/shop', { params });
return response.data;
},
@@ -27,7 +27,7 @@ export const shopDrawingService = {
* สร้าง Shop Drawing ใหม่ (พร้อม Revision 0)
*/
create: async (data: CreateShopDrawingDto | FormData) => {
const response = await apiClient.post("/drawings/shop", data);
const response = await apiClient.post('/drawings/shop', data);
return response.data;
},
@@ -37,5 +37,5 @@ export const shopDrawingService = {
createRevision: async (id: string | number, data: CreateShopDrawingRevisionDto) => {
const response = await apiClient.post(`/drawings/shop/${id}/revisions`, data);
return response.data;
}
},
};

View File

@@ -1,11 +1,11 @@
// File: lib/services/workflow-engine.service.ts
import apiClient from "@/lib/api/client";
import {
CreateWorkflowDefinitionDto,
UpdateWorkflowDefinitionDto,
EvaluateWorkflowDto,
GetAvailableActionsDto
} from "@/types/dto/workflow-engine/workflow-engine.dto";
import apiClient from '@/lib/api/client';
import {
CreateWorkflowDefinitionDto,
UpdateWorkflowDefinitionDto,
EvaluateWorkflowDto,
GetAvailableActionsDto,
} from '@/types/dto/workflow-engine/workflow-engine.dto';
export const workflowEngineService = {
// --- Engine Execution (Low-Level) ---
@@ -15,8 +15,8 @@ export const workflowEngineService = {
* POST /workflow-engine/available-actions
*/
getAvailableActions: async (data: GetAvailableActionsDto) => {
const response = await apiClient.post("/workflow-engine/available-actions", data);
return response.data; // string[] e.g. ['APPROVE', 'REJECT']
const response = await apiClient.post('/workflow-engine/available-actions', data);
return response.data?.data || response.data; // string[] e.g. ['APPROVE', 'REJECT']
},
/**
@@ -24,8 +24,8 @@ export const workflowEngineService = {
* POST /workflow-engine/evaluate
*/
evaluate: async (data: EvaluateWorkflowDto) => {
const response = await apiClient.post("/workflow-engine/evaluate", data);
return response.data; // { nextState: '...', events: [...] }
const response = await apiClient.post('/workflow-engine/evaluate', data);
return response.data?.data || response.data; // { nextState: '...', events: [...] }
},
// --- Definition Management (Admin / Workflow Editor) ---
@@ -35,8 +35,8 @@ export const workflowEngineService = {
* GET /workflow-engine/definitions
*/
getDefinitions: async () => {
const response = await apiClient.get("/workflow-engine/definitions");
return response.data;
const response = await apiClient.get('/workflow-engine/definitions');
return response.data?.data || response.data;
},
/**
@@ -45,7 +45,7 @@ export const workflowEngineService = {
*/
getDefinitionById: async (id: string | number) => {
const response = await apiClient.get(`/workflow-engine/definitions/${id}`);
return response.data;
return response.data?.data || response.data;
},
/**
@@ -53,8 +53,8 @@ export const workflowEngineService = {
* POST /workflow-engine/definitions
*/
createDefinition: async (data: CreateWorkflowDefinitionDto) => {
const response = await apiClient.post("/workflow-engine/definitions", data);
return response.data;
const response = await apiClient.post('/workflow-engine/definitions', data);
return response.data?.data || response.data;
},
/**
@@ -63,7 +63,7 @@ export const workflowEngineService = {
*/
updateDefinition: async (id: string | number, data: UpdateWorkflowDefinitionDto) => {
const response = await apiClient.patch(`/workflow-engine/definitions/${id}`, data);
return response.data;
return response.data?.data || response.data;
},
/**
@@ -72,6 +72,6 @@ export const workflowEngineService = {
*/
deleteDefinition: async (id: string | number) => {
const response = await apiClient.delete(`/workflow-engine/definitions/${id}`);
return response.data;
}
};
return response.data?.data || response.data;
},
};