authDomain method

Future authDomain(
  1. String domain, {
  2. dynamic clear = false,
})

Implementation

Future<dynamic> authDomain(String domain,{clear=false}) async {
  if(clear is bool && clear){
    await removeSite();
    siteTokenCompleter = Completer<void>();
  }
  var option = QueryOption(data:{'domain':domain});
  Map<String,dynamic> include = Map.from({});
  if(dotenv.env['authDomainInclude'] != null){
    List<String> str = dotenv.env['authDomainInclude']!.split(',');
    for (var item in str) { if (item.isNotEmpty) { include[item.trim()] = true; } }
  }
  final res = await post("core/domains/auth",option:option,include:include,waitRef:false);
  final tokenRef = res['headers']['x-client-site'];
  if(tokenRef != null && tokenRef.isNotEmpty){
    final prefs = StorageProvider();
    prefs.setString("token_site",tokenRef);
    prefs.setObject("site",res['body']);
    siteTokenCompleter?.complete();
    siteTokenCompleter = null;
  }
  return res['body'];
}