getPermissionConfigFromEventSettings function

PermissionConfig getPermissionConfigFromEventSettings({
  1. String audioSetting = 'approval',
  2. String videoSetting = 'approval',
  3. String screenshareSetting = 'disallow',
  4. String chatSetting = 'allow',
})

Creates a PermissionConfig from event settings. This is useful when permissionConfig is not yet set, extracting initial values from the room's event settings. Both level0 and level1 will have the same initial permissions.

audioSetting - 'allow', 'approval', or 'disallow' videoSetting - 'allow', 'approval', or 'disallow' screenshareSetting - 'allow', 'approval', or 'disallow' chatSetting - 'allow' or 'disallow'

Implementation

PermissionConfig getPermissionConfigFromEventSettings({
  String audioSetting = 'approval',
  String videoSetting = 'approval',
  String screenshareSetting = 'disallow',
  String chatSetting = 'allow',
}) {
  final capabilities = PermissionCapabilities(
    useMic: audioSetting,
    useCamera: videoSetting,
    useScreen: screenshareSetting,
    useChat: chatSetting == 'allow' ? 'allow' : 'disallow',
  );
  return PermissionConfig(
    level0: PermissionCapabilities(
      useMic: capabilities.useMic,
      useCamera: capabilities.useCamera,
      useScreen: capabilities.useScreen,
      useChat: capabilities.useChat,
    ),
    level1: PermissionCapabilities(
      useMic: capabilities.useMic,
      useCamera: capabilities.useCamera,
      useScreen: capabilities.useScreen,
      useChat: capabilities.useChat,
    ),
  );
}