liquid_feedback_frontend
view app/main/api/avatar.lua @ 1637:6fb549c147cb
Show delegations in member profile only when available
| author | bsw | 
|---|---|
| date | Tue Feb 09 00:31:34 2021 +0100 (2021-02-09) | 
| 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)
