import { AvailabilitySchedule } from '../models/entities/AvailabilitySchedule.entity';
import { User } from '../models/entities/User.entity';

export class AvailabilityView {
  static toResponse(schedule: AvailabilitySchedule, user: User) {
    return {
      timezone: schedule.timezone ?? user.timezone,
      minNoticeHours: schedule.minNoticeHours,
      maxAdvanceDays: schedule.maxAdvanceDays,
      weeklyRules: schedule.weeklyRules,
      dateOverrides: (schedule.dateOverrides ?? []).map((o) => ({
        date: o.overrideDate,
        available: Boolean(o.available),
        intervals: o.intervals ?? undefined,
      })),
    };
  }
}
