addPhotosApi function

Future<CommonModel?> addPhotosApi(
  1. {required Map<String, dynamic> value,
  2. List<File>? imageFile}
)

Implementation

Future<CommonModel?> addPhotosApi({required Map<String, dynamic> value, List<File>? imageFile}) async {
  CommonModel? res;

  MultipartRequest multiPartRequest = await getMultiPartRequest(APIEndPoint.addPost);

  multiPartRequest.fields.addAll(await getMultipartFields(val: value));

  if (imageFile.validate().isNotEmpty) {
    multiPartRequest.files.addAll(await getMultipartImages(files: imageFile.validate(), name: AddPhoto.photoAttachment));
    multiPartRequest.fields[AddPhoto.attachmentCount] = imageFile.validate().length.toString();
  }

  log("${multiPartRequest.fields}");

  multiPartRequest.headers.addAll(buildHeaderTokens());

  log("Multi Part Request : ${jsonEncode(multiPartRequest.fields)} ${multiPartRequest.files.map((e) => e.field + ": " + e.filename.validate())}");

  appStore.setLoading(true);

  await sendMultiPartRequest(multiPartRequest, onSuccess: (temp) async {
    appStore.setLoading(false);

    log("Response: ${jsonDecode(temp)}");

    toast(jsonDecode(temp)['message'], print: true);
    res = CommonModel.fromJson(jsonDecode(temp));
  }, onError: (error) {
    // toast(error.toString(), print: true);
    appStore.setLoading(false);
    res = CommonModel.fromJson(jsonDecode(error));
  }).catchError((e) {
    appStore.setLoading(false);
    toast(e.toString());
  });
  return res;
}