// Code generated by goctl. DO NOT EDIT.
// goctl 1.10.1

package types

type EmptyResp struct {
}

type GetOrderReviewsReq struct {
	ReviewPathId
}

type ListUserReviewsReq struct {
	ReviewPathId
	PageReq
}

type PageMeta struct {
	Total  int64 `json:"total"`
	Offset int64 `json:"offset"`
	Limit  int64 `json:"limit"`
}

type PageReq struct {
	Offset int64 `form:"offset,default=0"`
	Limit  int64 `form:"limit,default=20"`
}

type Review struct {
	Id           int64  `json:"id,string"`
	OrderId      int64  `json:"orderId,string"`
	FromUserId   int64  `json:"fromUserId,string"`
	FromUserName string `json:"fromUserName"`
	Rating       int    `json:"rating"`
	Content      string `json:"content"`
	Sealed       bool   `json:"sealed"`
	CreatedAt    string `json:"createdAt"`
}

type ReviewListResp struct {
	Items []Review `json:"items"`
	Meta  PageMeta `json:"meta"`
}

type ReviewPathId struct {
	Id int64 `path:"id"`
}

type SimpleUser struct {
	Id       string `json:"id"`
	Nickname string `json:"nickname"`
	Avatar   string `json:"avatar"`
}

type SubmitReviewReq struct {
	ReviewPathId
	Rating  int    `json:"rating"`
	Content string `json:"content,optional"`
}

type UserProfile struct {
	Id                 string            `json:"id"`
	Username           string            `json:"username"`
	Nickname           string            `json:"nickname"`
	Avatar             string            `json:"avatar"`
	Role               string            `json:"role"` // consumer, player, owner, admin
	VerifiedRoles      []string          `json:"verifiedRoles"`
	VerificationStatus map[string]string `json:"verificationStatus"`
	Phone              string            `json:"phone,optional"`
	Bio                string            `json:"bio,optional"`
	CreatedAt          string            `json:"createdAt"`
}
