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;