From f072a2972710700a433e2c5da0812a1f72f17b1b Mon Sep 17 00:00:00 2001 From: rcmerci Date: Mon, 11 Apr 2022 13:32:29 +0800 Subject: [PATCH] feat(sync): support dev&prod env --- resources/package.json | 2 +- src/electron/electron/file_sync_rsapi.cljs | 2 ++ src/electron/electron/handler.cljs | 3 +++ src/main/frontend/config.cljs | 11 ++++++++++- src/main/frontend/fs/sync.cljs | 7 ++++++- src/main/frontend/handler/user.cljs | 4 ++-- 6 files changed, 24 insertions(+), 5 deletions(-) diff --git a/resources/package.json b/resources/package.json index b7c7d5131..f9ec5e204 100644 --- a/resources/package.json +++ b/resources/package.json @@ -36,7 +36,7 @@ "https-proxy-agent": "5.0.0", "@sentry/electron": "2.5.1", "posthog-js": "1.10.2", - "@andelf/rsapi": "0.0.5", + "@andelf/rsapi": "0.0.7", "electron-deeplink": "1.0.9" }, "devDependencies": { diff --git a/src/electron/electron/file_sync_rsapi.cljs b/src/electron/electron/file_sync_rsapi.cljs index 22de69002..a6bc79a2c 100644 --- a/src/electron/electron/file_sync_rsapi.cljs +++ b/src/electron/electron/file_sync_rsapi.cljs @@ -1,6 +1,8 @@ (ns electron.file-sync-rsapi (:require ["@andelf/rsapi" :as rsapi])) +(defn set-env [env] (rsapi/setEnv env)) + (defn get-local-files-meta [graph-uuid base-path file-paths] (rsapi/getLocalFilesMeta graph-uuid base-path (clj->js file-paths))) diff --git a/src/electron/electron/handler.cljs b/src/electron/electron/handler.cljs index a1ca4fba1..50a4e9d15 100644 --- a/src/electron/electron/handler.cljs +++ b/src/electron/electron/handler.cljs @@ -413,6 +413,9 @@ ;; file-sync-rs-apis ;; ;;;;;;;;;;;;;;;;;;;;;;; +(defmethod handle :set-env [_ args] + (apply rsapi/set-env (rest args))) + (defmethod handle :get-local-files-meta [_ args] (apply rsapi/get-local-files-meta (rest args))) diff --git a/src/main/frontend/config.cljs b/src/main/frontend/config.cljs index ec996040e..4a20fd825 100644 --- a/src/main/frontend/config.cljs +++ b/src/main/frontend/config.cljs @@ -17,9 +17,18 @@ (def test? false) -;; TODO: add :closure-defines in shadow-cljs.edn when prod env is ready +;; prod env +;; (goog-define FILE-SYNC-PROD? true) +;; (goog-define LOGIN-URL +;; "https://logseq.auth.us-east-1.amazoncognito.com/oauth2/authorize?client_id=7ns5v1pu8nrbs04rvdg67u4a7c&response_type=code&scope=email+openid+phone&redirect_uri=logseq%3A%2F%2Fauth-callback") +;; (goog-define API-DOMAIN "api-prod.logseq.com") + +;; dev env +(goog-define FILE-SYNC-PROD? false) (goog-define LOGIN-URL "https://logseq-test.auth.us-east-2.amazoncognito.com/oauth2/authorize?client_id=4fi79en9aurclkb92e25hmu9ts&response_type=code&scope=email+openid+phone&redirect_uri=logseq%3A%2F%2Fauth-callback") +(goog-define API-DOMAIN "api.logseq.com") + ;; :TODO: How to do this? ;; (defonce desktop? ^boolean goog.DESKTOP) diff --git a/src/main/frontend/fs/sync.cljs b/src/main/frontend/fs/sync.cljs index 9eba427bc..56a222af4 100644 --- a/src/main/frontend/fs/sync.cljs +++ b/src/main/frontend/fs/sync.cljs @@ -149,7 +149,7 @@ (defn- request-once [api-name body token] (go - (let [resp (http/post (str "https://api.logseq.com/file-sync/" api-name) + (let [resp (http/post (str "https://" config/API-DOMAIN "/file-sync/" api-name) {:oauth-token token :body (js/JSON.stringify (clj->js body))})] {:resp (c (ipc/ipc "set-env" (if prod? "prod" "dev")))))) (get-local-all-files-meta [_ graph-uuid base-path] (go (let [r (c (ipc/ipc "get-local-all-files-meta" graph-uuid base-path))))] @@ -1197,6 +1199,9 @@ (config/get-repo-dir (state/get-current-repo)) (state/get-current-repo) txid *sync-state full-sync-chan stop-sync-chan remote->local-sync-chan local->remote-sync-chan local-changes-chan)] + ;; set-env + (set-env rsapi config/FILE-SYNC-PROD?) + ;; drain `local-changes-chan` (->> (repeatedly #(poll! local-changes-chan)) (take-while identity)) diff --git a/src/main/frontend/handler/user.cljs b/src/main/frontend/handler/user.cljs index 5f156b913..18d4ab25d 100644 --- a/src/main/frontend/handler/user.cljs +++ b/src/main/frontend/handler/user.cljs @@ -151,7 +151,7 @@ (defn login-callback [code] (go - (let [resp ( resp (:body) @@ -166,7 +166,7 @@ [] (when-let [refresh-token (state/get-auth-refresh-token)] (go - (let [resp (