Aidra Driver 1.3.5+68
Aidra Driver - Your path to green energy
Loading...
Searching...
No Matches
collection_remote_datasource.dart
Go to the documentation of this file.
1import 'dart:developer';
2
3import '../../../../core/api/api_client.dart';
4import '../../../../core/api/api_endpoints.dart';
5import '../../../../core/services/service_locator.dart';
6import '../../../../core/common/models/collection_model.dart';
7import '../models/req/req_collection_confirmation_model.dart';
8import '../models/req/req_collection_information_model.dart';
9import '../models/req/req_collection_payment_model.dart';
10import '../models/req/req_collection_rating_model.dart';
11import '../models/req/req_collection_validation_model.dart';
12import '../models/res/res_cancelation_reason_model.dart';
13import '../models/res/res_collection_confirmation_model.dart';
14import '../models/res/res_collection_contact_model.dart';
15import '../models/res/res_collection_rating_reason_model.dart';
16import '../models/res/res_collection_status_model.dart';
17import '../models/res/res_collection_information_model.dart';
18import '../models/res/res_partner_payment_model.dart';
19
22
23 Future<List<CollectionModel>> getCollections({
24 required int userId,
25 required bool notForToday,
26 required String? type,
27 }) async {
28 final response = await apiClient.get(
29 path: ApiEndpoints.getCollections(
32 type: type,
33 ),
34 );
35 if (response is List) {
36 final collections = response
37 .map(
38 (json) => CollectionModel.fromJson(json),
39 )
40 .toList();
41 // collections.sort();
42 return collections;
43 }
44 return [];
45 }
46
47 Future<ResCollectionStatusModel> updateCollectionStatus({
48 required int collectionId,
49 required String status,
50 required String? cancelationReasonId,
51 }) async {
52 final response = await apiClient.post(
53 path: ApiEndpoints.updateCollectionStatus,
54 data: {
55 'id': collectionId.toString(),
56 'status': status,
57 if (cancelationReasonId != null)
58 'cancelationReason': {
59 'id': cancelationReasonId.toString(),
60 },
61 },
62 );
63 return ResCollectionStatusModel.fromJson(response);
64 }
65
66 Future<List<ResCancelationReasonModel>> getCollectionCancelationReasons() async {
67 final response = await apiClient.get(path: ApiEndpoints.getCollectionCancelationReasons);
68 if (response is List) {
69 return response
70 .map(
71 (json) => ResCancelationReasonModel.fromJson(json),
72 )
73 .toList();
74 }
75 return [];
76 }
77
78 Future<ResCollectionInformationModel> sendCollectionsInformation({
79 required ReqCollectionInformationModel reqInformationCollectionModel,
80 }) async {
81 final response = await apiClient.post(
82 path: ApiEndpoints.sendCollectionsInformation,
83 data: reqInformationCollectionModel.toJson(),
84 );
85 return ResCollectionInformationModel.fromJson(response);
86 }
87
88 Future<void> validateCollection({
89 required ReqCollectionValidationModel reqValidationCollectionModel,
90 }) async {
91 final test = await apiClient.post(
92 path: ApiEndpoints.validateCollection,
93 data: reqValidationCollectionModel.toJson(),
94 );
95 log(test.toString());
96 }
97
98 Future<ResCollectionConfirmationModel> sendCollectionConfirmation({
99 required ReqCollectionConfirmationModel reqCollectionConfirmationModel,
100 }) async {
101 final response = await apiClient.post(
102 path: ApiEndpoints.sendCollectionConfirmation,
103 data: reqCollectionConfirmationModel.toJson(),
104 );
105 return ResCollectionConfirmationModel.fromJson(response);
106 }
107
109 required ReqCollectionPaymentModel reqCollectionPaymentModel,
110 }) async {
111 final response = await apiClient.post(
112 path: ApiEndpoints.sendCollectionPayment,
113 data: reqCollectionPaymentModel.toJson(),
114 );
115 return response['success'];
116 }
117
118 Future<void> sendCollectionRating({
119 required ReqCollectionRatingModel reqCollectionRatingModel,
120 }) async {
121 final response = await apiClient.post(
122 path: ApiEndpoints.sendCollectionRating,
123 data: reqCollectionRatingModel.toJson(),
124 );
125 return response['success'];
126 }
127
128 Future<List<ResCollectionContactModel>> getCollectionContactList({
129 required int restaurentId,
130 }) async {
131 final response = await apiClient.get(
132 path: ApiEndpoints.getCollectionContactList(
134 ),
135 );
136 if (response is List) {
137 return response.map(
138 (json) => ResCollectionContactModel.fromJson(json),
139 ).toList();
140 }
141 return [];
142 }
143
144 Future<List<ResCollectionRatingReasonModel>> getRatingReasons() async {
145 final response = await apiClient.get(path: ApiEndpoints.ratingReasons);
146 if (response is List) {
147 return response
148 .map(
149 (json) => ResCollectionRatingReasonModel.fromJson(json),
150 )
151 .toList();
152 }
153 return [];
154 }
155
156 Future<List<ResPartnerPaymentModel>> getCollectionPaymentModeList({
157 required int restaurentId,
158 }) async {
159 final response = await apiClient.get(
160 path: ApiEndpoints.getCollectionPaymentModeList(
162 ),
163 );
164 if (response is List) {
165 final paymentModes = response.map(
166 (json) => ResPartnerPaymentModel.fromJson(json),
167 ).toList();
168 return paymentModes;
169 }
170 return [];
171 }
172}
sealed class CheckInOutEvent extends Equatable userId
Future< List< ResPartnerPaymentModel > > getCollectionPaymentModeList({ required int restaurentId, }) async
Future< ResCollectionConfirmationModel > sendCollectionConfirmation({ required ReqCollectionConfirmationModel reqCollectionConfirmationModel, }) async
Future< ResCollectionStatusModel > updateCollectionStatus({ required int collectionId, required String status, required String? cancelationReasonId, }) async
Future< void > sendCollectionPayment({ required ReqCollectionPaymentModel reqCollectionPaymentModel, }) async
Future< void > sendCollectionRating({ required ReqCollectionRatingModel reqCollectionRatingModel, }) async
Future< List< ResCancelationReasonModel > > getCollectionCancelationReasons() async
Future< void > validateCollection({ required ReqCollectionValidationModel reqValidationCollectionModel, }) async
Future< List< ResCollectionRatingReasonModel > > getRatingReasons() async
Future< ResCollectionInformationModel > sendCollectionsInformation({ required ReqCollectionInformationModel reqInformationCollectionModel, }) async
Future< List< CollectionModel > > getCollections({ required int userId, required bool notForToday, required String? type, }) async
Future< List< ResCollectionContactModel > > getCollectionContactList({ required int restaurentId, }) async
class UpdateCollectionStatusEvent extends CollectionsEvent collectionId
final String type
final bool notForToday
class GetCollectionContactListEvent extends CollectionsInformationEvent restaurentId
class CollectionLowRatingReasonsError extends CollectionsInformationState paymentModes
sealed class CollectionsState extends Equatable collections
final String path
class Partner String
ResPartnerPaymentModel({ required super.partnerId, required ResPaymentModeModel super.paymentModeId, })
final sl