import {
  Column,
  CreateDateColumn,
  Entity,
  PrimaryGeneratedColumn,
} from 'typeorm';

// 일정 카테고리(타임라인 레인) — 전사 공유. 사용자가 추가·수정·삭제 가능.
// 음영색(weak/border)은 color 로부터 프론트가 color-mix 로 파생한다(저장하지 않음).
@Entity('schedule_categories')
export class ScheduleCategory {
  @PrimaryGeneratedColumn('uuid')
  id!: string;

  // 표시 이름(예: 회의, 휴가·부재)
  @Column({ type: 'varchar' })
  label!: string;

  // 카테고리 색(hex, 예: #1d4ed8)
  @Column({ type: 'varchar' })
  color!: string;

  // 표시 순서(레인/필터 정렬) — 작을수록 위
  @Column({ name: 'sort_order', type: 'int', default: 0 })
  sortOrder!: number;

  @CreateDateColumn({ name: 'created_at' })
  createdAt!: Date;
}
