uploadFiles method

Future<Either<BaseException, List<FileModel>>> uploadFiles(
  1. List<FileModel> fileModels
)

Implementation

Future<Either<BaseException, List<FileModel>>> uploadFiles(List<FileModel> fileModels) {
  List<File> files = [];
  for (final file in fileModels) {
    if (file.file != null) {
      files.add(file.file!);
    }
  }

  return upload(
    FileUrls.uploadUrl,
    files: files,
    mapper: (json) {
      final fileIds = List<String>.from((json ?? []).map((e) => e));

      for (int i = 0; i < fileIds.length; i++) {
        fileModels.elementAtOrNull(i)?.id = fileIds.elementAtOrNull(i) ?? '';
      }

      return fileModels;
    },
  );
}