package validation

type Create struct {
	Name       string `json:"name" validate:"required_strict,min=3"`
	KandangIDs []uint `json:"kandang_ids" validate:"required,min=1,dive,required"`
	IsActive   bool   `json:"is_active"`
}

type Update struct {
	Name       *string `json:"name,omitempty" validate:"omitempty"`
	KandangIDs *[]uint `json:"kandang_ids,omitempty" validate:"omitempty,min=1,dive,required"`
	IsActive   *bool   `json:"is_active,omitempty"`
}

type Query struct {
	Page      int    `query:"page" validate:"omitempty,number,min=1,gt=0"`
	Limit     int    `query:"limit" validate:"omitempty,number,min=1,max=500,gt=0"`
	Search    string `query:"search" validate:"omitempty,max=50"`
	KandangId *uint  `query:"kandang_id" validate:"omitempty"`
	IsActive  *bool  `query:"is_active" validate:"omitempty"`
}
