package com.honey.honey.dto;

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

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.NotBlank;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BalanceAdjustmentRequest {
    @NotNull(message = "Balance type is required")
    private BalanceType balanceType; // A or B
    
    @NotNull(message = "Amount is required")
    private Long amount; // In bigint format (tickets * 1,000,000)
    
    @NotNull(message = "Operation is required")
    private OperationType operation; // ADD or SUBTRACT
    
    @NotBlank(message = "Reason is required")
    private String reason; // Reason for adjustment (for audit log)

    public enum BalanceType {
        A, B
    }

    public enum OperationType {
        ADD, SUBTRACT
    }
}

