createDomain method

Future<DomainModel> createDomain({
  1. required String name,
  2. required String slug,
  3. String? description,
  4. String? iconName,
})

Implementation

Future<DomainModel> createDomain({
  required String name,
  required String slug,
  String? description,
  String? iconName,
}) async {
  final userId = _client.auth.currentUser?.id;
  if (userId == null) {
    throw StateError('Cannot create domain: user is not authenticated');
  }
  final response = await _client
      .from('domains')
      .insert({
        'name': name,
        'slug': slug,
        'description': description,
        'icon_name': iconName,
        'owner_id': userId,
        'visibility': 'private',
      })
      .select()
      .single();
  return DomainModel.fromJson(response);
}