// ========================================
// 공통 코드 타입 및 유틸리티
// ========================================

/**
 * 공통 코드 타입
 */
export interface CommonCode {
  id: number;
  code: string;
  name: string;
  description: string | null;
  sort_order: number;
  attributes: Record<string, unknown> | null;
}

/**
 * 공통 코드 옵션 (Select/ComboBox용)
 */
export interface CommonCodeOption {
  value: string;
  label: string;
}

/**
 * CommonCode[] → 옵션 배열로 변환
 */
export function toCommonCodeOptions(codes: CommonCode[]): CommonCodeOption[] {
  return codes.map((code) => ({
    value: code.code,
    label: code.name,
  }));
}

/**
 * CommonCode[]에서 code로 name 조회
 */
export function getCodeLabel(codes: CommonCode[], code: string): string {
  const found = codes.find((item) => item.code === code);
  return found?.name || code;
}