mirror of https://github.com/synctv-org/synctv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.3 KiB
Go
72 lines
2.3 KiB
Go
package model
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
json "github.com/json-iterator/go"
|
|
dbModel "github.com/synctv-org/synctv/internal/model"
|
|
)
|
|
|
|
type RoomMembersResp struct {
|
|
UserID string `json:"userId"`
|
|
Username string `json:"username"`
|
|
RoomID string `json:"roomId"`
|
|
JoinAt int64 `json:"joinAt"`
|
|
OnlineCount int `json:"onlineCount"`
|
|
Permissions dbModel.RoomMemberPermission `json:"permissions"`
|
|
AdminPermissions dbModel.RoomAdminPermission `json:"adminPermissions"`
|
|
Role dbModel.RoomMemberRole `json:"role"`
|
|
Status dbModel.RoomMemberStatus `json:"status"`
|
|
}
|
|
|
|
type (
|
|
RoomApproveMemberReq = UserIDReq
|
|
RoomBanMemberReq = UserIDReq
|
|
RoomUnbanMemberReq = UserIDReq
|
|
)
|
|
|
|
type RoomSetMemberPermissionsReq struct {
|
|
UserIDReq
|
|
Permissions dbModel.RoomMemberPermission `json:"permissions"`
|
|
}
|
|
|
|
func (r *RoomSetMemberPermissionsReq) Decode(ctx *gin.Context) error {
|
|
return json.NewDecoder(ctx.Request.Body).Decode(r)
|
|
}
|
|
|
|
type RoomMeResp struct {
|
|
UserID string `json:"userId"`
|
|
RoomID string `json:"roomId"`
|
|
JoinAt int64 `json:"joinAt"`
|
|
Role dbModel.RoomMemberRole `json:"role"`
|
|
Status dbModel.RoomMemberStatus `json:"status"`
|
|
Permissions dbModel.RoomMemberPermission `json:"permissions"`
|
|
AdminPermissions dbModel.RoomAdminPermission `json:"adminPermissions"`
|
|
}
|
|
|
|
type RoomSetAdminReq struct {
|
|
UserIDReq
|
|
AdminPermissions dbModel.RoomAdminPermission `json:"adminPermissions"`
|
|
}
|
|
|
|
func (r *RoomSetAdminReq) Decode(ctx *gin.Context) error {
|
|
return json.NewDecoder(ctx.Request.Body).Decode(r)
|
|
}
|
|
|
|
type RoomSetMemberReq struct {
|
|
UserIDReq
|
|
Permissions dbModel.RoomMemberPermission `json:"permissions"`
|
|
}
|
|
|
|
func (r *RoomSetMemberReq) Decode(ctx *gin.Context) error {
|
|
return json.NewDecoder(ctx.Request.Body).Decode(r)
|
|
}
|
|
|
|
type RoomSetAdminPermissionsReq struct {
|
|
UserIDReq
|
|
AdminPermissions dbModel.RoomAdminPermission `json:"adminPermissions"`
|
|
}
|
|
|
|
func (r *RoomSetAdminPermissionsReq) Decode(ctx *gin.Context) error {
|
|
return json.NewDecoder(ctx.Request.Body).Decode(r)
|
|
}
|