create method

Future<JsonMap> create({
  1. required String name,
  2. String? description,
  3. String? avatarUrl,
  4. String? announcement,
  5. int? maxMembers,
  6. bool? listed,
})

Implementation

Future<JsonMap> create({required String name, String? description, String? avatarUrl, String? announcement, int? maxMembers, bool? listed}) async {
  core.requireSignedIn();
  if (config()?['client_chatroom_create_enabled'] == false) {
    throw DRException(code: 'permission_denied', details: {'reason': 'client_create_disabled'}, source: ErrorSource.local, message: 'client_create_disabled');
  }
  if (name.trim().isEmpty) throw validationError('required', 'name');
  final body = <String, Object?>{
    'name': name,
    'description': ?description,
    'avatar_url': ?avatarUrl,
    'announcement': ?announcement,
    'max_members': ?maxMembers,
    'listed': ?listed,
  };
  return freezeMap(asMap(await core.request<Object?>(ApiRequest('POST', '/client/v1/chatrooms', body: body))) ?? const {});
}