package dev.lions.unionflow.server.api.dto.backup.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.UUID;

/**
 * Response représentant une sauvegarde
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BackupResponse {

    private UUID id;
    private String name;
    private String description;
    private String type; // AUTO, MANUAL, RESTORE_POINT
    private Long sizeBytes;
    private String sizeFormatted; // ex: "2.3 GB"
    private String status; // PENDING, IN_PROGRESS, COMPLETED, FAILED
    private LocalDateTime createdAt;
    private LocalDateTime completedAt;
    private String createdBy;

    private Boolean includesDatabase;
    private Boolean includesFiles;
    private Boolean includesConfiguration;

    private String filePath;
    private String errorMessage; // Si status = FAILED
}
