From bf68783348da39ca2d573b85bb4048cbad8ebdaf Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Tue, 26 Aug 2025 11:49:02 -0400 Subject: [PATCH] enhance: add append improvements based on feedback * For append api call, default to today if app is not in a page context * API relate commands can auth w/ env var --- deps/cli/CHANGELOG.md | 1 + deps/cli/README.md | 3 +++ deps/cli/src/logseq/cli/commands/append.cljs | 3 +-- deps/cli/src/logseq/cli/util.cljs | 3 ++- src/main/logseq/api.cljs | 6 ++++-- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/deps/cli/CHANGELOG.md b/deps/cli/CHANGELOG.md index 8b6e2c3a99..ce87cc8b47 100644 --- a/deps/cli/CHANGELOG.md +++ b/deps/cli/CHANGELOG.md @@ -3,6 +3,7 @@ * Add append command to add text to current page * Change export-edn command to default to writing to a file, like the export command * Rename --api-query-token options to --api-server-token +* API related commands can also authenticate with $LOGSEQ_API_SERVER_TOKEN * Add descriptions for most commands to explain in-depth usage ## 0.1.0 diff --git a/deps/cli/README.md b/deps/cli/README.md index 5b6914362e..096adc7347 100644 --- a/deps/cli/README.md +++ b/deps/cli/README.md @@ -61,6 +61,9 @@ Search found 100 results: dev:db-export woot woot.edn && dev:db-create woot2 woot.edn dev:db-diff woot woot2 ... +# Can also authenticate api with $LOGSEQ_API_SERVER_TOKEN +$ LOGSEQ_API_SERVER_TOKEN=my-token logseq search woot +... # Search a local graph $ logseq search woot page diff --git a/deps/cli/src/logseq/cli/commands/append.cljs b/deps/cli/src/logseq/cli/commands/append.cljs index 9501c1e734..bbf649d986 100644 --- a/deps/cli/src/logseq/cli/commands/append.cljs +++ b/deps/cli/src/logseq/cli/commands/append.cljs @@ -11,8 +11,7 @@ (if (= 200 (.-status resp)) (p/let [body (.json resp)] (if (.-error body) - (cli-util/error (str "Failed to append. Ensure the app is in a specific page.\n" - "API Response: " + (cli-util/error (str "Failed to append.\nAPI Error: " (string/replace (.-error body) "\n" "\\\\n"))) (println "Success!"))) (cli-util/api-handle-error-response resp))) diff --git a/deps/cli/src/logseq/cli/util.cljs b/deps/cli/src/logseq/cli/util.cljs index 29149f99c3..bfba3f737d 100644 --- a/deps/cli/src/logseq/cli/util.cljs +++ b/deps/cli/src/logseq/cli/util.cljs @@ -18,7 +18,8 @@ (defn api-fetch [token method args] (js/fetch "http://127.0.0.1:12315/api" (clj->js {:method "POST" - :headers {"Authorization" (str "Bearer " token) + :headers {"Authorization" + (str "Bearer " (or token js/process.env.LOGSEQ_API_SERVER_TOKEN)) "Content-Type" "application/json"} :body (js/JSON.stringify (clj->js {:method method diff --git a/src/main/logseq/api.cljs b/src/main/logseq/api.cljs index de7ba21615..7c35155d5a 100644 --- a/src/main/logseq/api.cljs +++ b/src/main/logseq/api.cljs @@ -6,6 +6,7 @@ [electron.ipc :as ipc] [frontend.commands :as commands] [frontend.config :as config] + [frontend.date :as date] [frontend.db :as db] [frontend.db.async :as db-async] [frontend.db.conn :as conn] @@ -1082,8 +1083,9 @@ (and (nil? opts) (some->> content (instance? js/Object)))) opts (if current-page? content opts) content (if current-page? uuid-or-page-name content) - uuid-or-page-name (if current-page? (state/get-current-page) - uuid-or-page-name)] + uuid-or-page-name (if current-page? + (or (state/get-current-page) (date/today)) + uuid-or-page-name)] (p/let [_ (