createTaskAttachment method

Future<ClickUpTaskAttachment?> createTaskAttachment({
  1. required Uint8List pngBytes,
  2. required String fileName,
  3. required String taskId,
})

Implementation

Future<ClickUpTaskAttachment?> createTaskAttachment(
    {required Uint8List pngBytes,
    required String fileName,
    required String taskId}) async {
  var formData = FormData();
  formData.files.add(MapEntry(
      'attachment', MultipartFile.fromBytes(pngBytes, filename: fileName)));

  ClickUpTaskAttachment? taskAttachment;
  try {
    Response taskAttachmentData =
        await _dio.post('/task/$taskId/attachment', data: formData);
    if (kDebugMode) {
      print('Task Attachment Info: ${taskAttachmentData.data}');
    }
    taskAttachment = ClickUpTaskAttachment.fromJson(taskAttachmentData.data);
  } on DioError catch (e) {
    if (kDebugMode) {
      if (e.response != null) {
        print('Dio error!');
        print('STATUS: ${e.response?.statusCode}');
        print('DATA: ${e.response?.data}');
        print('HEADERS: ${e.response?.headers}');
      } else {
        print('Error sending request!');
        print(e.message);
      }
    } else {
      rethrow;
    }
  }
  return taskAttachment;
}