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