Skip to content
Snippets Groups Projects
Commit 9f01c083 authored by Bruno Burke's avatar Bruno Burke :hamburger:
Browse files

add options argument for save-document method

parent 1fed381d
No related branches found
No related tags found
1 merge request!1Draft: Migration
......@@ -121,8 +121,7 @@
(generate-views repository id result)
(if cached-repository
(cache-document repository id result)
result
))))))
result))))))
(get-document-size [this id repository]
(when (valid-id? id repository)
......@@ -130,7 +129,7 @@
(when (.isFile file)
(.length file)))))
(save-document [this id document repository]
(save-document [this id document repository options]
(let [file-path (get-file-path id repository)
document-str (with-out-str (fipp document))]
(when-not (and (valid-id? id repository)
......@@ -142,6 +141,8 @@
(when-not (no-commit-repository? repository)
(jp/git-add (get-repo repository) id)
(commit-document-change (str "saved new version of " id) repository)))))
(save-document [this id document repository]
(.save-document this id document repository {}))
(delete-document [this id repository]
(when (valid-id? id repository)
......@@ -155,8 +156,7 @@
files (->> (io/file repo-path)
.listFiles
(filter #(.isFile %))
(map #(.getName %))
)]
(map #(.getName %)))]
files))
(find-documents [this query repository]
......@@ -171,17 +171,15 @@
(let [result (into {} (keep (fn [fname]
(let [doc (.load-document this fname :repository repository)]
(when (query-fits? doc query)
[fname doc]
)
))
[fname doc])))
docs))]
(if cached-repository
(cache-query repository query result)
result)))))
(shutdown [this]
(pmap (fn [[id repo]]
(push-upstreams id)
) @repositories))
(push-upstreams id)) @repositories))
(list-versions [this id repository]
(let [repo (get-repo repository)]
......@@ -192,7 +190,5 @@
repo (get-repo repository)]
(when-let [commit (-> (filter #(= (:version %) version) versions)
first :commit)]
(versioning/load-revision commit repo id))))
)
(versioning/load-revision commit repo id)))))
......@@ -73,9 +73,12 @@
(get-document-size [this id repository]
(count (documents/load-document this id repository)))
(save-document [this id document repository]
(save-document [this id document repository options]
(documents/save-document this id document repository))
(save-document [this id document repository]
(.save-document this id document repository {}))
(delete-document [this id repository]
(documents/delete-document this id repository))
......
......@@ -3,7 +3,7 @@
(defprotocol storage
"Base Protocol for document storages"
(load-document [ds id repository] "Load document from a repository")
(save-document [ds id document repository] "Save new/initial version of document in a repository")
(save-document [ds id document repository] [ds id document repository options] "Save new/initial version of document in a repository")
(delete-document [ds id repository] "Delete a specific document in a repository")
(list-documents [ds repository] "List all documents in a repository")
(find-documents [ds query repository] "Find documents with a given query in a repository")
......
......@@ -17,7 +17,7 @@
:repositories [:testrepo]
:jdbc-url (env :database-url)}))
(f)
(.delete-repository @ds-atom :testrepo))
#_(.delete-repository @ds-atom :testrepo))
(use-fixtures :once storage-fixture)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment