addReview function
Implementation
Future<BusinessReviewsModel?> addReview({
required Map<String, dynamic> requestMap,
List<File>? imageFile,
// VoidCallback? onSuccess,
}) async {
BusinessReviewsModel? response;
MultipartRequest multiPartRequest = await getMultiPartRequest(APIEndPoint.addBusinessReviews);
multiPartRequest.fields.addAll(await getMultipartFields(val: requestMap));
multiPartRequest.headers.addAll(buildHeaderTokens());
if (imageFile.validate().isNotEmpty) {
multiPartRequest.files.addAll(await getMultipartImages(files: imageFile.validate(), name: AddListingKeys.reviewAttchment));
multiPartRequest.fields[AddListingKeys.attachmentCount] = imageFile.validate().length.toString();
}
log("${multiPartRequest.fields}");
log("Multi Part Request : ${jsonEncode(multiPartRequest.fields)} ${multiPartRequest.files.map((e) => e.field + ": " + e.filename.validate())}");
await sendMultiPartRequest(multiPartRequest, onSuccess: (temp) async {
log("Response: ${jsonDecode(temp)}");
response = BusinessReviewsModel.fromJson(jsonDecode(temp));
toast(response?.message);
// onSuccess?.call();
}, onError: (error) {
// toast(error.toString(), print: true);
response = BusinessReviewsModel.fromJson(jsonDecode(error));
appStore.setLoading(false);
}).catchError((e) {
appStore.setLoading(false);
toast(e.toString());
});
return response;
}