Skip to content

Commit

Permalink
Added db component.
Browse files Browse the repository at this point in the history
  • Loading branch information
ryugi committed May 27, 2017
1 parent 605c96d commit f4898df
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/clj/timi/server/components/db.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
(ns timi.server.components.db
(:require
[com.stuartsierra.component :as component]
[clojure.java.jdbc :as jdbc]
[taoensso.timbre :as log]))

(defn get-db-spec
[config]
(-> config
:persistence
(config)))

(defrecord DBManager []
component/Lifecycle

(start [component]
(log/info "Starting database manager ...")
(let [cfg (get-in component [:cfg-mgr :cfg])
db-spec (get-db-spec cfg)
conn (jdbc/get-connection db-spec)]
(log/trace "Using config:" cfg)
(log/debug "Using db spec:" db-spec)
(log/debug "Component keys:" (keys component))
(log/debug "Successfully created database manager.")
(assoc component
:db-spec db-spec
:conn conn)))

(stop [component]
(log/info "Stopping database manager ...")
(log/debug "Component keys" (keys component))
component))

(defn new-db-manager []
(->DBManager))

0 comments on commit f4898df

Please sign in to comment.