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

package types

type EmptyResp struct {
}

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 SimpleUser struct {
	Id       string `json:"id"`
	Nickname string `json:"nickname"`
	Avatar   string `json:"avatar"`
}

type TopupReq struct {
	Amount string `json:"amount"`
	Method string `json:"method"`
}

type Transaction struct {
	Id          int64  `json:"id"`
	Type        string `json:"type"`
	Amount      string `json:"amount"`
	Description string `json:"description"`
	OrderId     string `json:"orderId,optional"`
	CreatedAt   string `json:"createdAt"`
}

type TransactionListResp struct {
	Items []Transaction `json:"items"`
	Meta  PageMeta      `json:"meta"`
}

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"`
}

type WalletBalance struct {
	Balance       string `json:"balance"`
	FrozenBalance string `json:"frozenBalance"`
}
