package validation

type Create struct {
	Name    string `json:"name" validate:"required_strict,min=3,max=50"`
	Address string `json:"address" validate:"required_strict"`
	AreaId  uint   `json:"area_id" validate:"required_strict,number,gt=0"`
}

type Update struct {
	Name    *string `json:"name,omitempty" validate:"omitempty,max=50"`
	Address *string `json:"address,omitempty" validate:"omitempty"`
	AreaId  *uint   `json:"area_id,omitempty" validate:"omitempty,number,gt=0"`
}

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