rev |
line source |
bsw/jbe@1309
|
1 slot.set_layout(nil, "application/json")
|
bsw/jbe@1309
|
2
|
bsw/jbe@1309
|
3 local scope_string
|
bsw/jbe@1309
|
4
|
bsw/jbe@1309
|
5 local scopes_list = {}
|
bsw/jbe@1309
|
6 for scope in pairs(app.scopes) do
|
bsw/jbe@1309
|
7 scopes_list[#scopes_list+1] = scope
|
bsw/jbe@1309
|
8 end
|
bsw/jbe@1309
|
9 local scopes_string = table.concat(scopes_list, " ")
|
bsw/jbe@1309
|
10
|
bsw/jbe@1309
|
11 local result = {}
|
bsw/jbe@1309
|
12
|
bsw/jbe@1309
|
13 local r = json.object{
|
bsw/jbe@1309
|
14 service = "LiquidFeedback",
|
bsw/jbe@1309
|
15 core_version = db:query("SELECT * from liquid_feedback_version;")[1].string,
|
bsw/jbe@1309
|
16 api_version = config.app_version,
|
bsw/jbe@1309
|
17 client_tls_dn = request.get_header("X-SSL-DN"),
|
bsw/jbe@1309
|
18 scope = scopes_string
|
bsw/jbe@1309
|
19 }
|
bsw/jbe@1309
|
20
|
bsw/jbe@1309
|
21 if app.scopes.identification or app.scopes.authentication then
|
bsw/jbe@1309
|
22 r.member_id = app.access_token.member_id
|
bsw/jbe@1309
|
23 if app.access_token.member.role then
|
bsw/jbe@1309
|
24 r.member_is_role = true
|
bsw/jbe@1309
|
25 end
|
bsw/jbe@1309
|
26 if app.access_token.session then
|
bsw/jbe@1309
|
27 r.real_member_id = app.access_token.session.real_member_id
|
bsw/jbe@1309
|
28 end
|
bsw/jbe@1309
|
29 if param.get("include_member", atom.boolean) then
|
bsw/jbe@1309
|
30 local member = app.access_token.member
|
bsw/jbe@1309
|
31 result.member = json.object{
|
bsw/jbe@1309
|
32 id = member.id,
|
bsw/jbe@1309
|
33 name = member.name
|
bsw/jbe@1309
|
34 }
|
bsw/jbe@1309
|
35 if app.access_token.session and app.access_token.session.real_member then
|
bsw/jbe@1309
|
36 result.real_member = json.object{
|
bsw/jbe@1309
|
37 id = app.access_token.session.real_member.id,
|
bsw/jbe@1309
|
38 name = app.access_token.session.real_member.name,
|
bsw/jbe@1309
|
39 }
|
bsw/jbe@1309
|
40 end
|
bsw/jbe@1309
|
41 if app.scopes.identification then
|
bsw/jbe@1309
|
42 result.member.identification = member.identification
|
bsw/jbe@1309
|
43 if app.access_token.session and app.access_token.session.real_member then
|
bsw/jbe@1309
|
44 result.real_member.identification = app.access_token.session.real_member.identification
|
bsw/jbe@1309
|
45 end
|
bsw/jbe@1309
|
46 end
|
bsw/jbe@1309
|
47 end
|
bsw/jbe@1309
|
48 end
|
bsw/jbe@1309
|
49
|
bsw/jbe@1309
|
50 result.result = r
|
bsw/jbe@1309
|
51
|
bsw/jbe@1309
|
52 slot.put_into("data", json.export(result))
|
bsw/jbe@1309
|
53 slot.put_into("data", "\n")
|