updateFirebaseTokenService function

Future<Map<String, dynamic>> updateFirebaseTokenService(
  1. BuildContext context,
  2. {required String firebaseToken}
)

Implementation

Future<Map<String, dynamic>> updateFirebaseTokenService(
  BuildContext context, {
  required String firebaseToken,
}) 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>{
        'firebase_token': firebaseToken,
      },
    ),
  );

  Map<String, dynamic> decodedResponse;

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

  return decodedResponse;
}