From 1595b0b00c353fcafb596b0176ff458f931169c5 Mon Sep 17 00:00:00 2001 From: virvar Date: Mon, 21 Mar 2016 15:20:11 +0300 Subject: [PATCH] Delete database.cljs Former-commit-id: c95ecf53633fcd90e35ae4c1dff7c7d1ba9d3a3a --- src/messenger/models/contacts.cljs | 29 +++++++++++++++++-- src/messenger/persistence/realm.cljs | 7 +++-- src/messenger/utils/database.cljs | 42 ---------------------------- 3 files changed, 31 insertions(+), 47 deletions(-) delete mode 100644 src/messenger/utils/database.cljs diff --git a/src/messenger/models/contacts.cljs b/src/messenger/models/contacts.cljs index 21b03a5401..daa16cc9f8 100644 --- a/src/messenger/models/contacts.cljs +++ b/src/messenger/models/contacts.cljs @@ -3,7 +3,7 @@ (:require [cljs.core.async :as async :refer [chan put! !]] [messenger.state :as state] [messenger.utils.utils :refer [log toast http-post]] - [messenger.utils.database :as db])) + [messenger.persistence.realm :as realm])) (def fake-contacts? false) @@ -40,6 +40,9 @@ (js->clj raw-contacts :keywordize-keys true)))})))) ch)) +(defn- get-contacts [] + (realm/get-list "Contact")) + (defn load-syng-contacts [] (let [contacts (map (fn [contact] (merge contact @@ -47,9 +50,29 @@ :datetime "15:30" :new-messages-count (rand-int 3) :online (< (rand) 0.5)})) - (db/get-contacts))] + (get-contacts))] (swap! state/app-state update :contacts-ds #(clone-with-rows % contacts)))) +(defn- create-contact [{:keys [phone-number whisper-identity name photo-path]}] + (realm/create "Contact" + {:phone-number phone-number + :whisper-identity whisper-identity + :name (or name "") + :photo-path (or photo-path "")})) + +(defn- contact-exist? [contacts contact] + (some #(= (:phone-number contact) (:phone-number %)) contacts)) + +(defn- add-contacts [contacts] + (realm/write (fn [] + (let [db-contacts (get-contacts)] + (dorun (map (fn [contact] + (if (not (contact-exist? db-contacts contact)) + (create-contact contact) + ;; TODO else override? + )) + contacts)))))) + (defn save-syng-contacts [syng-contacts] - (db/add-contacts syng-contacts)) + (add-contacts syng-contacts)) diff --git a/src/messenger/persistence/realm.cljs b/src/messenger/persistence/realm.cljs index f2dd4088cd..c795b1f664 100644 --- a/src/messenger/persistence/realm.cljs +++ b/src/messenger/persistence/realm.cljs @@ -75,5 +75,8 @@ (> (.-length (get-by-field schema-name field value)) 0)) -(comment - ) \ No newline at end of file +(defn get-count [objs] + (.-length objs)) + +(defn get-list [schema-name] + (vals (js->clj (.objects realm schema-name) :keywordize-keys true))) diff --git a/src/messenger/utils/database.cljs b/src/messenger/utils/database.cljs deleted file mode 100644 index c0858f3dcd..0000000000 --- a/src/messenger/utils/database.cljs +++ /dev/null @@ -1,42 +0,0 @@ -(ns messenger.utils.database - (:require [messenger.utils.utils :refer [log toast http-post]] - [messenger.persistence.realm :refer [realm]])) - -(defn write [f] - (.write realm f)) - -(defn get-contacts-objects [] - (.objects realm "Contact")) - -(defn get-contacts [] - (vals (js->clj (get-contacts-objects) :keywordize-keys true))) - -(defn delete-contacts [] - (write (fn [] - (.delete realm (get-contacts-objects))))) - -(defn filtered [objs query] - (.filtered objs query)) - -(defn get-count [objs] - (.-length objs)) - -(defn create-contact [{:keys [phone-number whisper-identity name photo-path]}] - (.create realm "Contact" - (clj->js {:phone-number phone-number - :whisper-identity whisper-identity - :name (or name "") - :photo-path (or photo-path "")}))) - -(defn contact-exist? [contacts contact] - (some #(= (:phone-number contact) (:phone-number %)) contacts)) - -(defn add-contacts [contacts] - (write (fn [] - (let [db-contacts (get-contacts)] - (dorun (map (fn [contact] - (if (not (contact-exist? db-contacts contact)) - (create-contact contact) - ;; TODO else override? - )) - contacts))))))