package com.caliverse.admin.domain.request;

import com.caliverse.admin.domain.entity.common.SearchUserType;
import com.caliverse.admin.dynamodb.entity.EAmountDeltaType;
import com.caliverse.admin.dynamodb.entity.ECountDeltaType;
import com.caliverse.admin.dynamodb.entity.ECurrencyType;
import com.caliverse.admin.logs.entity.LogAction;
import com.caliverse.admin.logs.entity.LogDomain;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LogGameRequest {
    @JsonProperty("search_type")
    private SearchUserType searchType;
    @JsonProperty("search_data")
    private String searchData;
    @JsonProperty("log_action")
    private LogAction logAction;
    @JsonProperty("log_domain")
    private LogDomain logDomain;
    @JsonProperty("tran_id")
    private String tranId;
    @JsonProperty("item_id")
    private String itemId;
    //currency
    @JsonProperty("currency_type")
    private ECurrencyType currencyType;
    @JsonProperty("amount_delta_type")
    private EAmountDeltaType amountDeltaType;
    //item
    @JsonProperty("count_delta_type")
    private ECountDeltaType countDeltaType;
    @JsonProperty("item_type_large")
    private String itemTypeLarge;
    @JsonProperty("item_type_small")
    private String itemTypeSmall;

    @JsonProperty("start_dt")
    private LocalDateTime startDt;
    @JsonProperty("end_dt")
    private LocalDateTime endDt;
    @JsonProperty("page_no")
    private Integer pageNo;
    @JsonProperty("page_size")
    private Integer pageSize;
    @JsonProperty("order_by")
    private String orderBy;
    private String taskId;

}
