mirror of
https://github.com/vale981/ement.el
synced 2025-03-06 01:31:41 -05:00
Tidy: (ement-put-account-data)
This commit is contained in:
parent
8430e1c813
commit
2e072efd5c
1 changed files with 16 additions and 11 deletions
19
ement.el
19
ement.el
|
@ -1061,20 +1061,25 @@ IMAGE should be one as created by, e.g. `create-image'."
|
||||||
(> (latest-event-in a) (latest-event-in b))))))))
|
(> (latest-event-in a) (latest-event-in b))))))))
|
||||||
|
|
||||||
(cl-defun ement-put-account-data
|
(cl-defun ement-put-account-data
|
||||||
(session type data
|
(session type data &key
|
||||||
&key (then (lambda (received-data)
|
(then (lambda (received-data)
|
||||||
;; Handle echoed-back account data event (the spec does not explain this,
|
;; Handle echoed-back account data event (the spec does not explain this,
|
||||||
;; but see <https://github.com/matrix-org/matrix-react-sdk/blob/675b4271e9c6e33be354a93fcd7807253bd27fcd/src/settings/handlers/AccountSettingsHandler.ts#L150>).
|
;; but see <https://github.com/matrix-org/matrix-react-sdk/blob/675b4271e9c6e33be354a93fcd7807253bd27fcd/src/settings/handlers/AccountSettingsHandler.ts#L150>).
|
||||||
;; FIXME: Make session account-data a map instead of a list of events.
|
;; FIXME: Make session account-data a map instead of a list of events.
|
||||||
(push received-data (ement-session-account-data session))
|
(push received-data (ement-session-account-data session))
|
||||||
(ement-debug "Account data put and received back on session %s: PUT(json-encoded):%S RECEIVED:%S"
|
|
||||||
(ement-user-id (ement-session-user session)) (json-encode data) received-data))))
|
;; NOTE: Commenting out this ement-debug form because a bug in Emacs
|
||||||
|
;; causes this long string to be interpreted as the function's
|
||||||
|
;; docstring and cause a too-long-docstring warning.
|
||||||
|
|
||||||
|
;; (ement-debug "Account data put and received back on session %s: PUT(json-encoded):%S RECEIVED:%S"
|
||||||
|
;; (ement-user-id (ement-session-user session)) (json-encode data) received-data)
|
||||||
|
)))
|
||||||
"Put account data of TYPE with DATA on SESSION.
|
"Put account data of TYPE with DATA on SESSION.
|
||||||
Also handle the echoed-back event."
|
Also handle the echoed-back event."
|
||||||
(declare (indent defun))
|
(declare (indent defun))
|
||||||
(let ((endpoint (format "user/%s/account_data/%s"
|
(pcase-let* (((cl-struct ement-session (user (cl-struct ement-user (id user-id)))))
|
||||||
(url-hexify-string (ement-user-id (ement-session-user session)))
|
(endpoint (format "user/%s/account_data/%s" (url-hexify-string user-id) type)))
|
||||||
type)))
|
|
||||||
(ement-api session endpoint :method 'put :data (json-encode data)
|
(ement-api session endpoint :method 'put :data (json-encode data)
|
||||||
:then then)))
|
:then then)))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue