2021-10-09 09:27:51 +06:30
|
|
|
import 'dart:convert';
|
|
|
|
|
|
|
|
|
|
import 'package:fcs/domain/entities/pickup.dart';
|
|
|
|
|
import 'package:fcs/helpers/api_helper.dart';
|
|
|
|
|
import 'package:fcs/helpers/firebase_helper.dart';
|
|
|
|
|
import 'package:logging/logging.dart';
|
2024-10-07 20:42:45 +06:30
|
|
|
import '../services/services.dart';
|
2021-10-09 17:08:28 +06:30
|
|
|
|
2021-10-09 09:27:51 +06:30
|
|
|
class PickupDataProvider {
|
|
|
|
|
final log = Logger('PickupDataProvider');
|
|
|
|
|
static final PickupDataProvider instance = PickupDataProvider._();
|
|
|
|
|
PickupDataProvider._();
|
|
|
|
|
|
|
|
|
|
Future<void> completePickup(Pickup pickup) async {
|
|
|
|
|
return await requestAPI("/pickups/complete", "PUT",
|
|
|
|
|
payload: pickup.toMapForComplete(), token: await getToken());
|
|
|
|
|
}
|
2021-10-09 17:08:28 +06:30
|
|
|
|
|
|
|
|
Future<List<Pickup>> searchPickup(String term) async {
|
2024-01-23 16:28:08 +06:30
|
|
|
if (term == '') return [];
|
2021-10-09 17:08:28 +06:30
|
|
|
|
|
|
|
|
List<Pickup> pickups = [];
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
var data = {
|
|
|
|
|
"filters": [
|
|
|
|
|
{
|
|
|
|
|
"field": "pickup_number",
|
|
|
|
|
"compare": "like",
|
|
|
|
|
"value": "%" + term.toUpperCase() + "%"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
};
|
|
|
|
|
var result = await requestAPI("/api/data/pickups", "POST",
|
|
|
|
|
token: await getToken(),
|
2024-10-07 20:42:45 +06:30
|
|
|
url: Services.setting.reportURL,
|
2021-10-09 17:08:28 +06:30
|
|
|
payload: jsonEncode(data));
|
|
|
|
|
if (result == null) return pickups;
|
|
|
|
|
result.forEach((d) {
|
|
|
|
|
var package = Pickup.fromJson(d);
|
|
|
|
|
pickups.add(package);
|
|
|
|
|
});
|
|
|
|
|
} catch (e) {
|
|
|
|
|
log.warning("Error >>>>${e.toString()}");
|
|
|
|
|
}
|
|
|
|
|
return pickups;
|
|
|
|
|
}
|
2021-10-09 09:27:51 +06:30
|
|
|
}
|