/**
 * ITAM 통합 스키마 매퍼 (Unified Schema Mapper)
 * 
 * key: 애플리케이션 내부 로직에서 사용하는 속성명
 * db:  MySQL 데이터베이스 컬럼명
 * ui:  사용자에게 보여지는 UI 레이블
 */

export const ASSET_SCHEMA = {
  // ─── 공통 필드 (Common) ───
  ID:             { key: 'id',           db: 'id',              ui: 'ID' },
  TYPE:           { key: 'type',         db: 'type',            ui: '자산유형' },
  CORP:           { key: '법인',         db: 'corp',            ui: '구매법인' },
  ASSET_CODE:     { key: '자산코드',      db: 'asset_code',      ui: '자산번호' },
  PURCHASE_YM:    { key: '구매연월',      db: 'purchase_date',   ui: '구매연월' },
  START_DATE:     { key: '시작일',       db: 'start_date',      ui: '시작일' },
  ORG:            { key: '현사용조직',    db: 'current_org',     ui: '현 사용조직' },
  PREV_ORG:       { key: '이전사용조직',  db: 'prev_org',        ui: '이전 사용조직' },
  LOCATION:       { key: '위치',         db: 'location',        ui: '설치위치' },
  DETAIL_LOCATION:{ key: '상세위치',      db: 'detail_location', ui: '상세위치' },
  PURPOSE:        { key: '용도',         db: 'purpose',         ui: '용도' },
  DETAILS:        { key: '상세',         db: 'details',         ui: '상세' },
  MANAGER_MAIN:   { key: '담당자_정',     db: 'manager_main',    ui: '담당자' },
  MANAGER_SUB:    { key: '담당자_부',     db: 'manager_sub',     ui: '담당자(부)' },
  PRICE:          { key: '금액',         db: 'price',           ui: '도입금액' },
  VENDOR:         { key: '납품업체',      db: 'vendor',          ui: '납품업체' },
  DOC_NAME:       { key: '품의서명',      db: 'doc_name',        ui: '품의서' },
  REMARKS:        { key: '비고',         db: 'remarks',         ui: '비고' },

  // ─── 하드웨어 상세 (Hardware) ───
  USER:           { key: '사용자',       db: 'user_name',       ui: '사용자' },
  MODEL:          { key: '모델명',       db: 'model_name',      ui: '모델명' },
  MAINBOARD:      { key: '메인보드',     db: 'mainboard',       ui: '메인보드' },
  OS:             { key: 'OS',           db: 'os',              ui: '운영체제' },
  CPU:            { key: 'CPU',          db: 'cpu',             ui: 'CPU' },
  RAM:            { key: 'RAM',          db: 'ram',             ui: 'RAM' },
  STORAGE1:       { key: 'SSD1',         db: 'storage1',        ui: 'Storage 1' },
  STORAGE2:       { key: 'SSD2',         db: 'storage2',        ui: 'Storage 2' },
  STORAGE3:       { key: 'HDD1',         db: 'storage3',        ui: 'Storage 3' },
  IP_ADDR:        { key: 'IP주소',       db: 'ip_address',      ui: 'IP 주소 1' },
  IP_ADDR2:       { key: 'IP2',          db: 'ip2',             ui: 'IP 주소 2' },
  MAC_ADDR:       { key: 'MACaddress',   db: 'mac_address',     ui: 'MAC 주소' },
  STATUS:         { key: '현재상태',      db: 'status',          ui: '현재상태' },
  STORE_LOC:      { key: '보관위치',      db: 'storage_location',ui: '보관위치' },
  MONITORING:     { key: '모니터링',      db: 'monitoring',      ui: '모니터링' },

  // ─── 소프트웨어/클라우드 상세 (SW/Cloud) ───
  PRODUCT:        { key: '제품명',       db: 'product_name',    ui: '제품/서비스명' },
  PLATFORM:       { key: '플랫폼명',      db: 'platform_name',   ui: '운영 플랫폼' },
  LICENSE_TYPE:   { key: '라이선스유형',   db: 'license_type',    ui: '라이선스 유형' },
  LICENSE_KEY:    { key: '라이선스키',     db: 'license_key',     ui: '라이선스 키' },
  QTY:            { key: '수량',         db: 'quantity',        ui: '보유수량' },
  EXPIRY:         { key: '만료일',       db: 'expiry_date',     ui: '만료/구독일' },
  ACCOUNT:        { key: '계정명',       db: 'account_name',    ui: '계정(이메일)' },
  PAY_METHOD:     { key: '결제수단',      db: 'pay_method',      ui: '결제수단' },
  PAY_DAY:        { key: '결제일',       db: 'pay_day',         ui: '결제일' },
  CARD_NUM:       { key: '연결카드번호',   db: 'card_num',        ui: '카드번호(뒷4자리)' },
  BILLING:        { key: '당월청구액',    db: 'monthly_fee',     ui: '당월 청구액' }
};

/**
 * 용어 사전 (UI 텍스트 전용)
 */
export const UI_TEXT = {
  ACTION: {
    ADD: '신규 등록',
    EDIT: '수정',
    SAVE: '저장',
    DELETE: '삭제',
    CANCEL: '취소',
    CLOSE: '닫기',
    HISTORY_ADD: '이력 추가',
    RESET_FILTER: '필터 초기화'
  },
  MESSAGES: {
    CONFIRM_DELETE: '정말로 삭제하시겠습니까?',
    SAVE_SUCCESS: '성공적으로 저장되었습니다.',
    NO_DATA: '검색 결과가 없습니다.'
  }
};
