Change: (ement-put-account-data) Add THEN argument

This commit is contained in:
Adam Porter 2022-04-12 09:34:55 -05:00
parent be412426e4
commit 0711a12abf

View file

@ -1030,7 +1030,15 @@ IMAGE should be one as created by, e.g. `create-image'."
(lambda (a b)
(> (latest-event-in a) (latest-event-in b))))))))
(defun ement-put-account-data (session type data)
(cl-defun ement-put-account-data
(session type data
&key (then (lambda (received-data)
;; 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>).
;; FIXME: Make session account-data a map instead of a list of events.
(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))))
"Put account data of TYPE with DATA on SESSION.
Also handle the echoed-back event."
(declare (indent defun))
@ -1038,13 +1046,7 @@ Also handle the echoed-back event."
(url-hexify-string (ement-user-id (ement-session-user session)))
type)))
(ement-api session endpoint :method 'put :data (json-encode data)
:then (lambda (received-data)
;; 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>).
;; FIXME: Make session account-data a map instead of a list of events.
(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)))))
:then then)))
(defun ement--room-unread-p (room session)
"Return non-nil if ROOM is considered unread for SESSION.