import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;
import '../AccessRight/accessrightmodels.dart';
import '../restmodels.dart';
class AccessRight
{
String restUri = '';
LoginRespData loginResp = null;
void Function(LoginRespData) onLoginResp = null;
AccessRight(String restUri)
{
this.restUri = restUri;
}
Future<LoginRespData> UserLogin(String userId, String password) async {
var resturl = restUri + '/apiCustomer/accessRight/userLogin';
final response = await http.post(
Uri.parse(resturl),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonEncode(<String, String>{
'userId': userId,
'password': password
}),
);
var dd = RestLoginResp.fromJson(jsonDecode(response.body));
if (dd != null)
{
loginResp = dd.data;
if (onLoginResp != null) onLoginResp(loginResp);
return loginResp;
}
return null;
}
Future<LoginRespData> UserLogin2FA(int code, {int mode = 3}) async {
var resturl = restUri + '/apiCustomer/accessRight/userLogin2FA';
final response = await http.post(
Uri.parse(resturl),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonEncode(<String, dynamic>{
'accNo': loginResp.accNo,
'code': code,
'mode': mode,
'systemId': loginResp.systemId,
'userId': loginResp.userId,
}),
);
var dd = RestLoginResp.fromJson(jsonDecode(response.body));
if (dd != null)
{
loginResp = dd.data;
if (onLoginResp != null) onLoginResp(loginResp);
return loginResp;
}
return null;
}
Future<bool> SessionTokenHeartbeat() async {
var resturl = restUri + '/apiCustomer/accessRight/sessionTokenHeartbeat';
final response = await http.post(
Uri.parse(resturl),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonEncode(<String, String>{
'sessionToken': loginResp.sessionToken,
}),
);
var dd = RestGenResp.fromJson(jsonDecode(response.body));
if (dd.result_code == '0')
return true;
return false;
}
Future<bool> UserLogout() async {
var resturl = restUri + '/apiCustomer/accessRight/userLogout';
final response = await http.post(
Uri.parse(resturl),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonEncode(<String, String>{
'sessionToken': loginResp.sessionToken,
}),
);
var dd = RestGenResp.fromJson(jsonDecode(response.body));
if (dd.result_code == '0')
return true;
return false;
}
}