package de.avatic.lcc.dto.error;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.time.LocalDateTime;
import java.util.List;

public class ErrorLogDTO {

    @JsonProperty("user_id")
    private Integer userId;

    private String code;
    private String title;
    private String message;

    private String pinia;

    private String request;

    @JsonProperty("calculation_job_id")
    private Integer calculationJobId;

    @JsonProperty("bulk_operation_id")
    private Integer bulkOperationId;

    private String type;

    private List<ErrorLogTraceItemDto> trace;

    @JsonProperty("timestamp")
    private LocalDateTime createdAt;

    public String getRequest() {
        return request;
    }

    public void setRequest(String request) {
        this.request = request;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getPinia() {
        return pinia;
    }

    public void setPinia(String pinia) {
        this.pinia = pinia;
    }

    public Integer getCalculationJobId() {
        return calculationJobId;
    }

    public void setCalculationJobId(Integer calculationJobId) {
        this.calculationJobId = calculationJobId;
    }

    public Integer getBulkOperationId() {
        return bulkOperationId;
    }

    public void setBulkOperationId(Integer bulkOperationId) {
        this.bulkOperationId = bulkOperationId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public List<ErrorLogTraceItemDto> getTrace() {
        return trace;
    }

    public void setTrace(List<ErrorLogTraceItemDto> trace) {
        this.trace = trace;
    }

    @JsonProperty("timestamp")
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
}
