import { client } from '../client' import { API } from '../endpoints' import type { CustomField } from '@/scripts/types/domain/custom-field' import type { ApiResponse, ListParams } from '@/scripts/types/api' export interface CustomFieldListParams extends ListParams { model_type?: string type?: string } export interface CreateCustomFieldPayload { name: string label: string model_type: string type: string placeholder?: string | null is_required?: boolean options?: Array<{ name: string }> | string[] | null order?: number | null default_answer?: string | null } export const customFieldService = { async list(params?: CustomFieldListParams): Promise> { const { data } = await client.get(API.CUSTOM_FIELDS, { params }) return data }, async get(id: number): Promise> { const { data } = await client.get(`${API.CUSTOM_FIELDS}/${id}`) return data }, async create(payload: CreateCustomFieldPayload): Promise> { const { data } = await client.post(API.CUSTOM_FIELDS, payload) return data }, async update(id: number, payload: Partial): Promise> { const { data } = await client.put(`${API.CUSTOM_FIELDS}/${id}`, payload) return data }, async delete(id: number): Promise<{ success: boolean; error?: string }> { const { data } = await client.delete(`${API.CUSTOM_FIELDS}/${id}`) return data }, }