import { ApiProperty } from "@nestjs/swagger"

export class ClockInEntryDto {
  @ApiProperty({
    description: "Date of the clock-in entry",
    example: "2025-11-25",
  })
  date: string

  @ApiProperty({
    description: "Employee ID",
    example: 1,
  })
  employee_id: number

  @ApiProperty({
    description: "Employee name",
    example: "Rahul Sharma",
  })
  employee_name: string

  @ApiProperty({
    description: "Employee designation/role",
    example: "Project Manager",
  })
  designation: string

  @ApiProperty({
    description: "Department name",
    example: "Design",
  })
  department_name: string

  @ApiProperty({
    description: "Clock in time",
    example: "09:45 AM",
  })
  clock_in: string

  @ApiProperty({
    description: "Clock out time",
    example: "05:34 PM",
  })
  clock_out: string

  @ApiProperty({
    description: "Duration worked",
    example: "07:49",
  })
  duration: string

  @ApiProperty({
    description: "Status of the clock-in entry",
    example: "Completed",
  })
  status: string
}

export class ClockInReportResponseDto {
  @ApiProperty({
    description: "Paginated list of clock-in entries",
    type: [ClockInEntryDto],
  })
  entries: ClockInEntryDto[]

  @ApiProperty({
    description: "Total count for pagination",
    example: 25,
  })
  total_count: number

  @ApiProperty({
    description: "Current page",
    example: 1,
  })
  current_page: number

  @ApiProperty({
    description: "Items per page",
    example: 10,
  })
  per_page: number

  @ApiProperty({
    description: "Total pages",
    example: 3,
  })
  total_pages: number
}
