graphql-engine/server
Swann Moreau 8bd34b4a51 server, pro: add support for per-role allowlists
spec: https://github.com/hasura/graphql-engine-mono/pull/2278

Briefly:
- extend metadata so that allowlist entries get a new scope field
- update `add_collection_to_allowlist` to accept this new scope field,
  and adds `update_scope_of_collection_in_allowlist` to change the scope
- scope can be global or role-based; a collection is available for every
  role if it is global, and available to every listed role if it is role-based
- graphql-engine-oss is aware of role-based allowlist metadata; collections
  with non-global scope are treated as if they weren't in the allowlist

To run the tests:
- `cabal run graphql-engine-tests -- unit --match Allowlist`
- py-tests against pro:
  - launch `graphql-engine-pro` with `HASURA_GRAPHQL_ADMIN_SECRET` and `HASURA_GRAPHQL_ENABLE_ALLOWLIST`
  - `pytest test_allowlist_queries.py --hge-urls=... --pg-urls=... --hge-key=... --test-allowlist-queries --pro-tests`

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2477
Co-authored-by: Anon Ray <616387+ecthiender@users.noreply.github.com>
Co-authored-by: Robert <132113+robx@users.noreply.github.com>
GitOrigin-RevId: 01f8026fbe59d8701e2de30986511a452fce1a99
2022-02-08 16:54:49 +00:00
..
bench-wrk server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
benchmarks bump python test suite dependencies 2022-01-17 07:40:56 +00:00
documentation Add a tip on how to benchmark a query on postgres 2022-02-08 08:29:22 +00:00
packaging ci: add support for linux/arm64 docker image 2021-12-09 09:34:22 +00:00
src-exec server/tests: initial work on a test suite for DB-to-DB joins 2021-10-20 20:02:34 +00:00
src-lib server, pro: add support for per-role allowlists 2022-02-08 16:54:49 +00:00
src-rsr Replace "identity column" with "column mutability" data for all backends 2022-02-03 14:15:35 +00:00
src-test server, pro: add support for per-role allowlists 2022-02-08 16:54:49 +00:00
tests/integration server, pro: add support for per-role allowlists 2022-02-08 16:54:49 +00:00
tests-hspec Make optimize_permission_filters an --experimental-features flag 2022-02-07 18:05:39 +00:00
tests-py server, pro: add support for per-role allowlists 2022-02-08 16:54:49 +00:00
.dockerignore update packages (#251) 2018-08-08 13:10:13 +05:30
.gitignore server/citus: feature branch 2021-05-21 02:47:51 +00:00
commit_diff.txt Rewrite GraphQL schema generation and query parsing (close #2801) (#4111) 2020-08-21 12:27:01 -05:00
COMPILING-ON-M1.md update contributing and compiling on m1 2022-01-21 11:21:49 +00:00
CONTRIBUTING.md update contributing and compiling on m1 2022-01-21 11:21:49 +00:00
graphql-engine.cabal server, pro: add support for per-role allowlists 2022-02-08 16:54:49 +00:00
Makefile ci: misc. cleanup, naming 2022-01-03 06:26:39 +00:00
Setup.hs server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
STYLE.md server, CI: use ormolu as a formatter for Haskell sources 2021-09-23 21:23:21 +00:00