import { ApiProperty } from '@nestjs/swagger';
import { NoticeType, NoticeStatus } from '../notice.entity';

export class NoticeResponseDto {
  @ApiProperty()
  id: number;

  @ApiProperty()
  title: string;

  @ApiProperty()
  content: string;

  @ApiProperty({ enum: NoticeType })
  type: NoticeType;

  @ApiProperty({ enum: NoticeStatus })
  status: NoticeStatus;

  @ApiProperty({ nullable: true })
  userId: number | null;

  @ApiProperty({ nullable: true })
  senderId: number | null;

  @ApiProperty({ nullable: true })
  scheduledAt: Date | null;

  @ApiProperty({ nullable: true })
  sentAt: Date | null;

  @ApiProperty({ nullable: true })
  readAt: Date | null;

  @ApiProperty({ nullable: true })
  metadata: Record<string, any> | null;

  @ApiProperty()
  createdAt: Date;

  @ApiProperty()
  updatedAt: Date;
}