signInWithEmail method
Implementation
Future<dynamic> signInWithEmail(String email,String password,{Map<String,dynamic>?include=const{},Map<String,dynamic>?query=const{}}) async {
final prefs = StorageProvider();
var state = prefs.getString("token_access");
if(state.isNotEmpty){
var user = prefs.getObject("user");
subUser.sink.add(user.isNotEmpty?user:null);
return state;
}
if(dotenv.env['authUserInclude'] != null && (include == null || include.isEmpty)){
include = Map.from(include ?? {});
List<String> str = dotenv.env['authUserInclude']!.split(',');
for (var item in str) { if (item.isNotEmpty) { include[item.trim()] = true; } }
}
var option = QueryOption(data:{'email':email,'password':password});
var path = getQueryPathByScope("users/auth");
final res = await post(path,option:option,include:include,query:query);
final accessToken = res['headers']['x-access-token'];
final refreshToken = res['headers']['x-refresh-token'];
prefs.setString("token_access",accessToken);
prefs.setString("token_refresh",refreshToken);
prefs.setObject("user",res['body']);
subUser.sink.add(res['body']);
return res['body'];
}