getToken method

dynamic getToken({
  1. required User user,
  2. required Config config,
  3. required dynamic callback({
    1. TokenData? data,
    2. String errorMsg,
    3. bool isLoading,
    }),
  4. required dynamic eventCallback(
    1. Map<String, dynamic>
    ),
})

Implementation

getToken(
    {required User user,
    required Config config,
    required Function({TokenData? data, bool isLoading, String errorMsg})
        callback,
    required Function(Map<String, dynamic>) eventCallback}) async {
  try {
    Logs.debug("/////////////////////// GET TOKEN ///////////////////////");
    Logs.debug(user.participantId);
    Logs.debug("${config.baseUrl}/widget/${config.appId}/mobile.js");
    var response = await http.get(
        Uri.tryParse("${config.baseUrl}/widget/${config.appId}/mobile.js")!);
    if (response.statusCode == 200) {
      Token res = Token.fromJson(json.decode(response.body));
      var tokenDataRes = TokenData.fromJson(JwtDecoder.decode(res.token!));
      Logs.debug("///////////////////// FILE STORE ///////////////////////");
      Logs.debug(tokenDataRes.fileStore);
      var socketDataRes =
          SocketData.fromJson(JwtDecoder.decode(tokenDataRes.socketToken!));
      SocketService().initSocket(
          socketData: socketDataRes,
          tokenData: tokenDataRes,
          user: user,
          config: config,
          eventCallback: eventCallback);
      callback(data: tokenDataRes, isLoading: true, errorMsg: "");
    } else {
      callback(isLoading: false, errorMsg: "Server not reachable");
    }
  } catch (e) {
    Logs.debug({"ERORR": e.toString()});
  }
}