package ru.soune.nocopy.dto.tarriff;

import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class TariffRequest {
    private Long id;

    @NotNull
    @NotBlank
    @JsonProperty("type")
    private String type;

    @NotNull
    @NotBlank
    @JsonProperty("tariff_name")
    private String name;

    @JsonProperty("tariff_price")
    private Double price;

    @JsonProperty("tariff_tokens")
    private Integer tokens;

    @JsonProperty("max_files")
    private Integer maxFilesCount;

    @JsonProperty("disk_size")
    private Long diskSize;

    @JsonProperty("max_users")
    private Long maxUsers;

    @JsonProperty("action")
    private String action;

    @JsonProperty("user_token")
    private String userToken;

    @JsonProperty("tariff_term")
    private String tariffTerm;

    @JsonProperty("description")
    private String description;

    @JsonProperty("account_type")
    private String accountType;

    @JsonProperty("page")
    private Integer page;

    @JsonProperty("page_size")
    private Integer size;

    @JsonProperty("sort_by")
    private String sortBy;

    @JsonProperty("sort_direction")
    private String sortDirection = "desc";
}