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.
synctv/server/model/member.go

69 lines
2.2 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"`
JoinAt int64 `json:"joinAt"`
OnlineCount int `json:"onlineCount"`
Role dbModel.RoomMemberRole `json:"role"`
Status dbModel.RoomMemberStatus `json:"status"`
RoomID string `json:"roomId"`
Permissions dbModel.RoomMemberPermission `json:"permissions"`
AdminPermissions dbModel.RoomAdminPermission `json:"adminPermissions"`
}
type RoomApproveMemberReq = UserIDReq
type RoomBanMemberReq = UserIDReq
type 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"`
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)
}