ERP-node/frontend/lib/api/tableCategoryValue.ts

128 lines
3.3 KiB
TypeScript
Raw Normal View History

2025-11-05 15:23:57 +09:00
import { apiClient } from "./client";
import {
TableCategoryValue,
CategoryColumn,
} from "@/types/tableCategoryValue";
/**
*
*/
export async function getCategoryColumns(tableName: string) {
try {
const response = await apiClient.get<{
success: boolean;
data: CategoryColumn[];
}>(`/table-categories/${tableName}/columns`);
return response.data;
} catch (error: any) {
console.error("카테고리 컬럼 조회 실패:", error);
return { success: false, error: error.message };
}
}
/**
2025-11-05 18:08:51 +09:00
* ( )
2025-11-05 15:23:57 +09:00
*/
export async function getCategoryValues(
tableName: string,
columnName: string,
includeInactive: boolean = false
) {
try {
const response = await apiClient.get<{
success: boolean;
data: TableCategoryValue[];
}>(`/table-categories/${tableName}/${columnName}/values`, {
2025-11-05 18:08:51 +09:00
params: { includeInactive },
2025-11-05 15:23:57 +09:00
});
return response.data;
} catch (error: any) {
console.error("카테고리 값 조회 실패:", error);
return { success: false, error: error.message };
}
}
/**
*
*/
export async function addCategoryValue(value: TableCategoryValue) {
try {
const response = await apiClient.post<{
success: boolean;
data: TableCategoryValue;
}>("/table-categories/values", value);
return response.data;
} catch (error: any) {
console.error("카테고리 값 추가 실패:", error);
return { success: false, error: error.message };
}
}
/**
*
*/
export async function updateCategoryValue(
valueId: number,
updates: Partial<TableCategoryValue>
) {
try {
const response = await apiClient.put<{
success: boolean;
data: TableCategoryValue;
}>(`/table-categories/values/${valueId}`, updates);
return response.data;
} catch (error: any) {
console.error("카테고리 값 수정 실패:", error);
return { success: false, error: error.message };
}
}
/**
*
*/
export async function deleteCategoryValue(valueId: number) {
try {
const response = await apiClient.delete<{
success: boolean;
message: string;
}>(`/table-categories/values/${valueId}`);
return response.data;
} catch (error: any) {
console.error("카테고리 값 삭제 실패:", error);
return { success: false, error: error.message };
}
}
/**
*
*/
export async function bulkDeleteCategoryValues(valueIds: number[]) {
try {
const response = await apiClient.post<{
success: boolean;
message: string;
}>("/table-categories/values/bulk-delete", { valueIds });
return response.data;
} catch (error: any) {
console.error("카테고리 값 일괄 삭제 실패:", error);
return { success: false, error: error.message };
}
}
/**
*
*/
export async function reorderCategoryValues(orderedValueIds: number[]) {
try {
const response = await apiClient.post<{
success: boolean;
message: string;
}>("/table-categories/values/reorder", { orderedValueIds });
return response.data;
} catch (error: any) {
console.error("카테고리 값 순서 변경 실패:", error);
return { success: false, error: error.message };
}
}