Files
2026-04-10 13:33:37 +09:00

44 lines
1.4 KiB
TypeScript

/**
* FieldConfig 기반 데이터 CRUD API 래퍼
* 기존 dataApi를 활용하면서 FieldConfig 컴포넌트에서 쓰기 편한 형태로 감쌈
*
* ★ 별도 인터페이스 정의 안 함 — Record<string, any>
*/
import { dataApi } from './data';
/** FieldConfig 기반 목록 조회 */
export async function fcList(params: Record<string, any>): Promise<Record<string, any>> {
const { tableName, page = 1, size = 20, sortBy, sortOrder, ...filters } = params;
return dataApi.getTableData(tableName, {
page,
size,
sortBy,
sortOrder,
filters,
});
}
/** FieldConfig 기반 단건 조회 */
export async function fcGet(tableName: string, id: string): Promise<Record<string, any>> {
const result = await dataApi.getRecordDetail(tableName, id);
return result.data ?? {};
}
/** FieldConfig 기반 등록 */
export async function fcInsert(tableName: string, data: Record<string, any>): Promise<any> {
return dataApi.createRecord(tableName, data);
}
/** FieldConfig 기반 수정 */
export async function fcUpdate(tableName: string, id: string, data: Record<string, any>): Promise<any> {
return dataApi.updateRecord(tableName, id, data);
}
/** FieldConfig 기반 삭제 */
export async function fcDelete(tableName: string, ids: string[]): Promise<any> {
// 단건씩 삭제 (bulk delete API가 있으면 교체)
const results = await Promise.all(ids.map((id) => dataApi.deleteRecord(tableName, id)));
return results;
}