getSession static method

Future<bool> getSession()

Implementation

static Future<bool> getSession() async {
  if (myConfig == null ||
      myConfig!.serverConfig == null ||
      myConfig!.config.apiServerUrl.isEmpty) return false;
  final url = Uri.parse('${myConfig!.config.apiServerUrl}/getSession/');
  // <!-- http.Response response = await htt!p.get(url);
  http.Client client = http.Client();
  if (client is BrowserClient) {
    logger.finest('client.withCredentials');
    client.withCredentials = true;
  }
  http.Response response = await client.get(url).catchError(
        (error, stackTrace) => throw HycopUtils.getHycopException(
          error: error,
          defaultMessage: 'client.get(getSession) Failed !!!',
        ),
      );
  // -->
  var responseBody = utf8.decode(response.bodyBytes);
  var jsonData = jsonDecode(responseBody);
  logger.finest('jsonData=$jsonData');

  if (jsonData.isEmpty) {
    _currentLoginUser = UserModel(logout: true);
  } else {
    bool logined = jsonData['logined'] ?? false;
    String userId = jsonData['user_id'] ?? '';
    String serverType = jsonData['server_type'] ?? '';
    logger.finest('getSession($logined, $userId, $serverType)');
    if (logined) {
      _currentLoginUser = UserModel(userData: {'userId': userId});
      HycopFactory.serverType = ServerType.fromString(serverType);
      return true;
    }
  }
  return false;
}