config

package
v1.5.14 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RecorderBot                          = "RECORDER_BOT"
	RtmpBot                              = "RTMP_BOT"
	MaxPreloadedWhiteboardFileSize int64 = 5 * 1000000 // limit to 5MB

	// all the time.Sleep() values
	WaitBeforeTriggerOnAfterRoomEnded        = 5 * time.Second
	WaitBeforeSpeechServicesOnAfterRoomEnded = 3 * time.Second
	WaitBeforeBreakoutRoomOnAfterRoomStart   = 2 * time.Second
	WaitBeforeAnalyticsStartProcessing       = 30 * time.Second
)

Variables

This section is empty.

Functions

func GetLogger added in v1.5.6

func GetLogger() *logrus.Logger

func SetAppConfig

func SetAppConfig(a *AppConfig)

Types

type AnalyticsSettings added in v1.5.0

type AnalyticsSettings struct {
	Enabled        bool           `yaml:"enabled"`
	FilesStorePath *string        `yaml:"files_store_path"`
	TokenValidity  *time.Duration `yaml:"token_validity"`
}

type AppConfig

type AppConfig struct {
	DB  *sql.DB
	RDS *redis.Client

	sync.RWMutex

	ClientFiles map[string][]string

	Client                       ClientInfo                   `yaml:"client"`
	RoomDefaultSettings          *utils.RoomDefaultSettings   `yaml:"room_default_settings"`
	LogSettings                  LogSettings                  `yaml:"log_settings"`
	LivekitInfo                  LivekitInfo                  `yaml:"livekit_info"`
	RedisInfo                    *factory.RedisInfo           `yaml:"redis_info"`
	MySqlInfo                    *factory.MySqlInfo           `yaml:"mysql_info"`
	UploadFileSettings           UploadFileSettings           `yaml:"upload_file_settings"`
	RecorderInfo                 RecorderInfo                 `yaml:"recorder_info"`
	SharedNotePad                SharedNotePad                `yaml:"shared_notepad"`
	AzureCognitiveServicesSpeech AzureCognitiveServicesSpeech `yaml:"azure_cognitive_services_speech"`
	AnalyticsSettings            *AnalyticsSettings           `yaml:"analytics_settings"`
	// contains filtered or unexported fields
}
var AppCnf *AppConfig

func (*AppConfig) AddChatUser

func (a *AppConfig) AddChatUser(roomId string, participant ChatParticipant)

func (*AppConfig) DeleteChatRoom

func (a *AppConfig) DeleteChatRoom(roomId string)

func (*AppConfig) FormatDBTable

func (a *AppConfig) FormatDBTable(table string) string

func (*AppConfig) GetChatParticipants

func (a *AppConfig) GetChatParticipants(roomId string) map[string]ChatParticipant

func (*AppConfig) RemoveChatParticipant

func (a *AppConfig) RemoveChatParticipant(roomId, userId string)

type AzureCognitiveServicesSpeech added in v1.4.0

type AzureCognitiveServicesSpeech struct {
	Enabled                       bool                   `yaml:"enabled"`
	MaxNumTranLangsAllowSelecting int32                  `yaml:"max_num_tran_langs"`
	SubscriptionKeys              []AzureSubscriptionKey `yaml:"subscription_keys"`
}

type AzureSubscriptionKey added in v1.4.0

type AzureSubscriptionKey struct {
	Id              string `yaml:"id"`
	SubscriptionKey string `yaml:"subscription_key"`
	ServiceRegion   string `yaml:"service_region"`
	MaxConnection   int64  `yaml:"max_connection"`
}

type ChatParticipant

type ChatParticipant struct {
	RoomSid string
	RoomId  string
	Name    string
	UserSid string
	UserId  string
	UUID    string
	IsAdmin bool
}

type ClientInfo

type ClientInfo struct {
	Port           int                      `yaml:"port"`
	Debug          bool                     `yaml:"debug"`
	Path           string                   `yaml:"path"`
	ApiKey         string                   `yaml:"api_key"`
	Secret         string                   `yaml:"secret"`
	WebhookConf    WebhookConf              `yaml:"webhook_conf"`
	PrometheusConf PrometheusConf           `yaml:"prometheus"`
	ProxyHeader    string                   `yaml:"proxy_header"`
	CopyrightConf  *plugnmeet.CopyrightConf `yaml:"copyright_conf"`
}

type ErrorResponse

type ErrorResponse struct {
	FailedField string
	Tag         string
}

type EtherpadInfo

type EtherpadInfo struct {
	Id     string `yaml:"id"`
	Host   string `yaml:"host"`
	ApiKey string `yaml:"api_key"`
}

type LivekitInfo

type LivekitInfo struct {
	Host          string        `yaml:"host"`
	ApiKey        string        `yaml:"api_key"`
	Secret        string        `yaml:"secret"`
	TokenValidity time.Duration `yaml:"token_validity"`
}

type LogSettings

type LogSettings struct {
	LogFile    string `yaml:"log_file"`
	MaxSize    int    `yaml:"max_size"`
	MaxBackups int    `yaml:"max_backups"`
	MaxAge     int    `yaml:"max_age"`
}

type PrometheusConf

type PrometheusConf struct {
	Enable      bool   `yaml:"enable"`
	MetricsPath string `yaml:"metrics_path"`
}

type RecorderInfo

type RecorderInfo struct {
	RecordingFilesPath string        `yaml:"recording_files_path"`
	TokenValidity      time.Duration `yaml:"token_validity"`
}

type SharedNotePad

type SharedNotePad struct {
	Enabled       bool           `yaml:"enabled"`
	EtherpadHosts []EtherpadInfo `yaml:"etherpad_hosts"`
}

type UploadFileSettings

type UploadFileSettings struct {
	Path         string   `yaml:"path"`
	MaxSize      uint64   `yaml:"max_size"`
	KeepForever  bool     `yaml:"keep_forever"`
	AllowedTypes []string `yaml:"allowed_types"`
}

type WebhookConf

type WebhookConf struct {
	Enable              bool   `yaml:"enable"`
	Url                 string `yaml:"url,omitempty"`
	EnableForPerMeeting bool   `yaml:"enable_for_per_meeting"`
}

Jump to

Keyboard shortcuts

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