createOrganization method

Future<Organization?> createOrganization(
  1. String orgName,
  2. List<ContactInput>? contacts,
  3. List<AddressInput>? addresses,
  4. String? businessRef, {
  5. Key? orgKey,
})

Implementation

Future<Organization?> createOrganization(
  String orgName,
  List<ContactInput>? contacts,
  List<AddressInput>? addresses,
  String? businessRef, {
  Key? orgKey,
}) async {
  emit(state.startLoading(createOrgLoading));

  try {
    final orgIi = await provider.createOrg(
      orgName: orgName,
      orgKey: orgKey ?? Key(publicKey: ''),
      contacts: contacts,
      addresses: addresses,
      businessRef: businessRef,
    );
    emit(state.addMessage(
      Message.info(
        _localizations.createOrgSuccess(orgName),
      ),
    ));
    return Organization.fromOrgUser(orgIi.orgUser);
  } on OrgServiceError catch (_) {
    emit(
      state.addMessage(
        Message.error(
          _localizations.createOrgError,
        ),
      ),
    );
  } catch (e) {
    _logger.severe('Error creating organization: $e');

    emit(
      state.addMessage(Message.error(
        _localizations.unknownError,
      )),
    );
  } finally {
    emit(state.endLoading(createOrgLoading));
  }

  return null;
}