diff options
Diffstat (limited to 'db/rest/user/api_avatar.sql')
-rw-r--r-- | db/rest/user/api_avatar.sql | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/db/rest/user/api_avatar.sql b/db/rest/user/api_avatar.sql new file mode 100644 index 0000000..981409f --- /dev/null +++ b/db/rest/user/api_avatar.sql @@ -0,0 +1,22 @@ +CREATE FUNCTION api.avatar( + user_id INTEGER DEFAULT 0 +) +RETURNS sys."*/*" +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _mod INTEGER; + _name TEXT; +BEGIN + _mod = MOD(user_id, 24); + _name = 'default_avatar_' || _mod || '.png'; + RETURN _api.serve_media(_name); +END +$BODY$; + +GRANT EXECUTE ON FUNCTION api.avatar(INTEGER) + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.user + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.media + TO rest_anon, rest_user; |