summaryrefslogtreecommitdiff
path: root/src/db/rest/media/api_profile_banner.sql
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/rest/media/api_profile_banner.sql')
-rw-r--r--src/db/rest/media/api_profile_banner.sql13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/db/rest/media/api_profile_banner.sql b/src/db/rest/media/api_profile_banner.sql
index 272d021..d98f553 100644
--- a/src/db/rest/media/api_profile_banner.sql
+++ b/src/db/rest/media/api_profile_banner.sql
@@ -4,10 +4,21 @@ CREATE FUNCTION api.profile_banner(
RETURNS sys."*/*"
LANGUAGE plpgsql VOLATILE
AS $BODY$
+DECLARE
+ _default TEXT;
BEGIN
- PERFORM _api.raise_deny();
+ _default := 'default_banner_' || MOD(user_id, 25) || '.png';
+ RETURN _api.serve_user_or_default_media(
+ user_id,
+ 'banner'::admin.user_media_type,
+ _default
+ );
END
$BODY$;
GRANT EXECUTE ON FUNCTION api.profile_banner(INTEGER)
TO rest_anon, rest_user;
+GRANT SELECT ON TABLE admin.user_media
+ TO rest_anon, rest_user;
+GRANT SELECT ON TABLE admin.media
+ TO rest_anon, rest_user;