251127:1700 Frontend Start Build
This commit is contained in:
75
frontend/lib/services/json-schema.service.ts
Normal file
75
frontend/lib/services/json-schema.service.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
// File: lib/services/json-schema.service.ts
|
||||
import apiClient from "@/lib/api/client";
|
||||
import {
|
||||
CreateJsonSchemaDto,
|
||||
UpdateJsonSchemaDto,
|
||||
SearchJsonSchemaDto
|
||||
} from "@/types/dto/json-schema/json-schema.dto";
|
||||
|
||||
export const jsonSchemaService = {
|
||||
/**
|
||||
* ดึงรายการ Schema ทั้งหมด (สำหรับ Admin จัดการ Registry)
|
||||
*/
|
||||
getAll: async (params?: SearchJsonSchemaDto) => {
|
||||
// GET /json-schemas
|
||||
const response = await apiClient.get("/json-schemas", { params });
|
||||
return response.data;
|
||||
},
|
||||
|
||||
/**
|
||||
* ดึงรายละเอียด Schema ตาม ID
|
||||
*/
|
||||
getById: async (id: number | string) => {
|
||||
// GET /json-schemas/:id
|
||||
const response = await apiClient.get(`/json-schemas/${id}`);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
/**
|
||||
* ดึง Schema ตาม "Code" (ใช้บ่อยที่สุดสำหรับ Dynamic Form)
|
||||
*/
|
||||
getByCode: async (code: string) => {
|
||||
// GET /json-schemas/code/:code
|
||||
const response = await apiClient.get(`/json-schemas/code/${code}`);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
/**
|
||||
* สร้าง Schema ใหม่ (Admin)
|
||||
*/
|
||||
create: async (data: CreateJsonSchemaDto) => {
|
||||
// POST /json-schemas
|
||||
const response = await apiClient.post("/json-schemas", data);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
/**
|
||||
* อัปเดต Schema (Admin)
|
||||
*/
|
||||
update: async (id: number | string, data: UpdateJsonSchemaDto) => {
|
||||
// PUT /json-schemas/:id
|
||||
const response = await apiClient.put(`/json-schemas/${id}`, data);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
/**
|
||||
* ลบ Schema (Soft Delete)
|
||||
*/
|
||||
delete: async (id: number | string) => {
|
||||
// DELETE /json-schemas/:id
|
||||
const response = await apiClient.delete(`/json-schemas/${id}`);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
/**
|
||||
* (Optional) ตรวจสอบความถูกต้องของข้อมูลกับ Schema ฝั่ง Server
|
||||
*/
|
||||
validate: async (code: string, data: any) => {
|
||||
// POST /json-schemas/validate
|
||||
const response = await apiClient.post(`/json-schemas/validate`, {
|
||||
schemaCode: code,
|
||||
data: data
|
||||
});
|
||||
return response.data; // { valid: true, errors: [] }
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user