Documentation
¶
Index ¶
- Constants
- func DistributeWebsocketMsgToRedisChannel(payload *WebsocketToRedis)
- func NewWebhookModel(e *livekit.WebhookEvent)
- func SubscribeToSystemWebsocketChannel()
- func SubscribeToUserWebsocketChannel()
- func SubscribeToWhiteboardWebsocketChannel()
- type AuthRecording
- func (a *AuthRecording) DeleteRecording(r *plugnmeet.DeleteRecordingReq) error
- func (a *AuthRecording) FetchRecording(recordId string) (*plugnmeet.RecordingInfo, error)
- func (a *AuthRecording) FetchRecordings(r *plugnmeet.FetchRecordingsReq) (*plugnmeet.FetchRecordingsRes, error)
- func (a *AuthRecording) GetDownloadToken(r *plugnmeet.GetDownloadTokenReq) (string, error)
- func (a *AuthRecording) VerifyRecordingToken(token string) (string, error)
- type AuthTokenModel
- func (a *AuthTokenModel) DoGenerateToken(g *plugnmeet.GenerateTokenReq) (string, error)
- func (a *AuthTokenModel) DoRenewToken(v *ValidateTokenReq) (string, error)
- func (a *AuthTokenModel) DoValidateToken(v *ValidateTokenReq, livekit bool) (*auth.ClaimGrants, error)
- func (a *AuthTokenModel) GenTokenForRecorder(g *plugnmeet.GenerateTokenReq) (string, error)
- func (a *AuthTokenModel) GenerateLivekitToken(claims *auth.ClaimGrants) (string, error)
- type BreakoutRoom
- func (m *BreakoutRoom) CreateBreakoutRooms(r *plugnmeet.CreateBreakoutRoomsReq) error
- func (m *BreakoutRoom) EndBreakoutRoom(r *plugnmeet.EndBreakoutRoomReq) error
- func (m *BreakoutRoom) EndBreakoutRooms(roomId string) error
- func (m *BreakoutRoom) GetBreakoutRooms(roomId string) ([]*plugnmeet.BreakoutRoom, error)
- func (m *BreakoutRoom) GetMyBreakoutRooms(roomId, userId string) (*plugnmeet.BreakoutRoom, error)
- func (m *BreakoutRoom) IncreaseBreakoutRoomDuration(r *plugnmeet.IncreaseBreakoutRoomDurationReq) error
- func (m *BreakoutRoom) JoinBreakoutRoom(r *plugnmeet.JoinBreakoutRoomReq) (string, error)
- func (m *BreakoutRoom) PostTaskAfterRoomEndWebhook(roomId, metadata string) error
- func (m *BreakoutRoom) PostTaskAfterRoomStartWebhook(roomId string, metadata *plugnmeet.RoomMetadata) error
- func (m *BreakoutRoom) SendBreakoutRoomMsg(r *plugnmeet.BroadcastBreakoutRoomMsgReq) error
- type ConvertWhiteboardFileRes
- type CreateSessionRes
- type DataMessageModel
- type DataMessageReq
- type DeleteRecordingReq
- type EtherpadDataTypes
- type EtherpadHttpRes
- type EtherpadModel
- func (m *EtherpadModel) ChangeEtherpadStatus(r *plugnmeet.ChangeEtherpadStatusReq) error
- func (m *EtherpadModel) CleanAfterRoomEnd(roomId, metadata string) error
- func (m *EtherpadModel) CleanPad(roomId, nodeId, padId string) error
- func (m *EtherpadModel) CreateSession(roomId string) (*plugnmeet.CreateEtherpadSessionRes, error)
- type ExternalDisplayLink
- type ExternalMediaPlayer
- type GetDownloadTokenReq
- type LTIV1
- func (m *LTIV1) LTIV1JoinRoom(c *plugnmeet.LtiClaims) (string, error)
- func (m *LTIV1) LTIV1Landing(c *fiber.Ctx, requests, signingURL string) error
- func (m *LTIV1) LTIV1VerifyHeaderToken(token string) (*LtiClaims, error)
- func (m *LTIV1) ToJWT(c *plugnmeet.LtiClaims) (string, error)
- func (m *LTIV1) VerifyAuth(requests, signingURL string) (*url.Values, error)
- type LTIV1FetchRecordingsReq
- type LtiClaims
- type LtiCustomDesign
- type LtiCustomParameters
- type ManageFile
- func (m *ManageFile) CommonValidation(c *fiber.Ctx) error
- func (m *ManageFile) ConvertWhiteboardFile() (*ConvertWhiteboardFileRes, error)
- func (m *ManageFile) DeleteFile(filePath string) error
- func (m *ManageFile) DeleteRoomUploadedDir() error
- func (m *ManageFile) ResumableFileUpload(c *fiber.Ctx) (*UploadedFileResponse, error)
- type MuteUnMuteTrackReq
- type PollsModel
- func (m *PollsModel) CleanUpPolls(roomId string) error
- func (m *PollsModel) ClosePoll(r *plugnmeet.ClosePollReq, isAdmin bool) error
- func (m *PollsModel) CreatePoll(r *plugnmeet.CreatePollReq, isAdmin bool) (error, string)
- func (m *PollsModel) GetPollResponsesByField(roomId, pollId, field string) (error, string)
- func (m *PollsModel) GetPollResponsesDetails(roomId, pollId string) (error, map[string]string)
- func (m *PollsModel) GetPollsStats(roomId string) (*plugnmeet.PollsStats, error)
- func (m *PollsModel) GetResponsesResult(roomId, pollId string) (*plugnmeet.PollResponsesResult, error)
- func (m *PollsModel) ListPolls(roomId string) (error, []*plugnmeet.PollInfo)
- func (m *PollsModel) UserSelectedOption(roomId, pollId, userId string) (uint64, error)
- func (m *PollsModel) UserSubmitResponse(r *plugnmeet.SubmitPollResponseReq, isAdmin bool) error
- type RecorderReq
- type RecorderResp
- type RecordingModel
- type RedisRoomDurationCheckerReq
- type ReqFrom
- type RoomAuthModel
- func (am *RoomAuthModel) ChangeVisibility(r *plugnmeet.ChangeVisibilityRes) (bool, string)
- func (am *RoomAuthModel) CreateRoom(r *plugnmeet.CreateRoomReq) (bool, string, *livekit.Room)
- func (am *RoomAuthModel) EndRoom(r *plugnmeet.RoomEndReq) (bool, string)
- func (am *RoomAuthModel) GetActiveRoomInfo(r *plugnmeet.GetActiveRoomInfoReq) (bool, string, *plugnmeet.ActiveRoomInfoRes)
- func (am *RoomAuthModel) GetActiveRoomsInfo() (bool, string, []*plugnmeet.ActiveRoomInfoRes)
- func (am *RoomAuthModel) IsRoomActive(r *plugnmeet.IsRoomActiveReq) (bool, string)
- type RoomInfo
- type RoomModel
- func (rm *RoomModel) GetActiveRoomsInfo() ([]*plugnmeet.ActiveRoomInfo, error)
- func (rm *RoomModel) GetRoomInfo(roomId string, sid string, isRunning int) (*RoomInfo, string)
- func (rm *RoomModel) InsertOrUpdateRoomData(r *RoomInfo, update bool) (int64, error)
- func (rm *RoomModel) UpdateNumParticipants(roomSid string, num int64) (int64, error)
- func (rm *RoomModel) UpdateRoomParticipants(r *RoomInfo, operator string) (int64, error)
- func (rm *RoomModel) UpdateRoomStatus(r *RoomInfo) (int64, error)
- type RoomService
- func (r *RoomService) AddUserToBlockList(roomId, userId string) (int64, error)
- func (r *RoomService) CreateRoom(roomId string, emptyTimeout *uint32, maxParticipants *uint32, metadata string) (*livekit.Room, error)
- func (r *RoomService) DeleteRoomBlockList(roomId string) (int64, error)
- func (r *RoomService) EndRoom(roomId string) (string, error)
- func (r *RoomService) IsUserExistInBlockList(roomId, userId string) bool
- func (r *RoomService) LoadParticipantInfo(roomId string, identity string) (*livekit.ParticipantInfo, error)
- func (r *RoomService) LoadParticipantWithMetadata(roomId, userId string) (*livekit.ParticipantInfo, *plugnmeet.UserMetadata, error)
- func (r *RoomService) LoadParticipants(roomId string) ([]*livekit.ParticipantInfo, error)
- func (r *RoomService) LoadRoomInfo(roomId string) (*livekit.Room, error)
- func (r *RoomService) LoadRoomWithMetadata(roomId string) (*livekit.Room, *plugnmeet.RoomMetadata, error)
- func (r *RoomService) MuteUnMuteTrack(roomId string, userId string, trackSid string, muted bool) (*livekit.MuteRoomTrackResponse, error)
- func (r *RoomService) RemoveParticipant(roomId string, userId string) (*livekit.RemoveParticipantResponse, error)
- func (r *RoomService) SendData(roomId string, data []byte, dataPacket_Kind livekit.DataPacket_Kind, ...) (*livekit.SendDataResponse, error)
- func (r *RoomService) UpdateParticipantMetadata(roomId string, userId string, metadata string) (*livekit.ParticipantInfo, error)
- func (r *RoomService) UpdateParticipantMetadataByStruct(roomId, userId string, meta *plugnmeet.UserMetadata) (*livekit.ParticipantInfo, error)
- func (r *RoomService) UpdateParticipantPermission(roomId string, userId string, permission *livekit.ParticipantPermission) (*livekit.ParticipantInfo, error)
- func (r *RoomService) UpdateRoomMetadata(roomId string, metadata string) (*livekit.Room, error)
- func (r *RoomService) UpdateRoomMetadataByStruct(roomId string, meta *plugnmeet.RoomMetadata) (*livekit.Room, error)
- type SchedulerModel
- type SendBreakoutRoomMsgReq
- type UploadedFileResponse
- type UserModel
- func (u *UserModel) CommonValidation(c *fiber.Ctx) error
- func (u *UserModel) MuteUnMuteTrack(r *plugnmeet.MuteUnMuteTrackReq) error
- func (u *UserModel) RemoveParticipant(r *plugnmeet.RemoveParticipantReq) error
- func (u *UserModel) SwitchPresenter(r *plugnmeet.SwitchPresenterReq) error
- func (u *UserModel) UpdateUserLockSettings(r *plugnmeet.UpdateUserLockSettingsReq) error
- type UserWaitingRoomModel
- type ValidateTokenReq
- type WebhookNotifierModel
- type WebsocketServiceModel
- type WebsocketToRedis
Constants ¶
const ( APIVersion = "1.2.15" EtherpadKey = "pnm:etherpad:" )
const (
BlockedUsersList = "pnm:block_users_list:"
)
Variables ¶
This section is empty.
Functions ¶
func DistributeWebsocketMsgToRedisChannel ¶
func DistributeWebsocketMsgToRedisChannel(payload *WebsocketToRedis)
func NewWebhookModel ¶
func NewWebhookModel(e *livekit.WebhookEvent)
func SubscribeToSystemWebsocketChannel ¶
func SubscribeToSystemWebsocketChannel()
SubscribeToSystemWebsocketChannel will delivery message to websocket
func SubscribeToUserWebsocketChannel ¶
func SubscribeToUserWebsocketChannel()
SubscribeToUserWebsocketChannel will delivery message to user websocket
func SubscribeToWhiteboardWebsocketChannel ¶
func SubscribeToWhiteboardWebsocketChannel()
SubscribeToWhiteboardWebsocketChannel will delivery message to whiteboard websocket
Types ¶
type AuthRecording ¶ added in v1.3.1
type AuthRecording struct {
// contains filtered or unexported fields
}
func NewRecordingAuth ¶
func NewRecordingAuth() *AuthRecording
func (*AuthRecording) DeleteRecording ¶ added in v1.3.1
func (a *AuthRecording) DeleteRecording(r *plugnmeet.DeleteRecordingReq) error
func (*AuthRecording) FetchRecording ¶ added in v1.3.1
func (a *AuthRecording) FetchRecording(recordId string) (*plugnmeet.RecordingInfo, error)
FetchRecording to get single recording information from DB
func (*AuthRecording) FetchRecordings ¶ added in v1.3.1
func (a *AuthRecording) FetchRecordings(r *plugnmeet.FetchRecordingsReq) (*plugnmeet.FetchRecordingsRes, error)
func (*AuthRecording) GetDownloadToken ¶ added in v1.3.1
func (a *AuthRecording) GetDownloadToken(r *plugnmeet.GetDownloadTokenReq) (string, error)
GetDownloadToken will use same JWT token generator as Livekit is using
func (*AuthRecording) VerifyRecordingToken ¶ added in v1.3.1
func (a *AuthRecording) VerifyRecordingToken(token string) (string, error)
VerifyRecordingToken verify token & provide file path
type AuthTokenModel ¶ added in v1.3.1
type AuthTokenModel struct {
// contains filtered or unexported fields
}
func NewAuthTokenModel ¶
func NewAuthTokenModel() *AuthTokenModel
func (*AuthTokenModel) DoGenerateToken ¶ added in v1.3.1
func (a *AuthTokenModel) DoGenerateToken(g *plugnmeet.GenerateTokenReq) (string, error)
func (*AuthTokenModel) DoRenewToken ¶ added in v1.3.1
func (a *AuthTokenModel) DoRenewToken(v *ValidateTokenReq) (string, error)
DoRenewToken we'll renew token
func (*AuthTokenModel) DoValidateToken ¶ added in v1.3.1
func (a *AuthTokenModel) DoValidateToken(v *ValidateTokenReq, livekit bool) (*auth.ClaimGrants, error)
DoValidateToken can be use to validate both livekit & plugnmeet token
func (*AuthTokenModel) GenTokenForRecorder ¶ added in v1.3.1
func (a *AuthTokenModel) GenTokenForRecorder(g *plugnmeet.GenerateTokenReq) (string, error)
GenTokenForRecorder only for either recorder or RTMP bot Because we don't want to add any service settings which may prevent to work recorder/rtmp bot as expected.
func (*AuthTokenModel) GenerateLivekitToken ¶ added in v1.3.1
func (a *AuthTokenModel) GenerateLivekitToken(claims *auth.ClaimGrants) (string, error)
GenerateLivekitToken will generate token to join livekit server It will use info as other validation. We just don't want user simple copy/past token from url instated plugNmeet-server will generate once validation will be completed.
type BreakoutRoom ¶
type BreakoutRoom struct {
// contains filtered or unexported fields
}
func NewBreakoutRoomModel ¶
func NewBreakoutRoomModel() *BreakoutRoom
func (*BreakoutRoom) CreateBreakoutRooms ¶ added in v1.3.1
func (m *BreakoutRoom) CreateBreakoutRooms(r *plugnmeet.CreateBreakoutRoomsReq) error
func (*BreakoutRoom) EndBreakoutRoom ¶ added in v1.3.1
func (m *BreakoutRoom) EndBreakoutRoom(r *plugnmeet.EndBreakoutRoomReq) error
func (*BreakoutRoom) EndBreakoutRooms ¶ added in v1.3.1
func (m *BreakoutRoom) EndBreakoutRooms(roomId string) error
func (*BreakoutRoom) GetBreakoutRooms ¶ added in v1.3.1
func (m *BreakoutRoom) GetBreakoutRooms(roomId string) ([]*plugnmeet.BreakoutRoom, error)
func (*BreakoutRoom) GetMyBreakoutRooms ¶ added in v1.3.1
func (m *BreakoutRoom) GetMyBreakoutRooms(roomId, userId string) (*plugnmeet.BreakoutRoom, error)
func (*BreakoutRoom) IncreaseBreakoutRoomDuration ¶ added in v1.3.1
func (m *BreakoutRoom) IncreaseBreakoutRoomDuration(r *plugnmeet.IncreaseBreakoutRoomDurationReq) error
func (*BreakoutRoom) JoinBreakoutRoom ¶ added in v1.3.1
func (m *BreakoutRoom) JoinBreakoutRoom(r *plugnmeet.JoinBreakoutRoomReq) (string, error)
func (*BreakoutRoom) PostTaskAfterRoomEndWebhook ¶ added in v1.3.1
func (m *BreakoutRoom) PostTaskAfterRoomEndWebhook(roomId, metadata string) error
func (*BreakoutRoom) PostTaskAfterRoomStartWebhook ¶ added in v1.3.1
func (m *BreakoutRoom) PostTaskAfterRoomStartWebhook(roomId string, metadata *plugnmeet.RoomMetadata) error
func (*BreakoutRoom) SendBreakoutRoomMsg ¶ added in v1.3.1
func (m *BreakoutRoom) SendBreakoutRoomMsg(r *plugnmeet.BroadcastBreakoutRoomMsgReq) error
type CreateSessionRes ¶
type DataMessageModel ¶ added in v1.3.1
type DataMessageModel struct {
// contains filtered or unexported fields
}
func NewDataMessageModel ¶ added in v1.2.0
func NewDataMessageModel() *DataMessageModel
func (*DataMessageModel) SendDataMessage ¶ added in v1.3.1
func (m *DataMessageModel) SendDataMessage(r *plugnmeet.DataMessageReq) error
type DataMessageReq ¶
type DataMessageReq struct { Sid string `json:"sid" validate:"required"` RoomId string `json:"room_id" validate:"required"` MsgType string `json:"msg_type" validate:"required"` Msg string `json:"msg" validate:"required"` RequestedUserId string `json:"-"` SendTo []string // user sids IsAdmin bool // contains filtered or unexported fields }
type DeleteRecordingReq ¶
type DeleteRecordingReq struct {
RecordId string `json:"record_id" validate:"required"`
}
type EtherpadDataTypes ¶
type EtherpadDataTypes struct { AuthorID string `json:"authorID"` GroupID string `json:"groupID"` SessionID string `json:"sessionID"` PadID string `json:"padID"` ReadOnlyID string `json:"readOnlyID"` TotalPads int64 `json:"totalPads"` TotalSessions int64 `json:"totalSessions"` TotalActivePads int64 `json:"totalActivePads"` }
type EtherpadHttpRes ¶
type EtherpadHttpRes struct { Code int64 `json:"code"` Message string `json:"message"` Data EtherpadDataTypes `json:"data"` }
type EtherpadModel ¶
type EtherpadModel struct { NodeId string Host string ApiKey string // contains filtered or unexported fields }
func NewEtherpadModel ¶
func NewEtherpadModel() *EtherpadModel
func (*EtherpadModel) ChangeEtherpadStatus ¶
func (m *EtherpadModel) ChangeEtherpadStatus(r *plugnmeet.ChangeEtherpadStatusReq) error
func (*EtherpadModel) CleanAfterRoomEnd ¶
func (m *EtherpadModel) CleanAfterRoomEnd(roomId, metadata string) error
func (*EtherpadModel) CleanPad ¶
func (m *EtherpadModel) CleanPad(roomId, nodeId, padId string) error
CleanPad will delete group, session & pad
func (*EtherpadModel) CreateSession ¶
func (m *EtherpadModel) CreateSession(roomId string) (*plugnmeet.CreateEtherpadSessionRes, error)
CreateSession will create group, pad, session return padId, readonlyPadId
type ExternalDisplayLink ¶ added in v1.3.1
type ExternalDisplayLink struct {
// contains filtered or unexported fields
}
func NewExternalDisplayLinkModel ¶
func NewExternalDisplayLinkModel() *ExternalDisplayLink
func (*ExternalDisplayLink) PerformTask ¶ added in v1.3.1
func (e *ExternalDisplayLink) PerformTask(req *plugnmeet.ExternalDisplayLinkReq) error
type ExternalMediaPlayer ¶
type ExternalMediaPlayer struct {
// contains filtered or unexported fields
}
func NewExternalMediaPlayerModel ¶
func NewExternalMediaPlayerModel() *ExternalMediaPlayer
func (*ExternalMediaPlayer) PerformTask ¶
func (e *ExternalMediaPlayer) PerformTask(req *plugnmeet.ExternalMediaPlayerReq) error
type GetDownloadTokenReq ¶
type GetDownloadTokenReq struct {
RecordId string `json:"record_id" validate:"required"`
}
type LTIV1 ¶
type LTIV1 struct {
// contains filtered or unexported fields
}
func NewLTIV1Model ¶
func NewLTIV1Model() *LTIV1
func (*LTIV1) LTIV1Landing ¶
func (*LTIV1) LTIV1VerifyHeaderToken ¶
type LTIV1FetchRecordingsReq ¶
type LtiCustomDesign ¶
type LtiCustomParameters ¶
type LtiCustomParameters struct { RoomDuration uint64 `json:"room_duration,omitempty"` AllowPolls *bool `json:"allow_polls,omitempty"` AllowBreakoutRoom *bool `json:"allow_breakout_room,omitempty"` AllowRecording *bool `json:"allow_recording,omitempty"` AllowRTMP *bool `json:"allow_rtmp,omitempty"` AllowViewOtherWebcams *bool `json:"allow_view_other_webcams,omitempty"` AllowViewOtherParticipants *bool `json:"allow_view_other_users_list,omitempty"` MuteOnStart *bool `json:"mute_on_start,omitempty"` LtiCustomDesign *LtiCustomDesign `json:"lti_custom_design,omitempty"` }
type ManageFile ¶
type ManageFile struct { Sid string `json:"sid" validate:"required"` RoomId string `json:"roomId" validate:"required"` UserId string `json:"userId" validate:"required"` FilePath string `json:"file_path"` Resumable bool `json:"resumable"` // contains filtered or unexported fields }
func NewManageFileModel ¶
func NewManageFileModel(m *ManageFile) *ManageFile
func (*ManageFile) CommonValidation ¶
func (m *ManageFile) CommonValidation(c *fiber.Ctx) error
func (*ManageFile) ConvertWhiteboardFile ¶
func (m *ManageFile) ConvertWhiteboardFile() (*ConvertWhiteboardFileRes, error)
func (*ManageFile) DeleteFile ¶
func (m *ManageFile) DeleteFile(filePath string) error
func (*ManageFile) DeleteRoomUploadedDir ¶
func (m *ManageFile) DeleteRoomUploadedDir() error
func (*ManageFile) ResumableFileUpload ¶
func (m *ManageFile) ResumableFileUpload(c *fiber.Ctx) (*UploadedFileResponse, error)
ResumableFileUpload method can only be use if you are using resumable.js as your frontend. Library link: https://github.com/23/resumable.js
type MuteUnMuteTrackReq ¶
type PollsModel ¶ added in v1.3.1
type PollsModel struct {
// contains filtered or unexported fields
}
func NewPollsModel ¶
func NewPollsModel() *PollsModel
func (*PollsModel) CleanUpPolls ¶ added in v1.3.1
func (m *PollsModel) CleanUpPolls(roomId string) error
func (*PollsModel) ClosePoll ¶ added in v1.3.1
func (m *PollsModel) ClosePoll(r *plugnmeet.ClosePollReq, isAdmin bool) error
func (*PollsModel) CreatePoll ¶ added in v1.3.1
func (m *PollsModel) CreatePoll(r *plugnmeet.CreatePollReq, isAdmin bool) (error, string)
func (*PollsModel) GetPollResponsesByField ¶ added in v1.3.1
func (m *PollsModel) GetPollResponsesByField(roomId, pollId, field string) (error, string)
func (*PollsModel) GetPollResponsesDetails ¶ added in v1.3.1
func (m *PollsModel) GetPollResponsesDetails(roomId, pollId string) (error, map[string]string)
func (*PollsModel) GetPollsStats ¶ added in v1.3.1
func (m *PollsModel) GetPollsStats(roomId string) (*plugnmeet.PollsStats, error)
func (*PollsModel) GetResponsesResult ¶ added in v1.3.1
func (m *PollsModel) GetResponsesResult(roomId, pollId string) (*plugnmeet.PollResponsesResult, error)
func (*PollsModel) ListPolls ¶ added in v1.3.1
func (m *PollsModel) ListPolls(roomId string) (error, []*plugnmeet.PollInfo)
func (*PollsModel) UserSelectedOption ¶ added in v1.3.1
func (m *PollsModel) UserSelectedOption(roomId, pollId, userId string) (uint64, error)
func (*PollsModel) UserSubmitResponse ¶ added in v1.3.1
func (m *PollsModel) UserSubmitResponse(r *plugnmeet.SubmitPollResponseReq, isAdmin bool) error
type RecorderReq ¶
type RecorderResp ¶
type RecorderResp struct { RecorderId string `json:"recorder_id"` // MaxLimit int `json:"max_limit"` From string `json:"from"` Task string `json:"task"` Status bool `json:"status"` Msg string `json:"msg"` RecordId string `json:"record_id"` Sid string `json:"sid"` RoomId string `json:"room_id"` FilePath string `json:"file_path"` FileSize float64 `json:"file_size"` }
type RecordingModel ¶ added in v1.3.1
type RecordingModel struct { RecordingReq *plugnmeet.RecordingReq // we need to get custom design value // contains filtered or unexported fields }
func NewRecordingModel ¶
func NewRecordingModel() *RecordingModel
func (*RecordingModel) HandleRecorderResp ¶ added in v1.3.1
func (rm *RecordingModel) HandleRecorderResp(r *plugnmeet.RecorderToPlugNmeet)
func (*RecordingModel) SendMsgToRecorder ¶ added in v1.3.1
func (rm *RecordingModel) SendMsgToRecorder(task plugnmeet.RecordingTasks, roomId string, sid string, rtmpUrl *string) error
type RoomAuthModel ¶ added in v1.3.1
type RoomAuthModel struct {
// contains filtered or unexported fields
}
func NewRoomAuthModel ¶
func NewRoomAuthModel() *RoomAuthModel
func (*RoomAuthModel) ChangeVisibility ¶ added in v1.3.1
func (am *RoomAuthModel) ChangeVisibility(r *plugnmeet.ChangeVisibilityRes) (bool, string)
func (*RoomAuthModel) CreateRoom ¶ added in v1.3.1
func (am *RoomAuthModel) CreateRoom(r *plugnmeet.CreateRoomReq) (bool, string, *livekit.Room)
func (*RoomAuthModel) EndRoom ¶ added in v1.3.1
func (am *RoomAuthModel) EndRoom(r *plugnmeet.RoomEndReq) (bool, string)
func (*RoomAuthModel) GetActiveRoomInfo ¶ added in v1.3.1
func (am *RoomAuthModel) GetActiveRoomInfo(r *plugnmeet.GetActiveRoomInfoReq) (bool, string, *plugnmeet.ActiveRoomInfoRes)
func (*RoomAuthModel) GetActiveRoomsInfo ¶ added in v1.3.1
func (am *RoomAuthModel) GetActiveRoomsInfo() (bool, string, []*plugnmeet.ActiveRoomInfoRes)
func (*RoomAuthModel) IsRoomActive ¶ added in v1.3.1
func (am *RoomAuthModel) IsRoomActive(r *plugnmeet.IsRoomActiveReq) (bool, string)
type RoomInfo ¶
type RoomInfo struct { Id int64 RoomTitle string `json:"room_title"` RoomId string `json:"room_id"` Sid string `json:"sid"` JoinedParticipants int64 `json:"joined_participants"` IsRunning int `json:"is_running"` IsRecording int `json:"is_recording"` RecorderId string `json:"recorder_id"` IsActiveRTMP int `json:"is_active_rtmp"` NodeIdRTMP string `json:"rtmp_node_id"` WebhookUrl string `json:"webhook_url"` IsBreakoutRoom int64 `json:"is_breakout_room"` ParentRoomId string `json:"parent_room_id"` CreationTime int64 `json:"creation_time"` Created string Ended string }
type RoomModel ¶ added in v1.3.1
type RoomModel struct {
// contains filtered or unexported fields
}
func NewRoomModel ¶
func NewRoomModel() *RoomModel
func (*RoomModel) GetActiveRoomsInfo ¶ added in v1.3.1
func (rm *RoomModel) GetActiveRoomsInfo() ([]*plugnmeet.ActiveRoomInfo, error)
func (*RoomModel) GetRoomInfo ¶ added in v1.3.1
func (*RoomModel) InsertOrUpdateRoomData ¶ added in v1.3.1
func (*RoomModel) UpdateNumParticipants ¶ added in v1.3.1
UpdateNumParticipants will update total number of Participants
func (*RoomModel) UpdateRoomParticipants ¶ added in v1.3.1
UpdateRoomParticipants will increment or decrement number of Participants
type RoomService ¶
type RoomService struct {
// contains filtered or unexported fields
}
func NewRoomService ¶
func NewRoomService() *RoomService
func (*RoomService) AddUserToBlockList ¶
func (r *RoomService) AddUserToBlockList(roomId, userId string) (int64, error)
func (*RoomService) CreateRoom ¶
func (*RoomService) DeleteRoomBlockList ¶
func (r *RoomService) DeleteRoomBlockList(roomId string) (int64, error)
func (*RoomService) IsUserExistInBlockList ¶
func (r *RoomService) IsUserExistInBlockList(roomId, userId string) bool
func (*RoomService) LoadParticipantInfo ¶ added in v1.2.5
func (r *RoomService) LoadParticipantInfo(roomId string, identity string) (*livekit.ParticipantInfo, error)
func (*RoomService) LoadParticipantWithMetadata ¶
func (r *RoomService) LoadParticipantWithMetadata(roomId, userId string) (*livekit.ParticipantInfo, *plugnmeet.UserMetadata, error)
func (*RoomService) LoadParticipants ¶ added in v1.2.5
func (r *RoomService) LoadParticipants(roomId string) ([]*livekit.ParticipantInfo, error)
func (*RoomService) LoadRoomInfo ¶
func (r *RoomService) LoadRoomInfo(roomId string) (*livekit.Room, error)
func (*RoomService) LoadRoomWithMetadata ¶
func (r *RoomService) LoadRoomWithMetadata(roomId string) (*livekit.Room, *plugnmeet.RoomMetadata, error)
func (*RoomService) MuteUnMuteTrack ¶
func (r *RoomService) MuteUnMuteTrack(roomId string, userId string, trackSid string, muted bool) (*livekit.MuteRoomTrackResponse, error)
func (*RoomService) RemoveParticipant ¶
func (r *RoomService) RemoveParticipant(roomId string, userId string) (*livekit.RemoveParticipantResponse, error)
func (*RoomService) SendData ¶
func (r *RoomService) SendData(roomId string, data []byte, dataPacket_Kind livekit.DataPacket_Kind, destinationSids []string) (*livekit.SendDataResponse, error)
func (*RoomService) UpdateParticipantMetadata ¶
func (r *RoomService) UpdateParticipantMetadata(roomId string, userId string, metadata string) (*livekit.ParticipantInfo, error)
func (*RoomService) UpdateParticipantMetadataByStruct ¶
func (r *RoomService) UpdateParticipantMetadataByStruct(roomId, userId string, meta *plugnmeet.UserMetadata) (*livekit.ParticipantInfo, error)
func (*RoomService) UpdateParticipantPermission ¶
func (r *RoomService) UpdateParticipantPermission(roomId string, userId string, permission *livekit.ParticipantPermission) (*livekit.ParticipantInfo, error)
func (*RoomService) UpdateRoomMetadata ¶
func (*RoomService) UpdateRoomMetadataByStruct ¶
func (r *RoomService) UpdateRoomMetadataByStruct(roomId string, meta *plugnmeet.RoomMetadata) (*livekit.Room, error)
type SchedulerModel ¶ added in v1.3.1
type SchedulerModel struct {
// contains filtered or unexported fields
}
func NewSchedulerModel ¶
func NewSchedulerModel() *SchedulerModel
func (*SchedulerModel) StartScheduler ¶ added in v1.3.1
func (s *SchedulerModel) StartScheduler()
type SendBreakoutRoomMsgReq ¶
type UploadedFileResponse ¶
type UserModel ¶ added in v1.3.1
type UserModel struct {
// contains filtered or unexported fields
}
func NewUserModel ¶
func NewUserModel() *UserModel
func (*UserModel) CommonValidation ¶ added in v1.3.1
func (*UserModel) MuteUnMuteTrack ¶ added in v1.3.1
func (u *UserModel) MuteUnMuteTrack(r *plugnmeet.MuteUnMuteTrackReq) error
MuteUnMuteTrack can be used to mute or unmute track if track_sid wasn't send then it will find the microphone track & mute it for unmute you'll require enabling "enable_remote_unmute: true" in livekit under room settings. For privacy reason we aren't using it.
func (*UserModel) RemoveParticipant ¶ added in v1.3.1
func (u *UserModel) RemoveParticipant(r *plugnmeet.RemoveParticipantReq) error
func (*UserModel) SwitchPresenter ¶ added in v1.3.1
func (u *UserModel) SwitchPresenter(r *plugnmeet.SwitchPresenterReq) error
func (*UserModel) UpdateUserLockSettings ¶ added in v1.3.1
func (u *UserModel) UpdateUserLockSettings(r *plugnmeet.UpdateUserLockSettingsReq) error
type UserWaitingRoomModel ¶ added in v1.3.1
type UserWaitingRoomModel struct {
// contains filtered or unexported fields
}
func NewWaitingRoomModel ¶
func NewWaitingRoomModel() *UserWaitingRoomModel
func (*UserWaitingRoomModel) ApproveWaitingUsers ¶ added in v1.3.1
func (u *UserWaitingRoomModel) ApproveWaitingUsers(r *plugnmeet.ApproveWaitingUsersReq) error
func (*UserWaitingRoomModel) UpdateWaitingRoomMessage ¶ added in v1.3.1
func (u *UserWaitingRoomModel) UpdateWaitingRoomMessage(r *plugnmeet.UpdateWaitingRoomMessageReq) error
type ValidateTokenReq ¶
type WebhookNotifierModel ¶ added in v1.3.1
type WebhookNotifierModel struct {
// contains filtered or unexported fields
}
func NewWebhookNotifier ¶
func NewWebhookNotifier() *WebhookNotifierModel
func (*WebhookNotifierModel) Notify ¶ added in v1.3.1
func (n *WebhookNotifierModel) Notify(roomSid string, msg interface{}) error
type WebsocketServiceModel ¶ added in v1.3.1
type WebsocketServiceModel struct {
// contains filtered or unexported fields
}
func NewWebsocketService ¶
func NewWebsocketService() *WebsocketServiceModel
func (*WebsocketServiceModel) HandleDataMessages ¶ added in v1.3.1
func (w *WebsocketServiceModel) HandleDataMessages(payload *plugnmeet.DataMessage, roomId string, isAdmin bool)
type WebsocketToRedis ¶ added in v1.2.0
type WebsocketToRedis struct { Type string `json:"type,omitempty"` DataMsg *plugnmeet.DataMessage `json:"data_msg,omitempty"` RoomId string `json:"room_id,omitempty"` IsAdmin bool `json:"is_admin,omitempty"` }
Source Files
¶
- auth_token.go
- breakout_room.go
- data_message.go
- etherpad.go
- external_display_link.go
- external_media_player.go
- lti_v1.go
- manage_files.go
- polls.go
- recording.go
- recording_auth.go
- room.go
- room_auth.go
- room_service.go
- scheduler.go
- user.go
- waiting_room.go
- webhook.go
- webhook_notifier.go
- websocket_channels.go
- websocket_service.go