| 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") |