package com.reading.platform.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDate;
import java.util.List;

@Data
@Schema(description = "成长档案创建请求")
public class GrowthRecordCreateRequest {

    @Schema(description = "学生 ID", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "Student ID is required")
    private String studentId;

    @Schema(description = "类型：reading, behavior, achievement, milestone", example = "reading", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "Type is required")
    private String type;

    @Schema(description = "标题", example = "第一次独立阅读", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "Title is required")
    private String title;

    @Schema(description = "内容", example = "孩子今天第一次独立完成了整本绘本的阅读")
    private String content;

    @Schema(description = "图片（JSON 数组）", example = "[\"/images/record1.jpg\"]")
    private String images;

    @Schema(description = "记录日期", example = "2024-01-15")
    private LocalDate recordDate;

    @Schema(description = "标签", example = "[\"阅读\",\"成长\"]")
    private List<String> tags;

}
