diff --git a/.gitignore b/.gitignore index 1b1f745..9a6bf96 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,4 @@ android/app/src/prod/res/values/strings.xml .gradle/buildOutputCleanup/cache.properties .gradle/vcs-1/gc.properties android/key.keystore +android/dev-key.properties diff --git a/android/app/build.gradle b/android/app/build.gradle index a57d539..832f7cf 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -25,7 +25,7 @@ apply plugin: 'com.android.application' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" def keystoreProperties = new Properties() -def keystorePropertiesFile = rootProject.file('key.properties') +def keystorePropertiesFile = rootProject.file('dev-key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } diff --git a/android/build.gradle b/android/build.gradle index 92237fa..b4aef21 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.6.10' + ext.kotlin_version = '1.8.22' repositories { google() diff --git a/lib/domain/constants.dart b/lib/constants.dart similarity index 96% rename from lib/domain/constants.dart rename to lib/constants.dart index e98ffa2..77acf32 100644 --- a/lib/domain/constants.dart +++ b/lib/constants.dart @@ -50,14 +50,12 @@ const message_type_profile = "t_profile"; const message_type_shipment = "t_s"; // Fcs shipment status -const fcs_shipment_confirmed_status = "confirmed"; -const fcs_shipment_shipped_status = "shipped"; const fcs_shipment_pending_status = "pending"; -const fcs_shipment_processing_status = "processing"; +const fcs_shipment_canceled_status = "canceled"; +const fcs_shipment_processed_status = "processed"; +const fcs_shipment_shipped_status = "shipped"; const fcs_shipment_arrived_status = "arrived"; const fcs_shipment_invoiced_status = "invoiced"; -const fcs_shipment_delivered_status = "delivered"; -const fcs_shipment_canceled_status = "canceled"; // Package status const package_received_status = "received"; diff --git a/lib/data/provider/auth_fb.dart b/lib/data/provider/auth_fb.dart index fc2110f..cd603e8 100644 --- a/lib/data/provider/auth_fb.dart +++ b/lib/data/provider/auth_fb.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/auth_result.dart' as fcs; import 'package:fcs/domain/entities/auth_status.dart'; import 'package:fcs/domain/entities/setting.dart'; diff --git a/lib/data/provider/carton_data_provider.dart b/lib/data/provider/carton_data_provider.dart index 93e02a4..3f519cc 100644 --- a/lib/data/provider/carton_data_provider.dart +++ b/lib/data/provider/carton_data_provider.dart @@ -1,6 +1,6 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/helpers/api_helper.dart'; import 'package:fcs/helpers/firebase_helper.dart'; @@ -47,7 +47,7 @@ class CartonDataProvider { .collection(path) .where("carton_number", isEqualTo: term) .where("is_deleted", isEqualTo: false) - .orderBy("created_at",descending: true) + .orderBy("created_at", descending: true) .get(); return querySnap.docs.map((e) => Carton.fromMap(e.data(), e.id)).toList(); } catch (e) { diff --git a/lib/data/provider/fcs_shipment_data_provider.dart b/lib/data/provider/fcs_shipment_data_provider.dart index d83c976..50e5630 100644 --- a/lib/data/provider/fcs_shipment_data_provider.dart +++ b/lib/data/provider/fcs_shipment_data_provider.dart @@ -22,28 +22,8 @@ class FcsShipmentDataProvider { return data["url"]; } - Future processFcsShipment(String id) async { - return await requestAPI("/fcs_shipments/process", "PUT", - payload: {"id": id}, token: await getToken()); - } - - Future cancelFcsShipment(String id) async { - return await requestAPI("/fcs_shipments/cancel", "POST", - payload: {"id": id}, token: await getToken()); - } - - Future shipFcsShipment(String id) async { - return await requestAPI("/fcs_shipments/ship", "PUT", - payload: {"id": id}, token: await getToken()); - } - - Future arriveFcsShipment(String id) async { - return await requestAPI("/fcs_shipments/arrive", "PUT", - payload: {"id": id}, token: await getToken()); - } - - Future invoiceFcsShipment(String id) async { - return await requestAPI("/fcs_shipments/invoice", "PUT", - payload: {"id": id}, token: await getToken()); + Future updateFcsShipmentStatus(String id, String status) async { + return await requestAPI("/fcs_shipments/status", "PUT", + payload: {"id": id, "status": status}, token: await getToken()); } } diff --git a/lib/data/provider/package_data_provider.dart b/lib/data/provider/package_data_provider.dart index 08d761d..fe05e67 100644 --- a/lib/data/provider/package_data_provider.dart +++ b/lib/data/provider/package_data_provider.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'package:fcs/config.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/helpers/api_helper.dart'; import 'package:fcs/helpers/firebase_helper.dart'; diff --git a/lib/data/provider/rate_data_provider.dart b/lib/data/provider/rate_data_provider.dart index df67560..9710469 100644 --- a/lib/data/provider/rate_data_provider.dart +++ b/lib/data/provider/rate_data_provider.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/cargo_type.dart'; import 'package:fcs/domain/entities/custom_duty.dart'; import 'package:fcs/domain/entities/discount_by_weight.dart'; diff --git a/lib/data/provider/user_data_provider.dart b/lib/data/provider/user_data_provider.dart index 1756eab..f2077e7 100644 --- a/lib/data/provider/user_data_provider.dart +++ b/lib/data/provider/user_data_provider.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/config.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/helpers/api_helper.dart'; import 'package:fcs/helpers/firebase_helper.dart'; diff --git a/lib/data/services/fcs_shipment_imp.dart b/lib/data/services/fcs_shipment_imp.dart index e934f13..96404af 100644 --- a/lib/data/services/fcs_shipment_imp.dart +++ b/lib/data/services/fcs_shipment_imp.dart @@ -29,27 +29,7 @@ class FcsShipmentServiceImp implements FcsShipmentService { } @override - Future arriveFcsShipment(String id) { - return shipmentDataProvider.arriveFcsShipment(id); - } - - @override - Future cancelFcsShipment(String id) { - return shipmentDataProvider.cancelFcsShipment(id); - } - - @override - Future invoiceFcsShipment(String id) { - return shipmentDataProvider.invoiceFcsShipment(id); - } - - @override - Future processFcsShipment(String id) { - return shipmentDataProvider.processFcsShipment(id); - } - - @override - Future shipFcsShipment(String id) { - return shipmentDataProvider.shipFcsShipment(id); + Future updateFcsShipmentStatus(String id, String status) { + return shipmentDataProvider.updateFcsShipmentStatus(id, status); } } diff --git a/lib/data/services/fcs_shipment_service.dart b/lib/data/services/fcs_shipment_service.dart index 1ac61c8..8c93bfa 100644 --- a/lib/data/services/fcs_shipment_service.dart +++ b/lib/data/services/fcs_shipment_service.dart @@ -4,9 +4,10 @@ abstract class FcsShipmentService { Future createFcsShipment(FcsShipment fcsShipment); Future updateFcsShipment(FcsShipment fcsShipment); Future report(FcsShipment fcsShipment); - Future processFcsShipment(String id); - Future cancelFcsShipment(String id); - Future shipFcsShipment(String id); - Future arriveFcsShipment(String id); - Future invoiceFcsShipment(String id); + Future updateFcsShipmentStatus(String id, String status); + // Future processFcsShipment(String id); + // Future cancelFcsShipment(String id); + // Future shipFcsShipment(String id); + // Future arriveFcsShipment(String id); + // Future invoiceFcsShipment(String id); } diff --git a/lib/domain/entities/fcs_shipment.dart b/lib/domain/entities/fcs_shipment.dart index c3a0e67..13ceb57 100644 --- a/lib/domain/entities/fcs_shipment.dart +++ b/lib/domain/entities/fcs_shipment.dart @@ -1,7 +1,5 @@ import 'package:cloud_firestore/cloud_firestore.dart'; -import '../constants.dart'; - class FcsShipment { String? id; String? shipmentNumber; @@ -66,10 +64,6 @@ class FcsShipment { }; } - bool isConfirmed() { - return status == fcs_shipment_confirmed_status; - } - bool isChangedForEdit(FcsShipment fcsShipment) { return fcsShipment.shipmentNumber != this.shipmentNumber || fcsShipment.cutoffDate != this.cutoffDate || diff --git a/lib/domain/entities/shipment.dart b/lib/domain/entities/shipment.dart index c3739b5..c593fbb 100644 --- a/lib/domain/entities/shipment.dart +++ b/lib/domain/entities/shipment.dart @@ -1,5 +1,5 @@ import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/vo/delivery_address.dart'; diff --git a/lib/domain/entities/user.dart b/lib/domain/entities/user.dart index 4e4680e..bef8dec 100644 --- a/lib/domain/entities/user.dart +++ b/lib/domain/entities/user.dart @@ -2,7 +2,7 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/foundation.dart'; import 'package:intl/intl.dart'; -import '../constants.dart'; +import '../../constants.dart'; DateFormat dayFormat = DateFormat("MMM dd yyyy"); DateFormat timeFormat = DateFormat("hh:mm a"); diff --git a/lib/domain/vo/privilege.dart b/lib/domain/vo/privilege.dart index 67dc398..afec5fb 100644 --- a/lib/domain/vo/privilege.dart +++ b/lib/domain/vo/privilege.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_icons_null_safety/flutter_icons_null_safety.dart'; diff --git a/lib/main-dev.dart b/lib/main-dev.dart index e3e1efe..148209e 100644 --- a/lib/main-dev.dart +++ b/lib/main-dev.dart @@ -15,10 +15,10 @@ Future main() async { Config( flavor: Flavor.DEV, color: Colors.blue, - apiURL: "https://asia-northeast1-fcs-dev1.cloudfunctions.net/API12", + apiURL: "https://asia-northeast1-fcs-dev1.cloudfunctions.net/API13", reportURL: "http://petrok.mokkon.com:7071", reportProjectID: "fcs-dev", bucketName: "gs://fcs-dev1-us", level: Level.ALL); - runApp(App(title:"FCS - Dev")); + runApp(App(title: "FCS - Dev")); } diff --git a/lib/main-prod.dart b/lib/main-prod.dart index e80ce8c..67dba31 100644 --- a/lib/main-prod.dart +++ b/lib/main-prod.dart @@ -9,10 +9,10 @@ void main() { Config( flavor: Flavor.PRODUCTION, color: Colors.blue, - apiURL: "https://asia-northeast1-fcs-prod1.cloudfunctions.net/API106", + apiURL: "https://asia-northeast1-fcs-prod1.cloudfunctions.net/API13", reportURL: "http://petrok.mokkon.com:8092", reportProjectID: "fcs-prod", bucketName: "gs://fcs-prod1", level: Level.ALL); - runApp(App(title:"FCS")); + runApp(App(title: "FCS")); } diff --git a/lib/pages/carton/carton_editor.dart b/lib/pages/carton/carton_editor.dart index 19d1d52..315a655 100644 --- a/lib/pages/carton/carton_editor.dart +++ b/lib/pages/carton/carton_editor.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/helpers/theme.dart'; diff --git a/lib/pages/carton/carton_filter.dart b/lib/pages/carton/carton_filter.dart index 7d45c34..20ab11a 100644 --- a/lib/pages/carton/carton_filter.dart +++ b/lib/pages/carton/carton_filter.dart @@ -2,7 +2,7 @@ import 'package:fcs/pages/carton/model/sender_selection_model.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import '../../domain/constants.dart'; +import '../../constants.dart'; import '../../domain/entities/fcs_shipment.dart'; import '../../domain/entities/user.dart'; import '../../helpers/theme.dart'; diff --git a/lib/pages/carton/carton_info.dart b/lib/pages/carton/carton_info.dart index 1cd1297..84c66e9 100644 --- a/lib/pages/carton/carton_info.dart +++ b/lib/pages/carton/carton_info.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/cargo_type.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/entities/package.dart'; diff --git a/lib/pages/carton/carton_list.dart b/lib/pages/carton/carton_list.dart index f370eed..71d3306 100644 --- a/lib/pages/carton/carton_list.dart +++ b/lib/pages/carton/carton_list.dart @@ -8,7 +8,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; -import '../../domain/constants.dart'; +import '../../constants.dart'; import '../../domain/entities/carton.dart'; import '../../pagination/paginator_listview.dart'; import '../carton_search/carton_search.dart'; diff --git a/lib/pages/carton/carton_package_editor.dart b/lib/pages/carton/carton_package_editor.dart index 595d07a..488ff97 100644 --- a/lib/pages/carton/carton_package_editor.dart +++ b/lib/pages/carton/carton_package_editor.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; -import '../../../domain/constants.dart'; +import '../../constants.dart'; import '../../../domain/entities/carton_size.dart'; import '../../../domain/entities/fcs_shipment.dart'; import '../../../domain/vo/local_step.dart'; @@ -88,8 +88,10 @@ class _CartonPackageEditorState extends State { _length = widget.carton.length; _width = widget.carton.width; _height = widget.carton.height; - _cargoTypes = widget.carton.cargoTypes.where((e) => !e.isCutomDuty).toList(); - _surchareItems = widget.carton.cargoTypes.where((e) => e.isCutomDuty).toList(); + _cargoTypes = + widget.carton.cargoTypes.where((e) => !e.isCutomDuty).toList(); + _surchareItems = + widget.carton.cargoTypes.where((e) => e.isCutomDuty).toList(); var s = await context .read() diff --git a/lib/pages/carton/carton_package_form.dart b/lib/pages/carton/carton_package_form.dart index 3f627c8..ddd9cac 100644 --- a/lib/pages/carton/carton_package_form.dart +++ b/lib/pages/carton/carton_package_form.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; -import '../../../domain/constants.dart'; +import '../../constants.dart'; import '../../../domain/entities/carton_size.dart'; import '../../../domain/entities/fcs_shipment.dart'; import '../../../domain/vo/local_step.dart'; @@ -26,13 +26,12 @@ import 'package_selection_widget.dart'; class CartonPackageForm extends StatefulWidget { final User sender; final User consignee; - - const CartonPackageForm( - {Key? key, - required this.sender, - required this.consignee, - }) - : super(key: key); + + const CartonPackageForm({ + Key? key, + required this.sender, + required this.consignee, + }) : super(key: key); @override State createState() => _CartonPackageFormState(); @@ -148,7 +147,7 @@ class _CartonPackageFormState extends State { onPrevious: () { Navigator.pop(context); }, - onContinue: (deliveryType,billType ,shipment, cartonSizeType, + onContinue: (deliveryType, billType, shipment, cartonSizeType, {standardSize, length, width, height}) { setState(() { _selectedDeliveryType = deliveryType; diff --git a/lib/pages/carton/carton_size_widget.dart b/lib/pages/carton/carton_size_widget.dart index b498760..a1fa3a6 100644 --- a/lib/pages/carton/carton_size_widget.dart +++ b/lib/pages/carton/carton_size_widget.dart @@ -3,7 +3,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; -import '../../../domain/constants.dart'; +import '../../constants.dart'; import '../../../domain/entities/carton_size.dart'; import '../../../domain/entities/fcs_shipment.dart'; import '../../../helpers/theme.dart'; diff --git a/lib/pages/carton/carton_submit.dart b/lib/pages/carton/carton_submit.dart index 9aa71ad..f097dce 100644 --- a/lib/pages/carton/carton_submit.dart +++ b/lib/pages/carton/carton_submit.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:intl/intl.dart'; -import '../../../domain/constants.dart'; +import '../../constants.dart'; import '../../../domain/entities/cargo_type.dart'; import '../../../domain/entities/carton_size.dart'; import '../../../domain/entities/fcs_shipment.dart'; diff --git a/lib/pages/carton/mix_carton/mix_carton_editor.dart b/lib/pages/carton/mix_carton/mix_carton_editor.dart index 3047ec9..76b8bb4 100644 --- a/lib/pages/carton/mix_carton/mix_carton_editor.dart +++ b/lib/pages/carton/mix_carton/mix_carton_editor.dart @@ -6,7 +6,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../../domain/entities/carton.dart'; import '../../../domain/entities/carton_size.dart'; import '../../../domain/entities/fcs_shipment.dart'; diff --git a/lib/pages/carton/mix_carton/mix_carton_form.dart b/lib/pages/carton/mix_carton/mix_carton_form.dart index 3145652..b2925c3 100644 --- a/lib/pages/carton/mix_carton/mix_carton_form.dart +++ b/lib/pages/carton/mix_carton/mix_carton_form.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../../domain/entities/carton.dart'; import '../../../domain/entities/carton_size.dart'; import '../../../domain/entities/fcs_shipment.dart'; diff --git a/lib/pages/carton/mix_carton/mix_carton_submit.dart b/lib/pages/carton/mix_carton/mix_carton_submit.dart index 145da68..8bea898 100644 --- a/lib/pages/carton/mix_carton/mix_carton_submit.dart +++ b/lib/pages/carton/mix_carton/mix_carton_submit.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:intl/intl.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../../domain/entities/cargo_type.dart'; import '../../../domain/entities/carton.dart'; import '../../../domain/entities/carton_size.dart'; diff --git a/lib/pages/carton/mix_carton/type_widget.dart b/lib/pages/carton/mix_carton/type_widget.dart index 0b6ab97..598cbf6 100644 --- a/lib/pages/carton/mix_carton/type_widget.dart +++ b/lib/pages/carton/mix_carton/type_widget.dart @@ -3,7 +3,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_vector_icons/flutter_vector_icons.dart'; import 'package:provider/provider.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../../domain/entities/carton_size.dart'; import '../../../domain/entities/fcs_shipment.dart'; import '../../../helpers/theme.dart'; diff --git a/lib/pages/carton/model/carton_model.dart b/lib/pages/carton/model/carton_model.dart index 3d91222..14d948a 100644 --- a/lib/pages/carton/model/carton_model.dart +++ b/lib/pages/carton/model/carton_model.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/entities/fcs_shipment.dart'; import 'package:fcs/pages/main/model/base_model.dart'; @@ -17,7 +17,7 @@ import 'package:path/path.dart' as Path; class CartonModel extends BaseModel { final log = Logger('CartonModel'); - var defaultShipment =FcsShipment(shipmentNumber: "All shipments", id: all); + var defaultShipment = FcsShipment(shipmentNumber: "All shipments", id: all); PaginatorListener? cartonsByFilter; PaginatorListener? getBoxes; diff --git a/lib/pages/carton/model/carton_selection_model.dart b/lib/pages/carton/model/carton_selection_model.dart index d99fd94..00e4b45 100644 --- a/lib/pages/carton/model/carton_selection_model.dart +++ b/lib/pages/carton/model/carton_selection_model.dart @@ -4,7 +4,7 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:logging/logging.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../main/model/base_model.dart'; class CartonSelectionModel extends BaseModel { diff --git a/lib/pages/carton/model/consignee_selection_model.dart b/lib/pages/carton/model/consignee_selection_model.dart index 770823c..0682e5c 100644 --- a/lib/pages/carton/model/consignee_selection_model.dart +++ b/lib/pages/carton/model/consignee_selection_model.dart @@ -5,7 +5,7 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/config.dart'; import 'package:logging/logging.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../../domain/entities/user.dart'; import '../../../helpers/api_helper.dart'; import '../../../helpers/firebase_helper.dart'; diff --git a/lib/pages/carton/model/package_selection_model.dart b/lib/pages/carton/model/package_selection_model.dart index 45a061f..eea831e 100644 --- a/lib/pages/carton/model/package_selection_model.dart +++ b/lib/pages/carton/model/package_selection_model.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:logging/logging.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../../domain/entities/package.dart'; import '../../main/model/base_model.dart'; diff --git a/lib/pages/carton/model/sender_selection_model.dart b/lib/pages/carton/model/sender_selection_model.dart index 0b7420d..aced32e 100644 --- a/lib/pages/carton/model/sender_selection_model.dart +++ b/lib/pages/carton/model/sender_selection_model.dart @@ -5,7 +5,7 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:logging/logging.dart'; import '../../../config.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../../domain/entities/user.dart'; import '../../../helpers/api_helper.dart'; import '../../../helpers/firebase_helper.dart'; diff --git a/lib/pages/carton/model/shipment_selection_model.dart b/lib/pages/carton/model/shipment_selection_model.dart index 4af29e9..b6fd109 100644 --- a/lib/pages/carton/model/shipment_selection_model.dart +++ b/lib/pages/carton/model/shipment_selection_model.dart @@ -4,7 +4,7 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/domain/entities/fcs_shipment.dart'; import 'package:logging/logging.dart'; -import '../../../domain/constants.dart'; +import '../../../constants.dart'; import '../../main/model/base_model.dart'; class ShipmentSelectionModel extends BaseModel { @@ -39,7 +39,7 @@ class ShipmentSelectionModel extends BaseModel { Query query = FirebaseFirestore.instance .collection(path) .where("status", whereIn: [ - fcs_shipment_processing_status, + fcs_shipment_processed_status, fcs_shipment_shipped_status, fcs_shipment_arrived_status, fcs_shipment_invoiced_status diff --git a/lib/pages/carton_size/model/carton_size_model.dart b/lib/pages/carton_size/model/carton_size_model.dart index c104453..2018a2d 100644 --- a/lib/pages/carton_size/model/carton_size_model.dart +++ b/lib/pages/carton_size/model/carton_size_model.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton_size.dart'; import 'package:fcs/helpers/firebase_helper.dart'; import 'package:fcs/pages/main/model/base_model.dart'; diff --git a/lib/pages/chat/message_detail.dart b/lib/pages/chat/message_detail.dart index 9ca383b..e566ff9 100644 --- a/lib/pages/chat/message_detail.dart +++ b/lib/pages/chat/message_detail.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/domain/entities/shipment.dart'; import 'package:fcs/domain/entities/user.dart'; diff --git a/lib/pages/chat/model/message_model.dart b/lib/pages/chat/model/message_model.dart index 865a465..a679060 100644 --- a/lib/pages/chat/model/message_model.dart +++ b/lib/pages/chat/model/message_model.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/vo/message.dart'; import 'package:fcs/pages/main/model/base_model.dart'; import 'package:logging/logging.dart'; diff --git a/lib/pages/customer/customer_editor.dart b/lib/pages/customer/customer_editor.dart index c810830..8840b3d 100644 --- a/lib/pages/customer/customer_editor.dart +++ b/lib/pages/customer/customer_editor.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/chat/message_detail.dart'; diff --git a/lib/pages/customer/customer_list.dart b/lib/pages/customer/customer_list.dart index 36b08f9..f7e72d3 100644 --- a/lib/pages/customer/customer_list.dart +++ b/lib/pages/customer/customer_list.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/chat/message_detail.dart'; diff --git a/lib/pages/customer/model/customer_model.dart b/lib/pages/customer/model/customer_model.dart index c2f0acf..40f4fed 100644 --- a/lib/pages/customer/model/customer_model.dart +++ b/lib/pages/customer/model/customer_model.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/pages/main/model/base_model.dart'; import 'package:logging/logging.dart'; diff --git a/lib/pages/delivery/delivery_info.dart b/lib/pages/delivery/delivery_info.dart index 9845232..757a59d 100644 --- a/lib/pages/delivery/delivery_info.dart +++ b/lib/pages/delivery/delivery_info.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/domain/vo/delivery_address.dart'; diff --git a/lib/pages/delivery/model/delivery_model.dart b/lib/pages/delivery/model/delivery_model.dart index e8563a5..7f762d9 100644 --- a/lib/pages/delivery/model/delivery_model.dart +++ b/lib/pages/delivery/model/delivery_model.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/pages/main/model/base_model.dart'; import 'package:logging/logging.dart'; diff --git a/lib/pages/delivery_address/model/delivery_address_model.dart b/lib/pages/delivery_address/model/delivery_address_model.dart index 928bbda..7c168cc 100644 --- a/lib/pages/delivery_address/model/delivery_address_model.dart +++ b/lib/pages/delivery_address/model/delivery_address_model.dart @@ -3,7 +3,7 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/pages/main/model/base_model.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:logging/logging.dart'; class DeliveryAddressModel extends BaseModel { diff --git a/lib/pages/discount/model/discount_model.dart b/lib/pages/discount/model/discount_model.dart index bd5831f..06d4881 100644 --- a/lib/pages/discount/model/discount_model.dart +++ b/lib/pages/discount/model/discount_model.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/discount.dart'; import 'package:fcs/helpers/paginator.dart'; import 'package:fcs/pages/main/model/base_model.dart'; diff --git a/lib/pages/faq/faq_edit_page.dart b/lib/pages/faq/faq_edit_page.dart index a701c10..0250276 100644 --- a/lib/pages/faq/faq_edit_page.dart +++ b/lib/pages/faq/faq_edit_page.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/faq.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/faq/model/faq_model.dart'; @@ -61,7 +61,7 @@ class _FAQEditorState extends State { textInputType: TextInputType.number, autovalidateMode: AutovalidateMode.onUserInteraction, validator: (value) { - if (value == null || value.isEmpty || value.length==0) { + if (value == null || value.isEmpty || value.length == 0) { return "Please insert S/N"; } diff --git a/lib/pages/faq/faq_list_page.dart b/lib/pages/faq/faq_list_page.dart index 59b2bff..9627469 100644 --- a/lib/pages/faq/faq_list_page.dart +++ b/lib/pages/faq/faq_list_page.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/faq.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/buying_instruction/buying_online.dart'; diff --git a/lib/pages/fcs_shipment/fcs_shipment_info.dart b/lib/pages/fcs_shipment/fcs_shipment_info.dart index 5cfa9b5..8982566 100644 --- a/lib/pages/fcs_shipment/fcs_shipment_info.dart +++ b/lib/pages/fcs_shipment/fcs_shipment_info.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/fcs_shipment.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart'; @@ -219,7 +219,7 @@ class _FcsShipmentInfoState extends State { ? Container( padding: EdgeInsets.only(top: 3), child: cancelBtn) : Container(), - _fcsShipment?.status == fcs_shipment_processing_status + _fcsShipment?.status == fcs_shipment_processed_status ? shipBtn : Container(), _fcsShipment?.status == fcs_shipment_shipped_status diff --git a/lib/pages/fcs_shipment/model/fcs_shipment_model.dart b/lib/pages/fcs_shipment/model/fcs_shipment_model.dart index 2bb4022..14e51f2 100644 --- a/lib/pages/fcs_shipment/model/fcs_shipment_model.dart +++ b/lib/pages/fcs_shipment/model/fcs_shipment_model.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/fcs_shipment.dart'; import 'package:fcs/pages/main/model/base_model.dart'; import 'package:logging/logging.dart'; @@ -41,9 +41,9 @@ class FcsShipmentModel extends BaseModel { // processing status if (index == 2) { - col = col.where("status", isEqualTo: fcs_shipment_processing_status); + col = col.where("status", isEqualTo: fcs_shipment_processed_status); pageQuery = - pageQuery.where("status", isEqualTo: fcs_shipment_processing_status); + pageQuery.where("status", isEqualTo: fcs_shipment_processed_status); } // shipped status @@ -87,7 +87,7 @@ class FcsShipmentModel extends BaseModel { try { var snaps = await FirebaseFirestore.instance .collection("/$fcs_shipment_collection") - .where("status", isEqualTo: fcs_shipment_processing_status) + .where("status", isEqualTo: fcs_shipment_processed_status) .get(const GetOptions(source: Source.server)); fcsShipments = snaps.docs.map((documentSnapshot) { var fcs = @@ -176,23 +176,28 @@ class FcsShipmentModel extends BaseModel { } Future process(String id) { - return Services.instance.fcsShipmentService.processFcsShipment(id); + return Services.instance.fcsShipmentService + .updateFcsShipmentStatus(id, fcs_shipment_processed_status); } Future ship(String id) { - return Services.instance.fcsShipmentService.shipFcsShipment(id); + return Services.instance.fcsShipmentService + .updateFcsShipmentStatus(id, fcs_shipment_shipped_status); } Future arrive(String id) { - return Services.instance.fcsShipmentService.arriveFcsShipment(id); + return Services.instance.fcsShipmentService + .updateFcsShipmentStatus(id, fcs_shipment_arrived_status); } Future invoice(String id) { - return Services.instance.fcsShipmentService.invoiceFcsShipment(id); + return Services.instance.fcsShipmentService + .updateFcsShipmentStatus(id, fcs_shipment_shipped_status); } Future cancel(String id) { - return Services.instance.fcsShipmentService.cancelFcsShipment(id); + return Services.instance.fcsShipmentService + .updateFcsShipmentStatus(id, fcs_shipment_canceled_status); } Future report(FcsShipment fcsShipment) { @@ -205,7 +210,7 @@ class FcsShipmentModel extends BaseModel { var snaps = await FirebaseFirestore.instance .collection("/$fcs_shipment_collection") .where("status", whereIn: [ - fcs_shipment_processing_status, + fcs_shipment_processed_status, fcs_shipment_shipped_status, fcs_shipment_arrived_status, fcs_shipment_invoiced_status diff --git a/lib/pages/invoice/invoice_info.dart b/lib/pages/invoice/invoice_info.dart index ccf365f..b563aa4 100644 --- a/lib/pages/invoice/invoice_info.dart +++ b/lib/pages/invoice/invoice_info.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/entities/invoice.dart'; import 'package:fcs/helpers/theme.dart'; diff --git a/lib/pages/invoice/invoice_list_row.dart b/lib/pages/invoice/invoice_list_row.dart index 5ac6e37..0bac544 100644 --- a/lib/pages/invoice/invoice_list_row.dart +++ b/lib/pages/invoice/invoice_list_row.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/invoice.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/invoice/invoice_info.dart'; diff --git a/lib/pages/invoice/model/invoice_model.dart b/lib/pages/invoice/model/invoice_model.dart index ac92bbe..13ace1f 100644 --- a/lib/pages/invoice/model/invoice_model.dart +++ b/lib/pages/invoice/model/invoice_model.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/invoice.dart'; import 'package:fcs/domain/entities/payment.dart'; import 'package:fcs/helpers/firebase_helper.dart'; diff --git a/lib/pages/invoice/payment/payment_page.dart b/lib/pages/invoice/payment/payment_page.dart index e965a6a..078f15d 100644 --- a/lib/pages/invoice/payment/payment_page.dart +++ b/lib/pages/invoice/payment/payment_page.dart @@ -1,6 +1,6 @@ import 'dart:io'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/invoice.dart'; import 'package:fcs/domain/entities/payment.dart'; import 'package:fcs/helpers/theme.dart'; diff --git a/lib/pages/market/model/market_model.dart b/lib/pages/market/model/market_model.dart index 117450c..ab1677b 100644 --- a/lib/pages/market/model/market_model.dart +++ b/lib/pages/market/model/market_model.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/market.dart'; import 'package:fcs/helpers/firebase_helper.dart'; import 'package:fcs/pages/main/model/base_model.dart'; diff --git a/lib/pages/package/model/package_model.dart b/lib/pages/package/model/package_model.dart index 809bb6a..39d4835 100644 --- a/lib/pages/package/model/package_model.dart +++ b/lib/pages/package/model/package_model.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/domain/vo/delivery_address.dart'; diff --git a/lib/pages/package/package_info.dart b/lib/pages/package/package_info.dart index 164c066..c6285c9 100644 --- a/lib/pages/package/package_info.dart +++ b/lib/pages/package/package_info.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/helpers/theme.dart'; @@ -179,11 +179,11 @@ class _PackageInfoState extends State { widget.isSearchResult ? Container() : Padding( - padding: const EdgeInsets.only(top: 15), - child: StatusTree( - shipmentHistory: _package!.shipmentHistory, - currentStatus: _package!.status), - ), + padding: const EdgeInsets.only(top: 15), + child: StatusTree( + shipmentHistory: _package!.shipmentHistory, + currentStatus: _package!.status), + ), SizedBox( height: 20, ) diff --git a/lib/pages/pickup/model/pickup_model.dart b/lib/pages/pickup/model/pickup_model.dart index 58f072a..7a5d12f 100644 --- a/lib/pages/pickup/model/pickup_model.dart +++ b/lib/pages/pickup/model/pickup_model.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/pickup.dart'; import 'package:fcs/helpers/firebase_helper.dart'; import 'package:fcs/pages/main/model/base_model.dart'; diff --git a/lib/pages/processing/package_editor.dart b/lib/pages/processing/package_editor.dart index d499c1c..e27c0c6 100644 --- a/lib/pages/processing/package_editor.dart +++ b/lib/pages/processing/package_editor.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/market.dart'; import 'package:fcs/domain/entities/package.dart'; import 'package:fcs/domain/entities/user.dart'; diff --git a/lib/pages/shipment/model/shipment_model.dart b/lib/pages/shipment/model/shipment_model.dart index 01d9fd1..5c6612d 100644 --- a/lib/pages/shipment/model/shipment_model.dart +++ b/lib/pages/shipment/model/shipment_model.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/shipment.dart'; import 'package:fcs/helpers/paginator.dart'; import 'package:fcs/pages/main/model/base_model.dart'; diff --git a/lib/pages/shipment/shipment_editor.dart b/lib/pages/shipment/shipment_editor.dart index d70095b..98f969e 100644 --- a/lib/pages/shipment/shipment_editor.dart +++ b/lib/pages/shipment/shipment_editor.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/entities/shipment.dart'; import 'package:fcs/domain/vo/delivery_address.dart'; diff --git a/lib/pages/shipment/shipment_info.dart b/lib/pages/shipment/shipment_info.dart index 8a1906d..7abe9fb 100644 --- a/lib/pages/shipment/shipment_info.dart +++ b/lib/pages/shipment/shipment_info.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/carton.dart'; import 'package:fcs/domain/entities/shipment.dart'; import 'package:fcs/helpers/theme.dart'; diff --git a/lib/pages/staff/model/staff_model.dart b/lib/pages/staff/model/staff_model.dart index 3a2e709..3f7a615 100644 --- a/lib/pages/staff/model/staff_model.dart +++ b/lib/pages/staff/model/staff_model.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:fcs/data/services/services.dart'; -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/domain/vo/privilege.dart'; import 'package:fcs/helpers/firebase_helper.dart'; @@ -83,11 +83,7 @@ class StaffModel extends BaseModel { required bool enablePin, required int? pin}) async { await request("/employee/pin", "PUT", - payload: { - "id": userID, - "enable_pin_login": enablePin, - "pin": pin - }, + payload: {"id": userID, "enable_pin_login": enablePin, "pin": pin}, token: await getToken()); } diff --git a/lib/pages/widgets/status_tree.dart b/lib/pages/widgets/status_tree.dart index 8625a91..0fdb143 100644 --- a/lib/pages/widgets/status_tree.dart +++ b/lib/pages/widgets/status_tree.dart @@ -1,4 +1,4 @@ -import 'package:fcs/domain/constants.dart'; +import 'package:fcs/constants.dart'; import 'package:fcs/domain/vo/shipment_status.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:flutter/material.dart'; @@ -19,7 +19,8 @@ class StatusTree extends StatelessWidget { Widget build(BuildContext context) { return ExpansionTile( initiallyExpanded: true, - shape: Border.symmetric(horizontal: BorderSide(color: Colors.grey.shade300)), + shape: + Border.symmetric(horizontal: BorderSide(color: Colors.grey.shade300)), title: Text( 'Status', style: TextStyle(color: primaryColor, fontWeight: FontWeight.bold), diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 7299b5c..86be7eb 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -7,12 +7,16 @@ #include "generated_plugin_registrant.h" #include +#include #include void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); file_selector_plugin_register_with_registrar(file_selector_linux_registrar); + g_autoptr(FlPluginRegistrar) open_file_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "OpenFileLinuxPlugin"); + open_file_linux_plugin_register_with_registrar(open_file_linux_registrar); g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 786ff5c..c842924 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_linux + open_file_linux url_launcher_linux ) diff --git a/pubspec.lock b/pubspec.lock index b3cba4a..ec5d4d3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,42 +5,47 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 + sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 url: "https://pub.dev" source: hosted - version: "64.0.0" + version: "72.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: fe4c077084ddda88f327dc1c96d16631cd68d4948644593fcbcd911c2c89e2fa + sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" url: "https://pub.dev" source: hosted - version: "1.3.23" + version: "1.3.35" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" analyzer: dependency: transitive description: name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" + sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.7.0" archive: dependency: transitive description: name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.4.10" + version: "3.6.1" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -53,26 +58,26 @@ packages: dependency: transitive description: name: barcode - sha256: "91b143666f7bb13636f716b6d4e412e372ab15ff7969799af8c9e30a382e9385" + sha256: ab180ce22c6555d77d45f0178a523669db67f95856e3378259ef2ffeb43e6003 url: "https://pub.dev" source: hosted - version: "2.2.6" + version: "2.2.8" barcode_scan2: dependency: "direct main" description: name: barcode_scan2 - sha256: "847ff88888213a3b2866d98839ee6d85e4da8002df83e7971d355d24d5f31c4c" + sha256: a2ab566027cd57b2795ea42aa26835dbaa8fe70bcc1aff54942a14d3705dff97 url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.3.3" bidi: dependency: transitive description: name: bidi - sha256: "1a7d0c696324b2089f72e7671fd1f1f64fef44c980f3cebc84e803967c597b63" + sha256: "9a712c7ddf708f7c41b1923aa83648a3ed44cfd75b04f72d598c45e5be287f9d" url: "https://pub.dev" source: hosted - version: "2.0.10" + version: "2.0.12" boolean_selector: dependency: transitive description: @@ -85,66 +90,66 @@ packages: dependency: "direct main" description: name: cached_network_image - sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" + sha256: "4a5d8d2c728b0f3d0245f69f921d7be90cae4c2fd5288f773088672c0893f819" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.4.0" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" + sha256: "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.1.1" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316" + sha256: "6322dde7a5ad92202e64df659241104a43db20ed594c41ca18de1014598d7996" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.3.0" camera: dependency: "direct main" description: name: camera - sha256: "9499cbc2e51d8eb0beadc158b288380037618ce4e30c9acbc4fae1ac3ecb5797" + sha256: dfa8fc5a1adaeb95e7a54d86a5bd56f4bb0e035515354c8ac6d262e35cec2ec8 url: "https://pub.dev" source: hosted - version: "0.10.5+9" + version: "0.10.6" camera_android: dependency: transitive description: name: camera_android - sha256: "351429510121d179b9aac5a2e8cb525c3cd6c39f4d709c5f72dfb21726e52371" + sha256: "32f04948a284b71d938fe275616faf4957d07f9b3aab8021bfc8c418301a289e" url: "https://pub.dev" source: hosted - version: "0.10.8+16" + version: "0.10.9+11" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: "608b56b0880722f703871329c4d7d4c2f379c8e2936940851df7fc041abc6f51" + sha256: "7c28969a975a7eb2349bc2cb2dfe3ad218a33dba9968ecfb181ce08c87486655" url: "https://pub.dev" source: hosted - version: "0.9.13+10" + version: "0.9.17+3" camera_platform_interface: dependency: transitive description: name: camera_platform_interface - sha256: a250314a48ea337b35909a4c9d5416a208d736dcb01d0b02c6af122be66660b0 + sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 url: "https://pub.dev" source: hosted - version: "2.7.4" + version: "2.8.0" camera_web: dependency: transitive description: name: camera_web - sha256: f18ccfb33b2a7c49a52ad5aa3f07330b7422faaecbdfd9b9fe8e51182f6ad67d + sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f" url: "https://pub.dev" source: hosted - version: "0.3.2+4" + version: "0.3.5" characters: dependency: transitive description: @@ -165,26 +170,26 @@ packages: dependency: "direct main" description: name: cloud_firestore - sha256: "6f6a9e7f1c68f34ffe159c911a290fa7caf1a09b8a88aa1534c65f0246953970" + sha256: a0f161b92610e078b4962d7e6ebeb66dc9cce0ada3514aeee442f68165d78185 url: "https://pub.dev" source: hosted - version: "4.15.6" + version: "4.17.5" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface - sha256: "4e92549af19f0d2eec7e379ca44f909caef8eb52295a0cde5467b018cfae0378" + sha256: "6a55b319f8d33c307396b9104512e8130a61904528ab7bd8b5402678fca54b81" url: "https://pub.dev" source: hosted - version: "6.1.7" + version: "6.2.5" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web - sha256: "2b34cff977da11a4822151d967c5e6ce62640cbcb56d6e52a46382d2316350ac" + sha256: "89dfa1304d3da48b3039abbb2865e3d30896ef858e569a16804a99f4362283a9" url: "https://pub.dev" source: hosted - version: "3.10.6" + version: "3.12.5" collection: dependency: transitive description: @@ -253,34 +258,34 @@ packages: dependency: transitive description: name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + sha256: c1fb2dce3c0085f39dc72668e85f8e0210ec7de05345821ff58530567df345a5 url: "https://pub.dev" source: hosted - version: "1.7.2" + version: "1.9.2" cross_file: dependency: transitive description: name: cross_file - sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" url: "https://pub.dev" source: hosted - version: "0.3.3+8" + version: "0.3.4+2" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.8" dbus: dependency: transitive description: @@ -301,18 +306,26 @@ packages: dependency: transitive description: name: device_info_plus_platform_interface - sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 + sha256: "282d3cf731045a2feb66abfe61bbc40870ae50a3ed10a4d3d217556c35c8c2ba" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" dio: dependency: "direct main" description: name: dio - sha256: "49af28382aefc53562459104f64d16b9dfd1e8ef68c862d5af436cc8356ce5a8" + sha256: "5598aa796bbf4699afd5c67c0f5f6e2ed542afc956884b9cd58c306966efc260" url: "https://pub.dev" source: hosted - version: "5.4.1" + version: "5.7.0" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8" + url: "https://pub.dev" + source: hosted + version: "2.0.0" fake_async: dependency: transitive description: @@ -325,10 +338,10 @@ packages: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.3" file: dependency: transitive description: @@ -349,10 +362,10 @@ packages: dependency: transitive description: name: file_selector_macos - sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385 url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.4" file_selector_platform_interface: dependency: transitive description: @@ -365,106 +378,106 @@ packages: dependency: transitive description: name: file_selector_windows - sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + sha256: "2ad726953f6e8affbc4df8dc78b77c3b4a060967a291e528ef72ae846c60fb69" url: "https://pub.dev" source: hosted - version: "0.9.3+1" + version: "0.9.3+2" firebase_auth: dependency: "direct main" description: name: firebase_auth - sha256: "6d8b4455524e2a619a135169a0ae817778d4acf56172188acae85f69f5e67185" + sha256: cfc2d970829202eca09e2896f0a5aa7c87302817ecc0bdfa954f026046bf10ba url: "https://pub.dev" source: hosted - version: "4.17.6" + version: "4.20.0" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - sha256: "3eed984830f610f43164d539ec6228820cf4936ab6ef491e1afcfaca80143c84" + sha256: a0270e1db3b2098a14cb2a2342b3cd2e7e458e0c391b1f64f6f78b14296ec093 url: "https://pub.dev" source: hosted - version: "7.1.6" + version: "7.3.0" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - sha256: fcf4718abc722131218de3b84772d83019be48c9211dbd5998aece716c52ff31 + sha256: "64e067e763c6378b7e774e872f0f59f6812885e43020e25cde08f42e9459837b" url: "https://pub.dev" source: hosted - version: "5.9.6" + version: "5.12.0" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "797379ea206eaeeb62499775de812761493d0692890fdc7f90b6183a3369176d" + sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" url: "https://pub.dev" source: hosted - version: "2.25.5" + version: "2.32.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63 + sha256: e30da58198a6d4b49d5bce4e852f985c32cb10db329ebef9473db2b9f09ce810 url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.3.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: c8e1d59385eee98de63c92f961d2a7062c5d9a65e7f45bdc7f1b0b205aab2492 + sha256: "362e52457ed2b7b180964769c1e04d1e0ea0259fdf7025fdfedd019d4ae2bd88" url: "https://pub.dev" source: hosted - version: "2.11.5" + version: "2.17.5" firebase_messaging: dependency: "direct main" description: name: firebase_messaging - sha256: "1e15c5d90cd1dab98cdd169e258bceece1e98d3855350abe4196146443bbb08a" + sha256: a1662cc95d9750a324ad9df349b873360af6f11414902021f130c68ec02267c4 url: "https://pub.dev" source: hosted - version: "14.7.17" + version: "14.9.4" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface - sha256: "5e00f3e5c8b3f24b082dc20edb0c80d653ca87a87757db71218e045070fc7f8e" + sha256: "87c4a922cb6f811cfb7a889bdbb3622702443c52a0271636cbc90d813ceac147" url: "https://pub.dev" source: hosted - version: "4.5.25" + version: "4.5.37" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web - sha256: "59de3f85715416f97a842f307b54c23540cbba4a109a7125e2150082bb041966" + sha256: "0d34dca01a7b103ed7f20138bffbb28eb0e61a677bf9e78a028a932e2c7322d5" url: "https://pub.dev" source: hosted - version: "3.6.6" + version: "3.8.7" firebase_storage: dependency: "direct main" description: name: firebase_storage - sha256: "261763ebb2722abb8d3c702f467a9efb1f4ac8978a94c03850b80cfa3009c400" + sha256: "2ae478ceec9f458c1bcbf0ee3e0100e4e909708979e83f16d5d9fba35a5b42c1" url: "https://pub.dev" source: hosted - version: "11.6.7" + version: "11.7.7" firebase_storage_platform_interface: dependency: transitive description: name: firebase_storage_platform_interface - sha256: "41e5832d930f668a62aa4fd3dc9778af3a301297170f549b882dad4c5b7d3bc7" + sha256: "4e18662e6a66e2e0e181c06f94707de06d5097d70cfe2b5141bf64660c5b5da9" url: "https://pub.dev" source: hosted - version: "5.1.10" + version: "5.1.22" firebase_storage_web: dependency: transitive description: name: firebase_storage_web - sha256: "5eac3e415e01384e8a5fc92510db61fee3001d7008fa0209ff2290bcd051b6c7" + sha256: "3a44aacd38a372efb159f6fe36bb4a7d79823949383816457fd43d3d47602a53" url: "https://pub.dev" source: hosted - version: "3.7.1" + version: "3.9.7" fixnum: dependency: transitive description: @@ -482,10 +495,10 @@ packages: dependency: "direct main" description: name: flutter_cache_manager - sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.4.1" flutter_datetime_picker: dependency: "direct main" description: @@ -506,26 +519,26 @@ packages: dependency: "direct main" description: name: flutter_local_notifications - sha256: c18f1de98fe0bb9dd5ba91e1330d4febc8b6a7de6aae3ffe475ef423723e72f3 + sha256: "49eeef364fddb71515bc78d5a8c51435a68bccd6e4d68e25a942c5e47761ae71" url: "https://pub.dev" source: hosted - version: "16.3.2" + version: "17.2.3" flutter_local_notifications_linux: dependency: transitive description: name: flutter_local_notifications_linux - sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03" + sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af url: "https://pub.dev" source: hosted - version: "4.0.0+1" + version: "4.0.1" flutter_local_notifications_platform_interface: dependency: transitive description: name: flutter_local_notifications_platform_interface - sha256: "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef" + sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66" url: "https://pub.dev" source: hosted - version: "7.0.0+1" + version: "7.2.0" flutter_localizations: dependency: "direct main" description: flutter @@ -535,26 +548,26 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: a64c5323ac83ed2b7940d2b6288d160aa1753ff271ba9d9b2a86770414aa3eab + sha256: "04c4722cc36ec5af38acc38ece70d22d3c2123c61305d555750a091517bbe504" url: "https://pub.dev" source: hosted - version: "0.6.20+1" + version: "0.6.23" flutter_pdfview: dependency: "direct main" description: name: flutter_pdfview - sha256: a9055bf920c7095bf08c2781db431ba23577aa5da5a056a7152dc89a18fbec6f + sha256: "6b625b32a9102780236554dff42f2d798b4627704ab4a3153c07f2134a52b697" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + sha256: "9ee02950848f61c4129af3d6ec84a1cfc0e47931abc746b03e7a3bc3e8ff6eda" url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.0.22" flutter_test: dependency: "direct dev" description: flutter @@ -585,10 +598,10 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" glob: dependency: transitive description: @@ -625,10 +638,10 @@ packages: dependency: transitive description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.2" http_multi_server: dependency: transitive description: @@ -649,42 +662,42 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" image_picker: dependency: "direct main" description: name: image_picker - sha256: "26222b01a0c9a2c8fe02fc90b8208bd3325da5ed1f4a2acabf75939031ac0bdd" + sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" url: "https://pub.dev" source: hosted - version: "1.0.7" + version: "1.1.2" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" + sha256: c0a6763d50b354793d0192afd0a12560b823147d3ded7c6b77daf658fa05cc85 url: "https://pub.dev" source: hosted - version: "0.8.9+3" + version: "0.8.12+13" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: e2423c53a68b579a7c37a1eda967b8ae536c3d98518e5db95ca1fe5719a730a3 + sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.5" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 + sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" url: "https://pub.dev" source: hosted - version: "0.8.9+1" + version: "0.8.12" image_picker_linux: dependency: transitive description: @@ -705,10 +718,10 @@ packages: dependency: transitive description: name: image_picker_platform_interface - sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b + sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" url: "https://pub.dev" source: hosted - version: "2.9.3" + version: "2.10.0" image_picker_windows: dependency: transitive description: @@ -721,10 +734,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" io: dependency: transitive description: @@ -737,34 +750,34 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" logging: dependency: "direct main" description: @@ -773,14 +786,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" markdown: dependency: transitive description: name: markdown - sha256: "1b134d9f8ff2da15cb298efe6cd8b7d2a78958c1b00384ebcbdf13fe340a6c90" + sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051 url: "https://pub.dev" source: hosted - version: "7.2.1" + version: "7.2.2" matcher: dependency: transitive description: @@ -793,26 +814,26 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.0.6" nested: dependency: transitive description: @@ -833,18 +854,74 @@ packages: dependency: transitive description: name: octo_image - sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d" + sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.0" open_file: dependency: "direct main" description: name: open_file - sha256: a5a32d44acb7c899987d0999e1e3cbb0a0f1adebbf41ac813ec6d2d8faa0af20 + sha256: a5ef7162fb9b72955d42abab9f3159b2fd3ee81a27187535c8038dcd5d1fa7f2 url: "https://pub.dev" source: hosted - version: "3.3.2" + version: "3.5.4" + open_file_android: + dependency: transitive + description: + name: open_file_android + sha256: b5e1a2e9c5ea8e256b015403e94299039627c7205c2a5e6bb426c33235b6ca9a + url: "https://pub.dev" + source: hosted + version: "1.0.2" + open_file_ios: + dependency: transitive + description: + name: open_file_ios + sha256: "8d9c03495cf14ca70bdbf191894b822ba3b2629cc0046ee311cbbe504db66c44" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + open_file_linux: + dependency: transitive + description: + name: open_file_linux + sha256: cd2088722048b9c40f8615c6d83005fe0726e0e447e9cdfb40c2b65477291f7d + url: "https://pub.dev" + source: hosted + version: "0.0.4" + open_file_mac: + dependency: transitive + description: + name: open_file_mac + sha256: "9d809f528cccc6dc9390caf50893eae9a6944e0f3b8a2558c7ad19e91c9244a1" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + open_file_platform_interface: + dependency: transitive + description: + name: open_file_platform_interface + sha256: "14c50efb1a9667cb96e4fa68d601e6ad348fe337b02789834029b37ae3631498" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + open_file_web: + dependency: transitive + description: + name: open_file_web + sha256: ba35c6f38c21c2bb4268a80927bb828353dda0edfce92e274e0b9639e4f31360 + url: "https://pub.dev" + source: hosted + version: "0.0.2" + open_file_windows: + dependency: transitive + description: + name: open_file_windows + sha256: "2f4318d2d3958ec8d63b6dd4430c15b1fcb2fe7a2113e83c734584501a5c6d81" + url: "https://pub.dev" + source: hosted + version: "0.0.2" package_config: dependency: transitive description: @@ -881,26 +958,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.10" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -921,58 +998,58 @@ packages: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" pdf: dependency: "direct main" description: name: pdf - sha256: "243f05342fc0bdf140eba5b069398985cdbdd3dbb1d776cf43d5ea29cc570ba6" + sha256: "05df53f8791587402493ac97b9869d3824eccbc77d97855f4545cf72df3cae07" url: "https://pub.dev" source: hosted - version: "3.10.8" + version: "3.11.1" permission_handler: dependency: "direct main" description: name: permission_handler - sha256: "74e962b7fad7ff75959161bb2c0ad8fe7f2568ee82621c9c2660b751146bfe44" + sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb" url: "https://pub.dev" source: hosted - version: "11.3.0" + version: "11.3.1" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" + sha256: "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa" url: "https://pub.dev" source: hosted - version: "12.0.5" + version: "12.0.12" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: bdafc6db74253abb63907f4e357302e6bb786ab41465e8635f362ee71fd8707b + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 url: "https://pub.dev" source: hosted - version: "9.4.0" + version: "9.4.5" permission_handler_html: dependency: transitive description: name: permission_handler_html - sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" + sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851 url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "0.1.3+2" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: "23dfba8447c076ab5be3dee9ceb66aad345c4a648f0cac292c77b1eb0e800b78" + sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.2.3" permission_handler_windows: dependency: transitive description: @@ -1001,18 +1078,18 @@ packages: dependency: "direct main" description: name: pin_input_text_field - sha256: "8d6fc670aa673a4df5976086f0e8039972a5b2bcb783c8db8dd3b9b4b072ca90" + sha256: f45683032283d30b670ec343781660655e3e1953438b281a0bc6e2d358486236 url: "https://pub.dev" source: hosted - version: "4.5.1" + version: "4.5.2" platform: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -1021,14 +1098,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" - url: "https://pub.dev" - source: hosted - version: "3.7.4" pool: dependency: transitive description: @@ -1056,10 +1125,10 @@ packages: dependency: "direct main" description: name: provider - sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.2" pub_semver: dependency: transitive description: @@ -1072,10 +1141,10 @@ packages: dependency: transitive description: name: qr - sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3" + sha256: "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" qr_flutter: dependency: "direct main" description: @@ -1088,10 +1157,10 @@ packages: dependency: transitive description: name: rxdart - sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" url: "https://pub.dev" source: hosted - version: "0.27.7" + version: "0.28.0" share: dependency: "direct main" description: @@ -1104,58 +1173,58 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.2" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" + sha256: "480ba4345773f56acda9abf5f50bd966f581dac5d514e5fc4a18c62976bbba7e" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.2" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" + sha256: c4b35f6cb8f63c147312c054ce7c2254c8066745125264f0c88739c417fc9d9f url: "https://pub.dev" source: hosted - version: "2.3.5" + version: "2.5.2" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" + sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.4.2" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shelf: dependency: transitive description: @@ -1176,18 +1245,18 @@ packages: dependency: transitive description: name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" sky_engine: dependency: transitive description: flutter @@ -1197,10 +1266,10 @@ packages: dependency: transitive description: name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" source_maps: dependency: transitive description: @@ -1229,18 +1298,18 @@ packages: dependency: transitive description: name: sqflite - sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6 + sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.3+1" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5" + sha256: "4058172e418eb7e7f2058dcb7657d451a8fc264afa0dea4dbd0f304a57131611" url: "https://pub.dev" source: hosted - version: "2.5.3" + version: "2.5.4+3" stack_trace: dependency: transitive description: @@ -1277,10 +1346,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + sha256: "51b08572b9f091f8c3eb4d9d4be253f196ff0075d5ec9b10a884026d5b55d7bc" url: "https://pub.dev" source: hosted - version: "3.1.0+1" + version: "3.3.0+2" term_glyph: dependency: transitive description: @@ -1293,26 +1362,26 @@ packages: dependency: "direct dev" description: name: test - sha256: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + sha256: "7ee44229615f8f642b68120165ae4c2a75fe77ae2065b1e55ae4711f6cf0899e" url: "https://pub.dev" source: hosted - version: "1.24.9" + version: "1.25.7" test_api: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.2" test_core: dependency: transitive description: name: test_core - sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + sha256: "55ea5a652e38a1dfb32943a7973f3681a60f872f8c3a05a14664ad54ef9c6696" url: "https://pub.dev" source: hosted - version: "0.5.9" + version: "0.6.4" timeline_list: dependency: "direct main" description: @@ -1325,10 +1394,10 @@ packages: dependency: transitive description: name: timezone - sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" + sha256: "2236ec079a174ce07434e89fcd3fcda430025eb7692244139a9cf54fdcf1fc7d" url: "https://pub.dev" source: hosted - version: "0.9.2" + version: "0.9.4" typed_data: dependency: transitive description: @@ -1341,42 +1410,42 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.0" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 + sha256: e35a698ac302dd68e41f73250bd9517fe3ab5fa4f18fe4647a0872db61bacbab url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.10" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03" + sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e url: "https://pub.dev" source: hosted - version: "6.2.4" + version: "6.3.1" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.0" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: @@ -1389,26 +1458,26 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 + sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" uuid: dependency: "direct main" description: name: uuid - sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 + sha256: f33d6bb662f0e4f79dcd7ada2e6170f3b3a2530c28fc41f49a411ddedd576a77 url: "https://pub.dev" source: hosted - version: "4.3.3" + version: "4.5.0" vector_math: dependency: transitive description: @@ -1421,10 +1490,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.5" watcher: dependency: transitive description: @@ -1437,18 +1506,26 @@ packages: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "3.0.1" webkit_inspection_protocol: dependency: transitive description: @@ -1461,18 +1538,18 @@ packages: dependency: transitive description: name: win32 - sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" + sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.5.4" win32_registry: dependency: transitive description: name: win32_registry - sha256: "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a" + sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.5" xdg_directories: dependency: transitive description: @@ -1498,5 +1575,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.5.0 <4.0.0" + flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index c6132dd..afcc8ce 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: fcs description: FCS Logistics publish_to: 'none' -version: 1.0.6+10 +version: 1.0.9+11 environment: sdk: '>=3.0.6 <4.0.0' @@ -30,7 +30,7 @@ dependencies: dio: ^5.4.0 package_info: ^2.0.2 google_api_availability: ^5.0.0 - intl: ^0.18.1 + intl: ^0.19.0 font_awesome_flutter: ^10.6.0 photo_view: ^0.14.0 uuid: ^4.2.2 @@ -49,7 +49,7 @@ dependencies: timeline_list: ^0.0.5 barcode_scan2: ^4.1.4 flutter_pdfview: ^1.2.1 - flutter_local_notifications: ^16.3.2 + flutter_local_notifications: ^17.2.3 share: ^2.0.4 cached_network_image: ^3.3.1 flutter_cache_manager: ^3.1.2