package validation

type Create struct {
	BankId             *uint  `json:"bank_id" validate:"required_strict,number,gt=0"`
	AdjustmentDate     string `json:"adjustment_date" validate:"required_strict"`
	Nominal            float64 `json:"nominal" validate:"required_strict"`
	Notes              string  `json:"notes" validate:"required_strict,max=500"`
}

type Update struct {
	BankId             *uint    `json:"bank_id,omitempty" validate:"omitempty,number,gt=0"`
	AdjustmentDate     *string  `json:"adjustment_date,omitempty" validate:"omitempty"`
	Nominal            *float64 `json:"nominal,omitempty"`
	Notes              *string  `json:"notes,omitempty" validate:"omitempty,max=500"`
}

type Query struct {
	Page   int    `query:"page" validate:"omitempty,number,min=1,gt=0"`
	Limit  int    `query:"limit" validate:"omitempty,number,min=1,max=100,gt=0"`
	Search string `query:"search" validate:"omitempty,max=50"`
}
