pull/1073/head
Tienson Qin 2021-02-10 21:01:24 +08:00
parent 510d9cb3c5
commit 2979c56d9d
1 changed files with 38 additions and 31 deletions

View File

@ -183,14 +183,9 @@
(util/remove-nils))]
(db/transact! repo-url all-data)))
(defn- parse-files-and-create-default-files!
[repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts encrypted?]
(p/do!
(p/let [files (p/all (if encrypted? (map (fn [file]
(p/let [content (encrypt/decrypt (:file/content file))]
(assoc file :file/content content)))
files) files))
parsed-files (filter
(defn- parse-files-and-create-default-files-inner!
[repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts]
(let [parsed-files (filter
(fn [file]
(let [format (format/get-format (:file/path file))]
(contains? config/mldoc-support-formats format)))
@ -198,22 +193,34 @@
blocks-pages (if (seq parsed-files)
(extract-handler/extract-all-blocks-pages repo-url parsed-files)
[])]
(reset-contents-and-blocks! repo-url files blocks-pages delete-files delete-blocks))
(reset-contents-and-blocks! repo-url files blocks-pages delete-files delete-blocks)
(let [config-file (config/get-config-path)]
(if (contains? (set file-paths) config-file)
(when-let [content (some #(when (= (:file/path %) config-file)
(:file/content %)) files)]
(file-handler/restore-config! repo-url content true))))
(if (and first-clone? (not db-encrypted?))
(when first-clone?
(if (not db-encrypted?)
(state/set-modal!
(encryption/encryption-setup-dialog
repo-url
#(create-default-files! repo-url %)))
(create-default-files! repo-url db-encrypted?))
(create-default-files! repo-url db-encrypted?)))
(when re-render?
(ui-handler/re-render-root! re-render-opts))
(state/set-importing-to-db! false)))
(defn- parse-files-and-create-default-files!
[repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts]
(if db-encrypted?
(p/let [files (p/all
(map (fn [file]
(p/let [content (encrypt/decrypt (:file/content file))]
(assoc file :file/content content)))
files))]
(parse-files-and-create-default-files-inner! repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts))
(parse-files-and-create-default-files-inner! repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts)))
(defn parse-files-and-load-to-db!
[repo-url files {:keys [first-clone? delete-files delete-blocks re-render? re-render-opts] :as opts
:or {re-render? true}}]
@ -232,8 +239,8 @@
(encryption/encryption-input-secret-dialog
repo-url
db-encrypted-secret
#(parse-files-and-create-default-files! repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts true)))
(parse-files-and-create-default-files! repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts false)))))
#(parse-files-and-create-default-files! repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts)))
(parse-files-and-create-default-files! repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts)))))
(defn load-repo-to-db!
[repo-url {:keys [first-clone? diffs nfs-files]