Files
fcs/lib/data/provider/pickup_data_provider.dart

50 lines
1.3 KiB
Dart
Raw Normal View History

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';
2021-10-09 17:08:28 +06:30
import '../../config.dart';
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(),
url: Config.instance.reportURL,
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
}