From f22d88958aa70287b6ecb65be124bff0b356b9a0 Mon Sep 17 00:00:00 2001 From: shoaib-mohmad <shoaib.mohmad@tarento.com> Date: Tue, 19 Apr 2022 12:34:16 +0530 Subject: [PATCH] Fixed all the issues in v1.0 --- README.md | 8 +++--- lib/constants/api_endpoints.dart | 2 ++ lib/constants/app_constants.dart | 3 ++- lib/main.dart | 1 + lib/pages/home_page.dart | 5 ++-- lib/repositories/application_repository.dart | 7 +++++- lib/repositories/login_repository.dart | 26 ++++++++++++-------- lib/services/application_service.dart | 2 +- lib/services/login_service.dart | 9 +++++++ 9 files changed, 44 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 7cef767..6c1d172 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ samples, guidance on mobile development, and a full API reference. ## Configuration Details -* Flutter 2.10.3 • channel stable • https://github.com/flutter/flutter.git -* Framework • revision 7e9793dee1 (2 weeks ago) • 2022-03-02 11:23:12 -0600 -* Engine • revision bd539267b4 -* Tools • Dart 2.16.1 • DevTools 2.9.2 +* Flutter 2.10.4 • channel stable • https://github.com/flutter/flutter.git +* Framework • revision c860cba910 (12 days ago) • 2022-03-25 00:23:12 -0500 +* Engine • revision 57d3bac3dd +* Tools • Dart 2.16.2 • DevTools 2.9.2 diff --git a/lib/constants/api_endpoints.dart b/lib/constants/api_endpoints.dart index 9255dc1..e1773c9 100644 --- a/lib/constants/api_endpoints.dart +++ b/lib/constants/api_endpoints.dart @@ -15,4 +15,6 @@ class ApiUrl { static const getAllForms = '$baseUrl/api/forms/getAllForms?isDetail=true'; static const fileUpload = '$baseUrl/api/forms/fileUpload'; static const deleteFile = '$baseUrl/api/forms/deleteCloudFile'; + static const deleteDeviceToken = + '$baseUrl/api/user/deleteDeviceToken?deviceId='; } diff --git a/lib/constants/app_constants.dart b/lib/constants/app_constants.dart index 34c32dc..1e46751 100644 --- a/lib/constants/app_constants.dart +++ b/lib/constants/app_constants.dart @@ -1,4 +1,4 @@ -const String appVersion = '1.0'; +const String appVersion = '1.3'; const String appName = 'UP SMF'; const int inspectorRoleId = 2093; @@ -52,6 +52,7 @@ class Storage { static const String lastname = 'smf_user_last_name'; static const String authtoken = 'smf_user_auth_token'; static const String applicationId = 'smf_application_id'; + static const String deviceIdentifier = 'smf_device_identifier'; } class Inspector { diff --git a/lib/main.dart b/lib/main.dart index 3e5d5da..9d7b5bd 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -10,3 +10,4 @@ void main() { }, )); } + \ No newline at end of file diff --git a/lib/pages/home_page.dart b/lib/pages/home_page.dart index 05c79cc..f7b19c6 100644 --- a/lib/pages/home_page.dart +++ b/lib/pages/home_page.dart @@ -133,9 +133,10 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver { // await Future.delayed(const Duration(milliseconds: 10)); if (isInternetConnected) { _validateUser(); - _getForms(); - _syncApplications(); + await _getForms(); + await _syncApplications(); } + _allApplications = await Provider.of<ApplicationRespository>(context, listen: false) .getApplications(isInternetConnected); diff --git a/lib/repositories/application_repository.dart b/lib/repositories/application_repository.dart index 9fc3d05..9fe1111 100644 --- a/lib/repositories/application_repository.dart +++ b/lib/repositories/application_repository.dart @@ -100,7 +100,9 @@ class ApplicationRespository with ChangeNotifier { bool response = false; List<Map> attachments = []; try { + // await OfflineModel.deleteInspections(); List<Map> rawInspections = await OfflineModel.getInspections(); + // print(rawInspections); for (var inspection in rawInspections) { Map inspectionData = jsonDecode(inspection['inspection_data']); attachments = @@ -118,11 +120,14 @@ class ApplicationRespository with ChangeNotifier { consents.add(inspectionData); } } + // print('inspections: ' + inspections.toString()); + // print('concents: ' + consents.toString()); if (inspections.isNotEmpty) { final request1 = await ApplicationService.submitBulkInspection(inspections); data1 = json.decode(request1.body); } + if (consents.isNotEmpty) { final request2 = await ApplicationService.submitBulkConsent(consents); data2 = json.decode(request2.body); @@ -154,7 +159,7 @@ class ApplicationRespository with ChangeNotifier { if (!internetConnected) { Map<String, Object> applicationData = { 'inspector_type': Inspector.assistantInspector, - 'inspection_data': data + 'inspection_data': json.encode(data) }; await OfflineModel.saveInspection(applicationData); diff --git a/lib/repositories/login_repository.dart b/lib/repositories/login_repository.dart index bbcdfac..15216c5 100644 --- a/lib/repositories/login_repository.dart +++ b/lib/repositories/login_repository.dart @@ -8,6 +8,7 @@ import 'package:smf_mobile/landing_page.dart'; import 'package:smf_mobile/models/login_model.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:smf_mobile/services/login_service.dart'; +import 'package:smf_mobile/util/helper.dart'; // import 'package:smf_mobile/util/notification_helper.dart'; class LoginRespository with ChangeNotifier { @@ -74,6 +75,7 @@ class LoginRespository with ChangeNotifier { _storage.write(key: Storage.firstname, value: _loginDetails.firstName); _storage.write(key: Storage.lastname, value: _loginDetails.lastName); _storage.write(key: Storage.authtoken, value: _loginDetails.authToken); + _storage.write(key: Storage.deviceIdentifier, value: identifier); _firebaseMessaging.getToken().then((token) async { final request = await LoginService.updateUserDeviceToken( token.toString(), @@ -92,16 +94,16 @@ class LoginRespository with ChangeNotifier { } void _configureMessaging(context) async { - NotificationSettings settings = await _firebaseMessaging.requestPermission( - alert: true, - announcement: false, - badge: true, - carPlay: false, - criticalAlert: false, - provisional: false, - sound: true, - ); - print('User granted permission: ${settings.authorizationStatus}'); + // NotificationSettings settings = await _firebaseMessaging.requestPermission( + // alert: true, + // announcement: false, + // badge: true, + // carPlay: false, + // criticalAlert: false, + // provisional: false, + // sound: true, + // ); + // print('User granted permission: ${settings.authorizationStatus}'); FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler); @@ -114,6 +116,10 @@ class LoginRespository with ChangeNotifier { } Future<void> clearData() async { + String deviceIdentifier = await Helper.getUser(Storage.deviceIdentifier); + // print(deviceIdentifier); + await LoginService.deleteDeviceToken(deviceIdentifier); + // print(request.body); await _storage.deleteAll(); } diff --git a/lib/services/application_service.dart b/lib/services/application_service.dart index fbb5fb5..2020ae4 100644 --- a/lib/services/application_service.dart +++ b/lib/services/application_service.dart @@ -64,7 +64,7 @@ class ApplicationService extends BaseService { final response = await http.post(Uri.parse(ApiUrl.submitBulkConcent), headers: headers, body: body); - // developer.log(ApiUrl.submitInspection); + // developer.log(ApiUrl.submitBulkConcent); // developer.log(body); // developer.log(response.body); return response; diff --git a/lib/services/login_service.dart b/lib/services/login_service.dart index 83d6400..4f63d7d 100644 --- a/lib/services/login_service.dart +++ b/lib/services/login_service.dart @@ -61,4 +61,13 @@ class LoginService extends BaseService { headers: headers, body: body); return response; } + + static Future<dynamic> deleteDeviceToken(String identifier) async { + Map<String, String> headers = await BaseService.getHeaders(); + final response = await http.delete( + Uri.parse(ApiUrl.deleteDeviceToken + identifier), + headers: headers, + ); + return response; + } } -- GitLab