Function: forge--set-topic-assignees
forge--set-topic-assignees is a byte-compiled function defined in
forge-github.el.
Signature
(forge--set-topic-assignees ARG0 ARG &rest ARGS)
Implementations
(forge--set-topic-assignees (REPO forge-gitlab-repository) (TOPIC forge-topic) ASSIGNEES) in `forge-gitlab.el'.
Undocumented
(forge--set-topic-assignees (REPO forge-github-repository) (TOPIC forge-topic) ASSIGNEES) in `forge-github.el'.
Undocumented
Source Code
;; Defined in ~/.emacs.d/elpa/forge-20260408.1922/forge-github.el
(cl-defmethod forge--set-topic-assignees
((repo forge-github-repository)
(topic forge-topic)
assignees)
(let* ((topic-id (oref topic their-id))
(old (mapcar (##nth 3 %) (oref topic assignees)))
(new (forge--their-id assignees 'assignees repo))
(add (cl-set-difference new old :test #'equal))
(del (cl-set-difference old new :test #'equal)))
(when (or add del)
(forge--query repo
`(mutation
,@(and add '((addAssigneesToAssignable
[(input $add AddAssigneesToAssignableInput!)]
clientMutationId)))
,@(and del '((removeAssigneesFromAssignable
[(input $del RemoveAssigneesFromAssignableInput!)]
clientMutationId))))
`(,@(and add `((add (assignableId . ,topic-id)
(assigneeIds . ,(vconcat add)))))
,@(and del `((del (assignableId . ,topic-id)
(assigneeIds . ,(vconcat del))))))
:callback (forge--set-field-callback topic)))))