rev |
line source |
bsw@515
|
1 MemberApplication = mondelefant.new_class()
|
bsw@515
|
2 MemberApplication.table = 'member_application'
|
bsw/jbe@1309
|
3
|
bsw/jbe@1309
|
4 MemberApplication:add_reference{
|
bsw/jbe@1309
|
5 mode = 'm1',
|
bsw/jbe@1309
|
6 to = "SystemApplication",
|
bsw/jbe@1309
|
7 this_key = 'system_application_id',
|
bsw/jbe@1309
|
8 that_key = 'id',
|
bsw/jbe@1309
|
9 ref = 'system_application'
|
bsw/jbe@1309
|
10 }
|
bsw/jbe@1309
|
11
|
bsw/jbe@1309
|
12 function MemberApplication:get_selector_by_member_id_and_system_application_id(member_id, system_application_id)
|
bsw/jbe@1309
|
13 local selector = self:new_selector()
|
bsw/jbe@1309
|
14 selector:add_where{ "member_id = ?", member_id }
|
bsw/jbe@1309
|
15 selector:add_where{ "system_application_id = ?", system_application_id }
|
bsw/jbe@1309
|
16 selector:optional_object_mode()
|
bsw/jbe@1309
|
17 return selector
|
bsw/jbe@1309
|
18 end
|
bsw/jbe@1309
|
19
|
bsw/jbe@1309
|
20 function MemberApplication:by_member_id_and_system_application_id(member_id, system_application_id)
|
bsw/jbe@1309
|
21 local member_application = self:get_selector_by_member_id_and_system_application_id(member_id, system_application_id)
|
bsw/jbe@1309
|
22 :optional_object_mode()
|
bsw/jbe@1309
|
23 :exec()
|
bsw/jbe@1309
|
24 return member_application
|
bsw/jbe@1309
|
25 end
|
bsw/jbe@1309
|
26
|
bsw/jbe@1309
|
27 function MemberApplication:get_selector_by_member_id_and_domain(member_id, domain)
|
bsw/jbe@1309
|
28 local selector = self:new_selector()
|
bsw/jbe@1309
|
29 selector:add_where{ "member_id = ?", member_id }
|
bsw/jbe@1309
|
30 selector:add_where{ "domain = ?", domain }
|
bsw/jbe@1309
|
31 selector:optional_object_mode()
|
bsw/jbe@1309
|
32 return selector
|
bsw/jbe@1309
|
33 end
|
bsw/jbe@1309
|
34
|
bsw/jbe@1309
|
35 function MemberApplication:by_member_id_and_domain(member_id, domain)
|
bsw/jbe@1309
|
36 local member_application = self:get_selector_by_member_id_and_domain(member_id, domain)
|
bsw/jbe@1309
|
37 :optional_object_mode()
|
bsw/jbe@1309
|
38 :exec()
|
bsw/jbe@1309
|
39 return member_application
|
bsw/jbe@1309
|
40 end
|
bsw/jbe@1309
|
41
|
bsw/jbe@1309
|
42 function MemberApplication:by_member_id(member_id)
|
bsw/jbe@1309
|
43 local member_applications = self:new_selector()
|
bsw/jbe@1309
|
44 :add_where{ "member_id = ?", member_id }
|
bsw/jbe@1309
|
45 :exec()
|
bsw/jbe@1309
|
46 return member_applications
|
bsw/jbe@1309
|
47 end
|
bsw/jbe@1309
|
48
|
bsw/jbe@1309
|
49 function MemberApplication:by_member_id_with_domain(member_id)
|
bsw/jbe@1309
|
50 local member_applications = self:new_selector()
|
bsw/jbe@1309
|
51 :add_where{ "member_id = ?", member_id }
|
bsw/jbe@1309
|
52 :add_where( "domain NOTNULL" )
|
bsw/jbe@1309
|
53 :exec()
|
bsw/jbe@1309
|
54 return member_applications
|
bsw/jbe@1309
|
55 end
|
bsw/jbe@1309
|
56
|
bsw/jbe@1309
|
57 function MemberApplication:by_member_id_and_origin(member_id, origin)
|
bsw/jbe@1309
|
58 local domain = string.match(string.lower(origin), "^https://(.+)")
|
bsw/jbe@1309
|
59 if not domain then
|
bsw/jbe@1309
|
60 return
|
bsw/jbe@1309
|
61 end
|
bsw/jbe@1309
|
62 local member_application = self:get_selector_by_member_id_and_domain(member_id, domain)
|
bsw/jbe@1309
|
63 :optional_object_mode()
|
bsw/jbe@1309
|
64 :exec()
|
bsw/jbe@1309
|
65 return member_application
|
bsw/jbe@1309
|
66 end
|