84 lines
2.0 KiB
Go
84 lines
2.0 KiB
Go
|
|
// Code generated by goctl. DO NOT EDIT.
|
|||
|
|
// goctl 1.9.2
|
|||
|
|
|
|||
|
|
package types
|
|||
|
|
|
|||
|
|
type AnonLoginReq struct {
|
|||
|
|
Name string `json:"name" required:"required"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type AnonLoginResp struct {
|
|||
|
|
UID string `json:"uid"`
|
|||
|
|
Token string `json:"token"`
|
|||
|
|
CentrifugoToken string `json:"centrifugo_token"` // Centrifugo WebSocket 連線用的 token
|
|||
|
|
RefreshToken string `json:"refresh_token"`
|
|||
|
|
ExpireAt int64 `json:"expire_at"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type AuthHeader struct {
|
|||
|
|
Authorization string `header:"Authorization" binding:"required"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type BaseReq struct {
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type BaseResp struct {
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type BaseResponse struct {
|
|||
|
|
Code string `json:"code"` // 狀態碼
|
|||
|
|
Message string `json:"message"` // 訊息
|
|||
|
|
Data interface{} `json:"data,omitempty"` // 資料
|
|||
|
|
Error interface{} `json:"error,omitempty"` // 可選的錯誤信息
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type ListMessageReq struct {
|
|||
|
|
AuthHeader
|
|||
|
|
RoomID string `path:"room_id"`
|
|||
|
|
PageSize int64 `form:"page_size,default=20"`
|
|||
|
|
PageIndex int64 `form:"page_index,default=1"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type ListMessageResp struct {
|
|||
|
|
Pager Pagination `json:"pager"`
|
|||
|
|
Data []Message `json:"data"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type MatchJoinReq struct {
|
|||
|
|
AuthHeader
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type MatchJoinResp struct {
|
|||
|
|
Status string `json:"status"` // waiting | matched
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type MatchStatusResp struct {
|
|||
|
|
Status string `json:"status"` // waiting | matched
|
|||
|
|
RoomID string `json:"room_id,omitempty"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type Message struct {
|
|||
|
|
MessageID string `json:"message_id"`
|
|||
|
|
UID string `json:"uid"`
|
|||
|
|
Content string `json:"content"`
|
|||
|
|
Timestamp int64 `json:"timestamp"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type Pagination struct {
|
|||
|
|
Total int64 `json:"total,example=100"`
|
|||
|
|
Page int64 `json:"page,example=1"`
|
|||
|
|
PageSize int64 `json:"pageSize,example=10"`
|
|||
|
|
TotalPages int64 `json:"totalPages,example=10"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type RefreshTokenReq struct {
|
|||
|
|
Token string `json:"token"` // 舊的 token(可以是已過期的)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type SendMessageReq struct {
|
|||
|
|
AuthHeader
|
|||
|
|
RoomID string `path:"room_id"`
|
|||
|
|
Content string `json:"content"`
|
|||
|
|
ClientMsgID string `json:"client_msg_id"`
|
|||
|
|
}
|