emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ement b4dcd45bb6 2/4: Add: (ement-put-state)


From: ELPA Syncer
Subject: [elpa] externals/ement b4dcd45bb6 2/4: Add: (ement-put-state)
Date: Thu, 6 Oct 2022 21:57:39 -0400 (EDT)

branch: externals/ement
commit b4dcd45bb6ce45252fa38632cd8105a2d177704c
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Add: (ement-put-state)
---
 ement-lib.el | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/ement-lib.el b/ement-lib.el
index cb0ac0df1b..e447781ebd 100644
--- a/ement-lib.el
+++ b/ement-lib.el
@@ -576,6 +576,21 @@ STATE may be nil to set the rules to default, `all',
 
 ;; These functions could reasonably be called by code in other packages.
 
+(cl-defun ement-put-state
+    (room type key data session
+          &key (then (lambda (response-data)
+                       (ement-debug "State data put on room" response-data 
data room session))))
+  "Put state event of TYPE with KEY and DATA on ROOM on SESSION.
+DATA should be an alist, which will become the JSON request
+body."
+  (declare (indent defun))
+  (pcase-let* ((endpoint (format "rooms/%s/state/%s/%s"
+                                 (url-hexify-string (ement-room-id room))
+                                 type key)))
+    (ement-api session endpoint :method 'put :data (json-encode data)
+      ;; TODO: Handle error codes.
+      :then then)))
+
 (defun ement-message (format-string &rest args)
   "Call `message' on FORMAT-STRING prefixed with \"Ement: \"."
   ;; TODO: Use this function everywhere we use `message'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]