diff options
| author | Thanos Apollo <public@thanosapollo.org> | 2026-04-29 05:58:01 +0300 |
|---|---|---|
| committer | Thanos Apollo <public@thanosapollo.org> | 2026-04-29 05:58:01 +0300 |
| commit | cf977fee13c76dbc523f44276332972e91578406 (patch) | |
| tree | ab193dfabca5363a732564d12d9cee535d37ecd8 | |
| parent | 0e2afe43ec0b3219072bd9d337e581adc8276220 (diff) | |
[fix] db: Fix is_locked always true due to :json-false being non-nil
| -rw-r--r-- | lisp/forgejo-db.el | 12 | ||||
| -rw-r--r-- | lisp/forgejo-view.el | 7 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lisp/forgejo-db.el b/lisp/forgejo-db.el index cd518d8..903ddef 100644 --- a/lisp/forgejo-db.el +++ b/lisp/forgejo-db.el @@ -256,7 +256,7 @@ whether a `pull_request' field is present in the data." (if pr 1 0) (or .pin_order 0) (forgejo-db--nullable .due_date) - (if .is_locked 1 0))))))))) + (if (eq .is_locked t) 1 0))))))))) (defun forgejo-db--like (s) "Wrap S in SQL LIKE wildcards." @@ -456,6 +456,16 @@ FILTERS is a plist with keys: ORDER BY owner, repo" (list host)))) +;;; Pin + +(defun forgejo-db-set-pin-order (host owner repo number pin-order) + "Set PIN-ORDER for issue NUMBER in HOST/OWNER/REPO." + (setq owner (downcase owner) repo (downcase repo)) + (forgejo-db--execute + "UPDATE issues SET pin_order = ? + WHERE host = ? AND owner = ? AND repo = ? AND number = ?" + (list pin-order host owner repo number))) + ;;; Delete (defun forgejo-db-delete-issue (host owner repo number) diff --git a/lisp/forgejo-view.el b/lisp/forgejo-view.el index 9b3df5b..80797eb 100644 --- a/lisp/forgejo-view.el +++ b/lisp/forgejo-view.el @@ -392,7 +392,8 @@ Restores point to RESTORE-LINE if given." (defun forgejo-view-toggle-pin () "Toggle pin state of the current issue or PR. -Works from both detail and list views." +Works from both detail and list views. +Updates the API, then updates pin_order in the DB." (interactive) (let* ((number (or (and (bound-and-true-p forgejo-view--data) (alist-get 'number forgejo-view--data)) @@ -407,7 +408,9 @@ Works from both detail and list views." (pinned-p (and pin-order (> pin-order 0)))) (forgejo-utils-toggle-pin host-url owner repo number pinned-p - (forgejo--post-action-callback)))))) + (lambda () + (forgejo-db-set-pin-order host owner repo number + (if pinned-p 0 1)))))))) (defun forgejo-view-comment () "Post a comment on the current item." |
