import { Vendor, VendorContact } from "@/db/schema/vendors"; /** * 테이블/엑셀에 보여줄 컬럼 한 칸을 어떻게 렌더링할지 결정하는 설정 */ export interface VendorColumnConfig { /** * "조인 결과" 객체(UserWithCompanyAndRoles)의 어느 필드를 표시할지 */ id: keyof VendorContact; /** 화면·엑셀에서 보여줄 컬럼명 */ label: string; /** (선택) 그룹핑/카테고리 */ group?: string; /** (선택) Excel에서의 헤더 */ excelHeader?: string; /** (선택) 데이터 타입(예: date, string, number 등), 포맷 지정용 */ type?: string; } /** * 실제로 "User + Company + Roles" 정보 테이블에서 * 어떤 컬럼들을 어떤 순서로 표시할 것인지 정의. */ export const vendorContactsColumnsConfig: VendorColumnConfig[] = [ { id: "contactName", label: "담당자명", excelHeader: "담당자명", group: "기본 정보", }, { id: "contactPosition", label: "직급", excelHeader: "직급", group: "기본 정보", }, { id: "contactDepartment", label: "부서", excelHeader: "부서", group: "기본 정보", }, { id: "contactTask", label: "담당업무", excelHeader: "담당업무", group: "기본 정보", }, { id: "contactEmail", label: "이메일", excelHeader: "이메일", group: "연락처", }, { id: "contactPhone", label: "전화번호", excelHeader: "전화번호", group: "연락처", }, { id: "createdAt", label: "등록일", excelHeader: "등록일", group: "시스템", }, { id: "updatedAt", label: "수정일", excelHeader: "수정일", group: "시스템", }, ];