22 lines
462 B
PL/PgSQL
22 lines
462 B
PL/PgSQL
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;
|