liquid_feedback_frontend
diff model/session.lua @ 0:3bfb2fcf7ab9
Version alpha1
author | bsw/jbe |
---|---|
date | Wed Nov 18 12:00:00 2009 +0100 (2009-11-18) |
parents | |
children | ea2449916c12 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/model/session.lua Wed Nov 18 12:00:00 2009 +0100 1.3 @@ -0,0 +1,33 @@ 1.4 +Session = mondelefant.new_class() 1.5 +Session.table = 'session' 1.6 +Session.primary_key = { 'ident' } 1.7 + 1.8 +Session:add_reference{ 1.9 + mode = 'm1', 1.10 + to = "Member", 1.11 + this_key = 'member_id', 1.12 + that_key = 'id', 1.13 + ref = 'member', 1.14 +} 1.15 + 1.16 +local function random_string() 1.17 + return multirand.string( 1.18 + 32, 1.19 + '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 1.20 + ) 1.21 +end 1.22 + 1.23 +function Session:new() 1.24 + local session = self.prototype.new(self) -- super call 1.25 + session.ident = random_string() 1.26 + session.additional_secret = random_string() 1.27 + session:save() 1.28 + return session 1.29 +end 1.30 + 1.31 +function Session:by_ident(ident) 1.32 + local selector = self:new_selector() 1.33 + selector:add_where{ 'ident = ?', ident } 1.34 + selector:optional_object_mode() 1.35 + return selector:exec() 1.36 +end