package dev.lions.unionflow.server.api.dto.document.request;

import dev.lions.unionflow.server.api.enums.document.TypeDocument;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;

/**
 * Requête de création d'un document.
 *
 * @author UnionFlow Team
 * @version 1.0
 */
@Builder
public record CreateDocumentRequest(
        @NotBlank(message = "Le nom du fichier est obligatoire") String nomFichier,
        String nomOriginal,
        @NotBlank(message = "Le chemin de stockage est obligatoire") String cheminStockage,
        String typeMime,
        @NotNull(message = "La taille est obligatoire") @Min(value = 0, message = "La taille doit être positive") Long tailleOctets,
        TypeDocument typeDocument,
        String hashMd5,
        String hashSha256,
        String description) {
}
