initSessionData static method

Future<Map<String, dynamic>> initSessionData(
  1. String userId
)

Implementation

static Future<Map<String, dynamic>> initSessionData(String userId) async
{
  final appId = _mAppId ?? "";
  if(userId.isEmpty || appId.isEmpty) { return {}; }
  final key = "talk_plus_login_$appId";
  final value = await _storage.read(key: key) ?? "";
  if(value.isEmpty) {
    Logger.log("No data for $appId");
    return {};
  }
  Map<String, dynamic> sessionData = json.decode(value);
  String sessionToken = sessionData["session_token"] ?? "";
  String sessionId = sessionData["session_id"] ?? "";
  String userIdValue = sessionData["user_id"] ?? "";
  if(sessionToken.isEmpty || sessionId.isEmpty || userIdValue.isEmpty) { return {}; }
  if(userIdValue.compareTo(userId) != 0) {
    Logger.log("No data for $userId");
    return {};
  }
  if(_isJWTTokenExpired(sessionToken)) { return {}; }
  _setSessionToken(sessionToken);
  _setSessionId(sessionId);
  Logger.log("SessionData Loaded for ($userId)");
  return sessionData;
}