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

50 lines
1.6 KiB
Go

package model
import (
dbModel "github.com/synctv-org/synctv/internal/model"
)
type RoomMembersResp struct {
UserID string `json:"userId"`
Username string `json:"username"`
JoinAt int64 `json:"joinAt"`
IsOnline bool `json:"isOnline"`
Role dbModel.RoomMemberRole `json:"role"`
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"`
}
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"`
}
type RoomSetMemberReq struct {
UserIDReq
Permissions dbModel.RoomMemberPermission `json:"permissions"`
}
type RoomSetAdminPermissionsReq struct {
UserIDReq
AdminPermissions dbModel.RoomAdminPermission `json:"adminPermissions"`
}