From 7bee6dcc04b027f596559c8eaf50ad194981cc0c Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Wed, 13 Jul 2022 18:54:36 +0200 Subject: [PATCH] Better handling of options in buckets listing --- appwrite.el | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/appwrite.el b/appwrite.el index b4089a2..1f51b77 100644 --- a/appwrite.el +++ b/appwrite.el @@ -324,15 +324,19 @@ acquired JSON. Otherwise, return nil and warn the user." (setq payload (append payload `(limit ,limit))) (when offset (setq payload (append payload `(offset ,offset)))) (when cursor (setq payload (append payload `(cursor ,cursor)))) - (when cursor-direction (setq payload (append payload `(cursor-direction ,cursor-direction)))) - (when order-type (setq payload (append payload `(order-type ,order-type)))) - (let* ((response (appwrite--query-api :api "/v1/storage/buckets" - :payload (json-encode-plist payload))) - (status (car response)) - (json (cdr response))) - (if (eq 200 status) - json - (appwrite--message-failure "Failed to list buckets" 200 (gethash "message" json)))))) + (when-let ((direction (pcase cursor-direction + ('before "before") + ('after "after") + (_ nil)))) + (setq payload (append payload `(cursorDirection ,direction)))) + (when-let ((order (pcase order-type + ('ascending "ASC") + ('descending "DESC") + (_ nil)))) + (setq payload (append payload `(orderType ,order)))) + (let ((response (appwrite--query-api :api "/v1/storage/buckets" + :payload (json-encode-plist payload)))) + (appwrite--process-response "Failed to list buckets" 200 response)))) (defun appwrite-storage-get-bucket (id) "Get bucket with id ID."