import 'dart:async'; import 'package:fcs/domain/entities/shipment.dart'; import 'package:fcs/helpers/api_helper.dart'; import 'package:fcs/helpers/firebase_helper.dart'; import 'package:logging/logging.dart'; class ShipmentDataProvider { final log = Logger('ShipmentDataProvider'); static final ShipmentDataProvider instance = ShipmentDataProvider._(); ShipmentDataProvider._(); Future createShipment(Shipment shipment) async { return await requestAPI("/shipments", "POST", payload: shipment.toMap(), token: await getToken()); } Future updateShipment(Shipment shipment) async { return await requestAPI("/shipments", "PUT", payload: shipment.toMap(), token: await getToken()); } Future cancelShipment(Shipment shipment) async { return await requestAPI("/shipments/cancel", "PUT", payload: shipment.toMap(), token: await getToken()); } Future assignShipment(Shipment shipment) async { return await requestAPI("/shipments/assign", "PUT", payload: shipment.toMap(), token: await getToken()); } Future completeAssignShipment(Shipment shipment) async { return await requestAPI("/shipments/assign/complete", "PUT", payload: shipment.toMap(), token: await getToken()); } Future completePickupShipment(Shipment shipment) async { return await requestAPI("/shipments/pickup/complete", "PUT", payload: shipment.toMap(), token: await getToken()); } Future packShipment(Shipment shipment) async { return await requestAPI("/shipments/pack", "PUT", payload: shipment.toMap(), token: await getToken()); } Future completePackShipment(Shipment shipment) async { return await requestAPI("/shipments/pack/complete", "PUT", payload: shipment.toMap(), token: await getToken()); } Future confirmShipment(Shipment shipment) async { return await requestAPI("/shipments/confirm", "PUT", payload: shipment.toMap(), token: await getToken()); } Future completeConfirmShipment(Shipment shipment) async { return await requestAPI("/shipments/confirm/complete", "PUT", payload: shipment.toMap(), token: await getToken()); } Future completeReceiveShipment(Shipment shipment) async { return await requestAPI("/shipments/receive/complete", "PUT", payload: shipment.toMap(), token: await getToken()); } Future pickupShipment(Shipment shipment) async { return await requestAPI("/shipment_pickup", "PUT", payload: shipment.toMap(), token: await getToken()); } Future receiveShipment(Shipment shipment) async { return await requestAPI("/shipment_receive", "PUT", payload: shipment.toMap(), token: await getToken()); } }