Aidra Driver 1.3.5+68
Aidra Driver - Your path to green energy
Loading...
Searching...
No Matches
planning_remote_datasource.dart
Go to the documentation of this file.
1import 'dart:convert';
2import 'dart:developer';
3
4import '../../../../core/api/api_client.dart';
5import '../../../../core/api/api_endpoints.dart';
6import '../../../../core/services/service_locator.dart';
7import '../models/req/req_create_routing_model.dart';
8import '../models/req/req_create_driver_collection_model.dart';
9import '../models/res/res_weekly_collection_model.dart';
10import '../models/res/res_create_routing_model.dart';
11import '../models/res/res_collection_to_schedule_model.dart';
12
15
16 Future<List<ResWeeklyCollectionModel>> getWeeklyCollections({
17 required int userId,
18 required String startDate,
19 required String endDate,
20 }) async {
21 final response = await apiClient.get(
22 url: ApiEndpoints.getWeeklyCollectionsUrl(
24 ),
25 );
26 if (response is List) {
27 final collections = response.map(
28 (json) => ResWeeklyCollectionModel.fromJson(json),
29 ).toList();
30 return collections;
31 }
32 return [];
33 }
34
35 Future<ResCreateRoutingModel> createRouting(ReqCreateRoutingModel request) async {
36 log('createRouting: ${jsonEncode(request.toJson())}');
37 final response = await apiClient.post(
38 url: ApiEndpoints.createRouting,
39 data: request.toJson(),
40 );
41 return ResCreateRoutingModel.fromJson(response);
42 }
43
44 Future<void> validateScheduler({
45 required String timeStringValue,
46 required int driverId,
47 }) async {
48 final body = {
49 'timeStringValue': timeStringValue,
50 'drivers': [
51 {'id': driverId},
52 ],
53 };
54 await apiClient.post(
55 url: ApiEndpoints.validateSchedulerDriver,
56 data: body,
57 );
58 }
59
61 log('createDriverCollection: ${jsonEncode(request.toJson())}');
62 await apiClient.post(
63 url: ApiEndpoints.createDriverCollection,
64 data: request.toJson(),
65 );
66 return true;
67 }
68
69 Future<List<ResCollectionToScheduleModel>> getCollectionsToSchedule({
70 required String startDate,
71 required String endDate,
72 required int driverId,
73 }) async {
74 final response = await apiClient.get(
75 url: ApiEndpoints.getCollectionsToSchedule(
79 ),
80 );
81 if (response is List) {
82 final collections = response.map(
83 (json) => ResCollectionToScheduleModel.fromJson(json),
84 ).toList();
85 return collections;
86 }
87 return [];
88 }
89}
sealed class CheckInOutEvent extends Equatable userId
Future< List< ResWeeklyCollectionModel > > getWeeklyCollections({ required int userId, required String startDate, required String endDate, }) async
Future< bool > createDriverCollection(ReqCreateDriverCollectionModel request) async
Future< List< ResCollectionToScheduleModel > > getCollectionsToSchedule({ required String startDate, required String endDate, required int driverId, }) async
Future< void > validateScheduler({ required String timeStringValue, required int driverId, }) async
Future< ResCreateRoutingModel > createRouting(ReqCreateRoutingModel request) async
sealed class CollectionsState extends Equatable collections
abstract class CollectionsToScheduleEvent extends Equatable request
final String startDate
final String endDate
class Partner String
const ReqCreateDriverCollectionModel({ required super.collectionPoints, required super.user, })
class RouteStopModel extends RouteStopEntity ResCreateRoutingModel({ required super.numLateVisits, required super.numUnserved, required super.solution, required super.status, required super.totalBreakTime, required super.totalIdleTime, required super.totalTravelTime, required super.totalVehicleOvertime, required super.totalVisitLateness, required super.totalWorkingTime, required super.vehicleOvertime, })
final sl