Backend Structure 2.0

development_mirza
mirza.shafique 3 years ago
parent f6f7e626d8
commit ca7c923429

@ -1,15 +1,20 @@
import 'package:hmg_nurses/exceptions/api_exception.dart';
import 'package:hmg_nurses/main.dart';
import 'package:hmg_nurses/model/login/project_info_model.dart';
import 'package:hmg_nurses/services/api_client.dart';
import 'package:hmg_nurses/classes/consts.dart';
import 'package:hmg_nurses/model/base/generic_response_model.dart';
import 'package:hmg_nurses/model/login/imei_details.dart';
import 'package:hmg_nurses/model/login/imei_details_model.dart';
import 'package:injector/injector.dart';
import '../services/firebase_service.dart';
abstract class ILoginApiRepo {
Future<List<GetIMEIDetailsModel>> getDeviceInfoByIMEI();
Future<List<ProjectInfoModel>> getProjectInfo(String userId);
Future memberLogin(String userId, String password, int projectId);
}
class LoginApiRepo implements ILoginApiRepo {
@ -23,7 +28,6 @@ class LoginApiRepo implements ILoginApiRepo {
Map<String, dynamic> postParams = {};
postParams.addAll(appState.postParamsJson);
postParams["stamp"] = DateTime.now().toIso8601String();
postParams["IMEI"] = token;
GenericResponseModel response;
try {
@ -33,4 +37,38 @@ class LoginApiRepo implements ILoginApiRepo {
}
return response.listDoctorDeviceDetails ?? [];
}
@override
Future<List<ProjectInfoModel>> getProjectInfo(String userId) async {
String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/GetProjectInfo";
Map<String, dynamic> postParams = {};
postParams.addAll(appState.postParamsJson);
postParams["MemberID"] = "13777";
GenericResponseModel response;
try {
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
} catch (e) {
rethrow;
}
return response.projectInfo ?? [];
}
@override
Future memberLogin(String userId, String password, int projectId) async {
String url = "${ApiConsts.baseUrlServices}Sentry.svc/REST/MemberLogIN_New";
Map<String, dynamic> postParams = {};
postParams.addAll(appState.postParamsJson);
postParams["UserID"] = userId;
postParams["Password"] = password;
postParams["ProjectID"] = projectId;
GenericResponseModel response;
try {
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
} catch (e) {
rethrow;
}
return response;
}
}

@ -33,14 +33,13 @@ class AppState {
String? get getForgetPasswordTokenID => forgetPasswordTokenID;
final PostParamsModel _postParamsInitConfig = PostParamsModel(
imei: "",
tokenID: "@dm!n",
languageID: 2,
stamp: "",
iPAdress: "9.9.9.9",
versionID: 8.3,
channel: 9,
sessionID: "",
sessionID: "BlUSkYymTt",
isLoginForDoctorApp: true,
patientOutSA: false,
vidaAuthTokenID: null,
@ -59,7 +58,10 @@ class AppState {
PostParamsModel? get postParamsObject => _postParams;
// Map<String, dynamic> get postParamsJson => isLogged ? (_postParams?.toJsonAfterLogin() ?? {}) : (_postParams?.toJson() ?? {});
Map<String, dynamic> get postParamsJson => (_postParams?.toJson() ?? {});
Map<String, dynamic> get postParamsJson{
_postParams!.stamp=DateTime.now().toIso8601String();
return _postParams?.toJson() ?? {};
}
void setPostParamsModel(PostParamsModel _postParams) {
this._postParams = _postParams;

@ -4,7 +4,9 @@
import 'dart:convert';
import 'package:hmg_nurses/model/login/imei_details.dart';
import 'package:hmg_nurses/model/login/imei_details_model.dart';
import '../login/project_info_model.dart';
GenericResponseModel genericResponseModelFromJson(String str) => GenericResponseModel.fromJson(json.decode(str));
@ -332,7 +334,7 @@ class GenericResponseModel {
final dynamic progressNoteList;
final dynamic progressNotesAuditLogList;
final int? projectId;
final dynamic projectInfo;
final List<ProjectInfoModel>? projectInfo;
final dynamic referralList;
final bool? requestCompleted;
final dynamic requisitionResponse;
@ -514,7 +516,7 @@ class GenericResponseModel {
progressNoteList: json["ProgressNoteList"],
progressNotesAuditLogList: json["ProgressNotesAuditLogList"],
projectId: json["ProjectID"] == null ? null : json["ProjectID"],
projectInfo: json["ProjectInfo"],
projectInfo: json["ProjectInfo"] == null ? null : List<ProjectInfoModel>.from(json["ProjectInfo"].map((x) => ProjectInfoModel.fromJson(x))),
referralList: json["ReferralList"],
requestCompleted: json["RequestCompleted"] == null ? null : json["RequestCompleted"],
requisitionResponse: json["RequisitionResponse"],

@ -47,7 +47,6 @@ class PostParamsModel {
Map<String, dynamic> toJson() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['IMEI'] = this.imei;
data['TokenID'] = this.tokenID;
data['LanguageID'] = this.languageID;
data['stamp'] = this.stamp;

@ -0,0 +1,23 @@
class ProjectInfoModel {
ProjectInfoModel({
this.facilityGroupId,
this.facilityId,
this.facilityName,
});
final String? facilityGroupId;
final int? facilityId;
final String? facilityName;
factory ProjectInfoModel.fromJson(Map<String, dynamic> json) => ProjectInfoModel(
facilityGroupId: json["facilityGroupId"] == null ? null : json["facilityGroupId"],
facilityId: json["facilityId"] == null ? null : json["facilityId"],
facilityName: json["facilityName"] == null ? null : json["facilityName"],
);
Map<String, dynamic> toJson() => {
"facilityGroupId": facilityGroupId == null ? null : facilityGroupId,
"facilityId": facilityId == null ? null : facilityId,
"facilityName": facilityName == null ? null : facilityName,
};
}

@ -22,6 +22,8 @@ class _SplashPageState extends State<SplashPage> {
getData() async {
try {
await _loginApiRepo.getDeviceInfoByIMEI();
await _loginApiRepo.getProjectInfo("userId");
await _loginApiRepo.memberLogin("13777", "Rr123456", 12);
} catch (e) {
Utils.handleException(e, context, (msg) {
Utils.confirmDialog(context, msg);

Loading…
Cancel
Save