package com.gnx.telemedicine.dto.error;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * Standardized error response DTO for consistent error handling across the application.
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ErrorResponseDto {
    private String error;
    private String message;
    private Integer status;
    private LocalDateTime timestamp;
    private String path;
    private String correlationId;
    private Map<String, String> errors; // For validation errors
    private Map<String, Object> details; // For additional error details
}

