createUser static method

Future createUser(
  1. String uid, {
  2. String? firstName,
  3. String? lastName,
  4. String? email,
  5. String? phoneNo,
  6. String? countryCode,
  7. String? referralCode,
})

Implementation

static Future createUser(String uid,
    {String? firstName,
    String? lastName,
    String? email,
    String? phoneNo,
    String? countryCode,
    String? referralCode}) async {
  try {
    var headers = {
      "Access-Control-Allow-Origin": "*",
      'Content-Type': 'application/json',
      'Accept': '*/*'
    };
    var request =
        http.Request('POST', Uri.parse('${serverUrl}api/auth/signin'));
      String? token = await FirebaseAuth.instance.currentUser!.getIdToken();

    request.body = json.encode({
      "token": token,
    });
    request.headers.addAll(headers);
    http.StreamedResponse response = await request.send();
    print(request.body);
    String? role;
    if (response.statusCode == 200) {
      String responseText = await response.stream.bytesToString();
      print(responseText.toString());
      var jsonResponse = jsonDecode(responseText);
      role = jsonResponse['data']['userInfo']['role'];
      token = jsonResponse["data"]["token"]["token"];
      final box = GetStorage();
      box.write('token', token);
      await box.save();
    } else {
      if (kDebugMode) {
        print("signup error${response.statusCode}");
        String? responseText = await response.stream.bytesToString();
        print(responseText);
      }
    }
    print("status code ${response.statusCode}");
    return {
      'statusCode': response.statusCode,
      'role': role,

    };
  } catch (e) {
    if (kDebugMode) {
      print("signup error${e.toString()}");
    }
  }
}