import { RoleView } from "@/db/schema/users"; /** * 테이블/엑셀에 보여줄 컬럼 한 칸을 어떻게 렌더링할지 결정하는 설정 */ export interface ColumnConfig { /** * "조인 결과" 객체(UserWithCompanyAndRoles)의 어느 필드를 표시할지 */ id: keyof RoleView; /** 화면·엑셀에서 보여줄 컬럼명 */ label: string; /** (선택) 그룹핑/카테고리 */ group?: string; /** (선택) Excel에서의 헤더 */ excelHeader?: string; /** (선택) 데이터 타입(예: date, string, number 등), 포맷 지정용 */ type?: string; } /** * 실제로 "User + Company + Roles" 정보 테이블에서 * 어떤 컬럼들을 어떤 순서로 표시할 것인지 정의. */ export const roleColumnsConfig: ColumnConfig[] = [ { id: "name", label: "Role Name", excelHeader: "Role Name", }, { id: "description", label: "Role Description", excelHeader: "Role Description", }, { id: "user_count", label: "할당 User 수", excelHeader: "Role에 할당된 User 수", }, { id: "created_at", label: "생성일", excelHeader: "생성일", }, { id: "domain", label: "롤 도메인", excelHeader: "롤 도메인", }, { id: "company_name", label: "회사명", excelHeader: "회사명", }, ];