bsw/jbe@1309: slot.set_layout(nil, "application/json") bsw/jbe@1309: bsw/jbe@1309: local scope_string bsw/jbe@1309: bsw/jbe@1309: local scopes_list = {} bsw/jbe@1309: for scope in pairs(app.scopes) do bsw/jbe@1309: scopes_list[#scopes_list+1] = scope bsw/jbe@1309: end bsw/jbe@1309: local scopes_string = table.concat(scopes_list, " ") bsw/jbe@1309: bsw/jbe@1309: local result = {} bsw/jbe@1309: bsw/jbe@1309: local r = json.object{ bsw/jbe@1309: service = "LiquidFeedback", bsw/jbe@1309: core_version = db:query("SELECT * from liquid_feedback_version;")[1].string, bsw/jbe@1309: api_version = config.app_version, bsw/jbe@1309: client_tls_dn = request.get_header("X-SSL-DN"), bsw/jbe@1309: scope = scopes_string bsw/jbe@1309: } bsw/jbe@1309: bsw/jbe@1309: if app.scopes.identification or app.scopes.authentication then bsw/jbe@1309: r.member_id = app.access_token.member_id bsw/jbe@1309: if app.access_token.member.role then bsw/jbe@1309: r.member_is_role = true bsw/jbe@1309: end bsw/jbe@1309: if app.access_token.session then bsw/jbe@1309: r.real_member_id = app.access_token.session.real_member_id bsw/jbe@1309: end bsw/jbe@1309: if param.get("include_member", atom.boolean) then bsw/jbe@1309: local member = app.access_token.member bsw/jbe@1309: result.member = json.object{ bsw/jbe@1309: id = member.id, bsw/jbe@1309: name = member.name bsw/jbe@1309: } bsw/jbe@1309: if app.access_token.session and app.access_token.session.real_member then bsw/jbe@1309: result.real_member = json.object{ bsw/jbe@1309: id = app.access_token.session.real_member.id, bsw/jbe@1309: name = app.access_token.session.real_member.name, bsw/jbe@1309: } bsw/jbe@1309: end bsw/jbe@1309: if app.scopes.identification then bsw/jbe@1309: result.member.identification = member.identification bsw/jbe@1309: if app.access_token.session and app.access_token.session.real_member then bsw/jbe@1309: result.real_member.identification = app.access_token.session.real_member.identification bsw/jbe@1309: end bsw/jbe@1309: end bsw/jbe@1309: end bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: result.result = r bsw/jbe@1309: bsw/jbe@1309: slot.put_into("data", json.export(result)) bsw/jbe@1309: slot.put_into("data", "\n")