models

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 24, 2022 License: MIT Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	APIVersion  = "1.2.15"
	EtherpadKey = "pnm:etherpad:"
)
View Source
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 (*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 ConvertWhiteboardFileRes

type ConvertWhiteboardFileRes struct {
	FileName   string `json:"file_name"`
	FileId     string `json:"file_id"`
	FilePath   string `json:"file_path"`
	TotalPages int    `json:"total_pages"`
}

type CreateSessionRes

type CreateSessionRes struct {
	PadId         string
	ReadOnlyPadId string
}

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 {
	SharedNotePad config.SharedNotePad
	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 struct {
	// contains filtered or unexported fields
}

func NewExternalDisplayLinkModel

func NewExternalDisplayLinkModel() *ExternalDisplayLink

func (*ExternalDisplayLink) PerformTask added in v1.3.1

type ExternalMediaPlayer

type ExternalMediaPlayer struct {
	// contains filtered or unexported fields
}

func NewExternalMediaPlayerModel

func NewExternalMediaPlayerModel() *ExternalMediaPlayer

func (*ExternalMediaPlayer) PerformTask

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) LTIV1JoinRoom

func (m *LTIV1) LTIV1JoinRoom(c *plugnmeet.LtiClaims) (string, error)

func (*LTIV1) LTIV1Landing

func (m *LTIV1) LTIV1Landing(c *fiber.Ctx, requests, signingURL string) error

func (*LTIV1) LTIV1VerifyHeaderToken

func (m *LTIV1) LTIV1VerifyHeaderToken(token string) (*LtiClaims, error)

func (*LTIV1) ToJWT

func (m *LTIV1) ToJWT(c *plugnmeet.LtiClaims) (string, error)

func (*LTIV1) VerifyAuth

func (m *LTIV1) VerifyAuth(requests, signingURL string) (*url.Values, error)

type LTIV1FetchRecordingsReq

type LTIV1FetchRecordingsReq struct {
	From    uint32 `json:"from"`
	Limit   uint32 `json:"limit"`
	OrderBy string `json:"order_by"`
}

type LtiClaims

type LtiClaims struct {
	UserId              string               `json:"user_id"`
	Name                string               `json:"name"`
	IsAdmin             bool                 `json:"is_admin"`
	RoomId              string               `json:"room_id"`
	RoomTitle           string               `json:"room_title"`
	LtiCustomParameters *LtiCustomParameters `json:"lti_custom_parameters,omitempty"`
}

type LtiCustomDesign

type LtiCustomDesign struct {
	PrimaryColor    string `json:"primary_color,omitempty"`
	SecondaryColor  string `json:"secondary_color,omitempty"`
	BackgroundColor string `json:"background_color,omitempty"`
}

type LtiCustomParameters

type LtiCustomParameters struct {
	RoomDuration               uint64           `json:"room_duration,omitempty"`
	AllowPolls                 *bool            `json:"allow_polls,omitempty"`
	AllowSharedNotePad         *bool            `json:"allow_shared_note_pad,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 MuteUnMuteTrackReq struct {
	Sid             string `json:"sid" validate:"required"`
	RoomId          string `json:"room_id" validate:"required"`
	UserId          string `json:"user_id" validate:"required"`
	TrackSid        string `json:"track_sid"`
	Muted           bool   `json:"muted"`
	RequestedUserId string `json:"-"`
}

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 RecorderReq struct {
	From        string `json:"from"`
	Task        string `json:"task"`
	RoomId      string `json:"room_id"`
	Sid         string `json:"sid"`
	RecordId    string `json:"record_id"`
	AccessToken string `json:"access_token"`
	RecorderId  string `json:"recorder_id"`
	RtmpUrl     string `json:"rtmp_url"`
}

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 RedisRoomDurationCheckerReq

type RedisRoomDurationCheckerReq struct {
	Type     string `json:"type"`
	RoomId   string `json:"room_id"`
	Duration uint64 `json:"duration"`
}

type ReqFrom

type ReqFrom struct {
	Sid    string `json:"sid"`
	UserId string `json:"userId"`
	Name   string `json:"name"`
}

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 (*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 (rm *RoomModel) GetRoomInfo(roomId string, sid string, isRunning int) (*RoomInfo, string)

func (*RoomModel) InsertOrUpdateRoomData added in v1.3.1

func (rm *RoomModel) InsertOrUpdateRoomData(r *RoomInfo, update bool) (int64, error)

func (*RoomModel) UpdateNumParticipants added in v1.3.1

func (rm *RoomModel) UpdateNumParticipants(roomSid string, num int64) (int64, error)

UpdateNumParticipants will update total number of Participants

func (*RoomModel) UpdateRoomParticipants added in v1.3.1

func (rm *RoomModel) UpdateRoomParticipants(r *RoomInfo, operator string) (int64, error)

UpdateRoomParticipants will increment or decrement number of Participants

func (*RoomModel) UpdateRoomStatus added in v1.3.1

func (rm *RoomModel) UpdateRoomStatus(r *RoomInfo) (int64, error)

UpdateRoomStatus will change the room status based on `is_running` value most of the place this method used to change status to close

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 (r *RoomService) CreateRoom(roomId string, emptyTimeout *uint32, maxParticipants *uint32, metadata string) (*livekit.Room, error)

func (*RoomService) DeleteRoomBlockList

func (r *RoomService) DeleteRoomBlockList(roomId string) (int64, error)

func (*RoomService) EndRoom

func (r *RoomService) EndRoom(roomId string) (string, 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 (r *RoomService) UpdateRoomMetadata(roomId string, metadata string) (*livekit.Room, error)

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 SendBreakoutRoomMsgReq struct {
	RoomId string
	Msg    string `json:"msg" validate:"required"`
}

type UploadedFileResponse

type UploadedFileResponse struct {
	FilePath      string
	FileName      string
	FileExtension string
	FileMimeType  string
}

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 (u *UserModel) CommonValidation(c *fiber.Ctx) error

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 ValidateTokenReq struct {
	Token  string `json:"token"`
	RoomId string `json:"room_id"`
	Sid    string `json:"sid"`
	// contains filtered or unexported fields
}

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"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL