]> gitweb.factorcode.org Git - factor.git/blob - basis/furnace/alloy/alloy.factor
29cb37b557d79eb17a6683d2480fc3b3aa8f6c9a
[factor.git] / basis / furnace / alloy / alloy.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel sequences db.tuples alarms calendar db fry
4 furnace.db
5 furnace.cache
6 furnace.referrer
7 furnace.sessions
8 furnace.conversations
9 furnace.auth.providers
10 furnace.auth.login.permits ;
11 IN: furnace.alloy
12
13 : <alloy> ( responder db params -- responder' )
14     '[
15         <conversations>
16         <sessions>
17         , , <db-persistence>
18         <check-form-submissions>
19     ] call ;
20
21 : state-classes { session conversation permit } ; inline
22
23 : init-furnace-tables ( -- )
24     state-classes ensure-tables
25     user ensure-table ;
26
27 : start-expiring ( db params -- )
28     '[
29         , , [ state-classes [ expire-state ] each ] with-db
30     ] 5 minutes every drop ;