liquid_feedback_frontend

view app/main/api/avatar.lua @ 1858:3d1f0464a3ea

Handle missing ldap.member.allowed function
author bsw
date Tue Sep 20 17:35:29 2022 +0200 (20 months ago)
parents bbb537ba81b2
children
line source
1 slot.set_layout(nil, "application/json")
3 if not (
4 app.scopes.read_authors
5 or app.scopes.read_identities
6 or app.scopes.read_profiles
7 ) then
8 return util.api_error(403, "Forbidden", "insufficient_scope", "Scope read_authors or read_identities or read_profiles required")
9 end
11 local r = json.object{
12 result = json.array()
13 }
15 local selector = MemberImage:new_selector()
16 :add_where("image_type = 'avatar'")
17 :add_where("scaled")
18 :optional_object_mode()
20 local member_id = param.get("member_id")
21 if member_id then
22 selector:add_where{ "member_id = ?", member_id }
23 else
24 return util.api_error(404, "Missing parameter", "no_member_id", "No member_id provided")
25 end
27 local member_image = selector:exec()
29 local data
30 local content_type
32 if member_image then
33 data = member_image.data
34 content_type = member_image.content_type
35 else
36 local filename = WEBMCP_BASE_PATH .. "static/avatar.jpg"
37 local f = assert(io.open(filename), "Cannot open default image file")
38 data = f:read("*a")
39 content_type = "image/jpeg"
40 f:close()
41 end
43 slot.set_layout(nil, "image/jpeg")
44 slot.put_into("data", data)

Impressum / About Us