diff options
author | desperateCoder <echotodevnull@gmail.com> | 2019-12-09 22:56:24 +0300 |
---|---|---|
committer | desperateCoder <echotodevnull@gmail.com> | 2019-12-09 22:56:24 +0300 |
commit | 14f2cdf29495ddc86d52cac4e18ccc742a7a48f6 (patch) | |
tree | c433625b946b7aaee078e982a25b80ff5e1738c3 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java | |
parent | 92fba9b0b4dbbf37a25abaebea696f08fb8df0ab (diff) |
#211 Attachments: WIP
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java index 150662988..b59cbcc63 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java @@ -45,6 +45,7 @@ import it.niedermann.nextcloud.deck.util.DateUtil; import okhttp3.MediaType; import okhttp3.MultipartBody; import okhttp3.RequestBody; +import okhttp3.ResponseBody; public class ServerAdapter { @@ -276,8 +277,31 @@ public class ServerAdapter { MultipartBody.Part typePart = MultipartBody.Part.createFormData("type", attachment.getName(), RequestBody.create(MediaType.parse("text/plain"), "deck_file")); RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().uploadAttachment(remoteBoardId, remoteStackId, remoteCardId, typePart, filePart), responseCallback); } + + public void getAttachmentsForCard(Long remoteBoardId, long remoteStackId, long remoteCardId, String contentType, Uri attachmentUri, IResponseCallback<List<Attachment>> responseCallback) { + ensureInternetConnection(); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().getAttachments(remoteBoardId, remoteStackId, remoteCardId), responseCallback); + } + + public void updateAttachment(Long remoteBoardId, long remoteStackId, long remoteCardId, long remoteAttachmentId, String contentType, Uri attachmentUri, IResponseCallback<Attachment> responseCallback) { + ensureInternetConnection(); + File attachment = new File(attachmentUri.getPath()); + MultipartBody.Part filePart = MultipartBody.Part.createFormData("file", attachment.getName(), RequestBody.create(MediaType.parse(contentType), attachment)); + MultipartBody.Part typePart = MultipartBody.Part.createFormData("type", attachment.getName(), RequestBody.create(MediaType.parse("text/plain"), "deck_file")); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().updateAttachment(remoteBoardId, remoteStackId, remoteCardId, remoteAttachmentId, typePart, filePart), responseCallback); + } + + public void downloadAttachment(Long remoteBoardId, long remoteStackId, long remoteCardId, long remoteAttachmentId, IResponseCallback<ResponseBody> responseCallback) { + ensureInternetConnection(); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().downloadAttachment(remoteBoardId, remoteStackId, remoteCardId, remoteAttachmentId), responseCallback); + } + public void deleteAttachment(Long remoteBoardId, long remoteStackId, long remoteCardId, long remoteAttachmentId, IResponseCallback<Void> responseCallback) { ensureInternetConnection(); RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().deleteAttachment(remoteBoardId, remoteStackId, remoteCardId, remoteAttachmentId), responseCallback); } + public void restoreAttachment(Long remoteBoardId, long remoteStackId, long remoteCardId, long remoteAttachmentId, IResponseCallback<Attachment> responseCallback) { + ensureInternetConnection(); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().restoreAttachment(remoteBoardId, remoteStackId, remoteCardId, remoteAttachmentId), responseCallback); + } } |