chatai/postgrest_v12.2.8/test/spec/fixtures/privileges.sql

68 lines
1.9 KiB
SQL

-- Privileges for anonymous
GRANT USAGE ON SCHEMA
"EXTRA ""@/\#~_-"
, "SPECIAL ""@/\#~_-"
, "تست"
, extensions
, jwt
, postgrest
, public
, test
, v1
, v2
TO postgrest_test_anonymous;
-- Schema test objects
SET search_path = test, "تست", pg_catalog;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA
"SPECIAL ""@/\#~_-"
, "تست"
, test
, v1
, v2
TO postgrest_test_anonymous;
REVOKE ALL PRIVILEGES ON TABLE
app_users
, authors_only
, insertonly
, limited_article_stars
FROM postgrest_test_anonymous;
GRANT INSERT ON TABLE insertonly TO postgrest_test_anonymous;
GRANT USAGE ON SEQUENCE
auto_incrementing_pk_id_seq
, items_id_seq
, items2_id_seq
, items3_id_seq
, callcounter_count
, leak_id_seq
TO postgrest_test_anonymous;
DO $do$
BEGIN
IF current_setting('server_version_num')::INT >= 100000 THEN
GRANT USAGE ON SEQUENCE channels_id_seq TO postgrest_test_anonymous;
END IF;
END
$do$;
-- Privileges for non anonymous users
GRANT USAGE ON SCHEMA test TO postgrest_test_author;
GRANT ALL ON TABLE authors_only TO postgrest_test_author;
GRANT SELECT (article_id, user_id) ON TABLE limited_article_stars TO postgrest_test_anonymous;
GRANT INSERT (article_id, user_id) ON TABLE limited_article_stars TO postgrest_test_anonymous;
GRANT UPDATE (article_id, user_id) ON TABLE limited_article_stars TO postgrest_test_anonymous;
GRANT SELECT(id, email) ON TABLE app_users TO postgrest_test_anonymous;
GRANT INSERT, UPDATE ON TABLE app_users TO postgrest_test_anonymous;
GRANT DELETE ON TABLE app_users TO postgrest_test_anonymous;
REVOKE EXECUTE ON FUNCTION privileged_hello(text) FROM PUBLIC; -- All functions are available to every role(PUBLIC) by default
GRANT EXECUTE ON FUNCTION privileged_hello(text) TO postgrest_test_author;
GRANT USAGE ON SCHEMA test TO postgrest_test_default_role;