bsw/jbe@1309: slot.set_layout(nil, "application/json") bsw/jbe@1309: bsw/jbe@1309: local r = json.array() bsw/jbe@1309: bsw/jbe@1309: local system_applications = SystemApplication:get_all() bsw/jbe@1309: bsw@1670: local base_url = request.get_absolute_baseurl() bsw@1670: bsw@1670: if string.sub(base_url, -1, -1) == "/" then bsw@1670: base_url = string.sub(base_url, 1, -2) bsw@1670: end bsw@1670: bsw/jbe@1309: r[#r+1] = json.object{ bsw/jbe@1309: type = "system", bsw/jbe@1309: name = "LiquidFeedback", bsw@1670: base_url = base_url, bsw/jbe@1309: manifest_url = request.get_absolute_baseurl() .. "api/1/info", bsw/jbe@1309: cert_common_name = config.oauth2.cert_common_name bsw/jbe@1309: } bsw/jbe@1309: bsw/jbe@1309: for i, system_application in ipairs(system_applications) do bsw/jbe@1309: r[#r+1] = json.object{ bsw/jbe@1309: type = "system", bsw/jbe@1309: name = system_application.name, bsw/jbe@1309: base_url = system_application.base_url, bsw/jbe@1309: manifest_url = system_application.manifest_url, bsw/jbe@1309: cert_common_name = system_application.cert_common_name bsw/jbe@1309: } bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: if app.access_token then bsw/jbe@1309: bsw/jbe@1309: local member_applications = MemberApplication:by_member_id_with_domain(app.access_token.member_id) bsw/jbe@1309: bsw/jbe@1309: for i, member_application in ipairs(member_applications) do bsw/jbe@1309: r[#r+1] = json.object{ bsw/jbe@1309: type = "dynamic", bsw/jbe@1309: name = "https://" .. member_application.domain .. "/", bsw/jbe@1309: base_url = "https://" .. member_application.domain .. "/", bsw/jbe@1309: manifest_url = "https://" .. member_application.domain .. "/" .. config.oauth2.manifest_magic bsw/jbe@1309: } bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: slot.put_into("data", json.export(json.object{ result = r }))