anonymous's paste: 89240

The Reference Heap Recent Pastes API About Clojure 19 lines 2 views Pasted by anonymous on August 18, 2014 embed raw maximize 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ( defn otp [ conn now keyid ] ( let [ a-minute-ago ( .toDate ( time/minus now ( time/minutes 1 ))) db ( d/db conn ) otp ( ffirst ( d/q ' [ :find ?o :in $ ?k ?then :where [ ?e :van.user/keyid ?k ] [ ?e :van.user/otp ?o ?t ] [ ?t :db/txInstant ?otp-set ] [( .after ?otp-set ?then )]] db keyid a-minute-ago ))] ( if ( nil? otp ) ( let [ new-otp ( reduce str ( take 36 ( repeatedly # ( rand-nth "abcdefghijklmnopqrstuvwxyz1234567890" ))))] ( d/transact conn [{ :db/id ( d/tempid :db.part/user ) :van.user/keyid keyid :van.user/otp new-otp }]) new-otp ) otp ))) RefHeap is powered by Clojure , Compojure , M...

Linked on 2014-08-18 05:04:26 | Similar Links