inviteUser method

Future<void> inviteUser({
  1. required String email,
  2. required List<String> roles,
  3. String? firstName,
  4. String? lastName,
})

Invite new user

Implementation

Future<void> inviteUser({
  required String email,
  required List<String> roles,
  String? firstName,
  String? lastName,
}) async {
  state = const AsyncValue.loading();

  try {
    final client = ref.read(prodobitClientProvider);
    await client.user.inviteUser(
      email: email,
      roles: roles,
      firstName: firstName,
      lastName: lastName,
    );

    // Refresh users list
    ref.invalidate(usersProvider);

    state = const AsyncValue.data(null);
  } catch (e, stack) {
    state = AsyncValue.error(e, stack);
    rethrow;
  }
}