Update util.clj

Added few util functions
This commit is contained in:
Mustafa Basit 2020-10-08 17:38:31 +05:30 committed by GitHub
parent 9f3d192dff
commit 5cb653aec1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -63,6 +63,22 @@
(defprotocol GetDocumentId (defprotocol GetDocumentId
(get-id [input] "Returns document id")) (get-id [input] "Returns document id"))
(defn valid-hexa-string?
[s]
(org.bson.types.ObjectId/isValid s))
(defn valid-coll-name?
[coll]
(instance? String coll))
(defn doc-id->str
[doc]
(if (contains? doc :_id)
(let [id (get-id doc)
hexa-string (str id)]
(and (valid-hexa-string? hexa-string) (assoc doc :_id hexa-string)))
doc))
(extend-protocol GetDocumentId (extend-protocol GetDocumentId
DBObject DBObject
(get-id (get-id