package forms

type PaginationReq struct {
	Page    uint32 `form:"page,default=1,gt=0" json:"page"`
	PerPage uint32 `form:"per_page,default=100,gt=0,lte=100" json:"per_page"`
}

type LimitAndOffset struct {
	Limit  int
	Offset int
}

type GetClusterIDReq struct {
	ClusterID uint64 `uri:"cluster_id" binding:"required"`
}

type GetOrgIDReq struct {
	OrgID uint64 `uri:"org_id" binding:"required"`
}

type GetProjectIDReq struct {
	ProjectID uint64 `uri:"project_id" binding:"required"`
}

type GetUserIDReq struct {
	UserID uint64 `uri:"user_id" binding:"required"`
}

type GetRoleIDReq struct {
	RoleID uint64 `uri:"role_id" binding:"required"`
}

type GetDiscountIDReq struct {
	DiscountID uint64 `uri:"discount_id" binding:"required"`
}
type GetIDReq struct {
	ID uint64 `uri:"id" binding:"required"`
}
type GetCustomerIDReq struct {
	CustomerID uint64 `uri:"customer_id" binding:"required"`
}

type GetOrgIDAndUserIDReq struct {
	GetOrgIDReq
	GetUserIDReq
}

type GetOrgIDAndProjectIDReq struct {
	GetOrgIDReq
	GetProjectIDReq
}
type GetProjectIDAndUserIDReq struct {
	GetUserIDReq
	GetProjectIDReq
}
