gfZeng / datomic-session-store

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ring session store for Datomic

Get Started

Add dependencies

[com.datomic/datomic-pro "0.9.5344"]
[datomic-session-store "0.1.0"]

with ring

(require '[ring.session.store.datomic :refer (datomic-store)])

(def app
  (wrap-session handler {:store (datomic-store datomic-conn)}))

If your using noir

(require '[ring.session.store.datomic :refer (datomic-store noir< noir>)])

(app-handler [app]
             :session-options {:store (datomic-store datomic-conn :< noir< :> noir>)})

Find a user all sessions

(:session/_user user-entity)

Session schema

{:db/id                 (d/tempid :db.part/db)
 :db/ident              :ring/session
 :db.install/_partition :db.part/db}
{:db/id                 (d/tempid :db.part/db)
 :db/ident              :session/key
 :db/valueType          :db.type/string
 :db/unique             :db.unique/identity
 :db/cardinality        :db.cardinality/one
 :db.install/_attribute :db.part/db}
{:db/id                 (d/tempid :db.part/db)
 :db/ident              :session/user
 :db/valueType          :db.type/ref
 :db/cardinality        :db.cardinality/one
 :db.install/_attribute :db.part/db}
{:db/id                 (d/tempid :db.part/db)
 :db/ident              :session/value
 :db/valueType          :db.type/bytes
 :db/cardinality        :db.cardinality/one
 :db/noHistory          true
 :db.install/_attribute :db.part/db}

About

License:MIT License


Languages

Language:Clojure 100.0%