createBankAccountService function

Future<Map<String, dynamic>> createBankAccountService(
  1. BuildContext context,
  2. {required int bankId,
  3. required int currencyId,
  4. required String accountNumber,
  5. required String holderName,
  6. required String documentNumber,
  7. required String complement,
  8. required String email,
  9. required String phone}
)

Implementation

Future<Map<String, dynamic>> createBankAccountService(
  BuildContext context, {
  required int bankId,
  required int currencyId,
  required String accountNumber,
  required String holderName,
  required String documentNumber,
  required String complement,
  required String email,
  required String phone,
}) async {
  final Box<MyAccountModel> userBox = Hive.box('user');

  final bool internetStatus = await checkInternetConnection();

  if (!internetStatus) {
    Transitions(
      context: context,
      child: const NoInternetPage(),
      removeUntil: true,
    );
    return <String, dynamic>{
      'no_network': internetStatus,
    };
  }

  final http.Response response = await http.post(
    Uri.parse(
      '${ServicesEnvironment.protocol}${ServicesEnvironment.authority}${ServicesEnvironment.unencodedPath}$_endPoint',
    ),
    headers: <String, String>{
      'Content-Type': 'application/json; charset=utf-8',
      'Authorization': 'Bearer ${userBox.get('user')!.token}',
    },
    body: json.encode(
      <String, dynamic>{
        'bank_id': bankId,
        'currency_id': currencyId,
        'account_number': accountNumber,
        'holder_name': holderName,
        'ci_number': documentNumber,
        'ci_complement': complement,
        'email': email,
        'cellphone': phone,
      },
    ),
  );

  Map<String, dynamic> decodedResponse;

  try {
    decodedResponse = json.decode(response.body);
  } catch (exception) {
    return Future.error(GlobalMessagesEnvironment.genericError);
  }

  return decodedResponse;
}