graphql-engine/server/src-lib/Hasura/GraphQL
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
..
Execute Add default User-Agent header for Action requests 2022-01-31 06:50:13 +00:00
Parser Deploy server documentation to github page in CI 2022-01-31 13:16:29 +00:00
Schema First attempt at deduplicating permission filters 2022-02-03 16:14:44 +00:00
Transport Experimental backend adapter 2021-12-22 00:11:28 +00:00
Analyse.hs Fixed GQL aliases not being respected in the OpenAPI schema 2022-01-27 05:55:55 +00:00
Context.hs Source typename customization (close graphql-engine#6974) 2021-10-29 14:43:14 +00:00
Execute.hs server, pro: add support for per-role allowlists 2022-02-08 16:54:49 +00:00
Explain.hs Source typename customization (close graphql-engine#6974) 2021-10-29 14:43:14 +00:00
Logging.hs Source typename customization (close graphql-engine#6974) 2021-10-29 14:43:14 +00:00
Namespace.hs Refactor type name customization 2021-11-30 09:52:53 +00:00
ParameterizedQueryHash.hs Prevent uses of unsafeMkName whenever possible. 2022-01-27 15:13:37 +00:00
Parser.hs server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
RemoteServer.hs server: validate REST endpoint queries after metadata change 2022-02-08 04:47:52 +00:00
Schema.hs First attempt at deduplicating permission filters 2022-02-03 16:14:44 +00:00