package validation type Create struct { ProductID uint `json:"product_id" validate:"required"` WarehouseID uint `json:"warehouse_id" validate:"required"` TransactionType string `json:"transaction_type" validate:"required,oneof=increase decrease"` Quantity float64 `json:"quantity" validate:"required,gt=0"` Note string `json:"note" validate:"omitempty,max=255"` } type Query struct { Page int `query:"page" validate:"omitempty,min=1"` Limit int `query:"limit" validate:"omitempty,min=1,max=100"` ProductID int `query:"product_id" validate:"omitempty,min=0"` WarehouseID int `query:"warehouse_id" validate:"omitempty,min=0"` TransactionType string `query:"transaction_type" validate:"omitempty,oneof=increase decrease"` }