Commit Graph

6743 Commits

Author SHA1 Message Date
Daniel Harvey
cd024dcaa4 chore(server): logical models, remove unused arg
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8751
GitOrigin-RevId: fcef0a4b3974206bd0920bd8e4b46af9407b90c0
2023-04-12 17:00:44 +00:00
Samir Talwar
5677446ff3 server/tests-py: Run test_websocket_init_cookie.py in parallel.
This requires rewriting the test class to split it into 3, each specifying the correct environment variables for HGE.

It would be lovely to use parameterization rather than subclassing, but that doesn't work because of `hge_fixture_env`, which creates a "soft" dependency between the environment variables and `hge_server`. Parameterizing the former *should* force the latter to be recreated for each new set of environment variables, but `hge_server` isn't actually aware there's a dependency. See `TestParameterizedFixtures` in test_tests.py for more information.

[NDAT-539]: https://hasurahq.atlassian.net/browse/NDAT-539?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8747
GitOrigin-RevId: 878b2fc20f39f962a67cd950046a99c283cfc6fc
2023-04-12 16:26:22 +00:00
Auke Booij
6f78d25932 chore(server): simplify bindErrorA and use more broadly
The simplification will allow us to avoid a few `MonadError QErr m` constsraints in the future - this effect can be created locally instead of reusing a global one.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8729
GitOrigin-RevId: 851e28b1f5bfe4c47da43fa324714a941ef25c57
2023-04-12 15:51:37 +00:00
Samir Talwar
43f179688c server/tests-py: Run test_graphql_read_only_source.py in parallel.
This requires making it add its own source, rather than expecting one to be provided.

[NDAT-537]: https://hasurahq.atlassian.net/browse/NDAT-537?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8745
GitOrigin-RevId: 65c818e4f065e9f98e9cfd65c158eff5d768ae31
2023-04-12 14:37:21 +00:00
Matthew Goodwin
aa273cdc4c console: Add alert/confirm/prompt component
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8701
GitOrigin-RevId: 558b6d3e688e4d9d945ba33c459565f4b0f6f502
2023-04-12 11:33:48 +00:00
Naveen Naidu
a8b94120d1 server: close all websocket connection when sqlGenCtx and experimental features changes
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8736
GitOrigin-RevId: 20f3d6386c961020b5b93c857dfa0cd99a9838b5
2023-04-12 10:27:42 +00:00
Tom Harding
af0b56332d De-duplicate prepared logical model arguments
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8723
GitOrigin-RevId: 5df1a05c47852d7371ef323bb0df2ac9d1749243
2023-04-12 09:05:48 +00:00
Vijay Prasanna
110e9aa2a2 console: fix a bug that causes the console to crash when parsing internal property of the metadata error response
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8733
GitOrigin-RevId: ba614f95ed563bdc6ae3bb8e7633579cd7dc8f07
2023-04-12 08:05:51 +00:00
Naveen Naidu
0720c6a66c server: always read latest appContext in v1alpha1/config endpoint
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8727
GitOrigin-RevId: 0139a3d98262bfdf0a39ad7fc986482fb1bfe156
2023-04-12 05:55:19 +00:00
Tom Harding
168037df02 Add a test for multiplexing logical models
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8720
GitOrigin-RevId: da435a5700929592eb95d49dbaa9b4531c10042e
2023-04-11 16:59:41 +00:00
Nicolas Beaussart
eaf6385a28 frontend: remove vendor source maps
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8715
GitOrigin-RevId: 10a0666e2676d9fdc9a5bc5a9120021d0d94095b
2023-04-11 16:15:54 +00:00
Julian@Hasura
7b6e81e789 Re-mount browse rows when users switch between tables DSF-291
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8718
GitOrigin-RevId: c497c499b507a257057ad29f4a777a1d0b4a1c50
2023-04-11 15:42:00 +00:00
Sean Park-Ross
7053b87616 Docs: Refactor UPPERCASE admonitions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8717
GitOrigin-RevId: 1bd5c2dff9fe19f5d2bc3fec674c1d77f7d53861
2023-04-11 15:00:49 +00:00
Vijay Prasanna
69949eff60 console: fix refresh metadata issue and misc UI improvements
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8714
GitOrigin-RevId: 291d90482f55df3d5aeaa4ccb0d69ebc71795d4e
2023-04-11 14:23:55 +00:00
Samir Talwar
6747ee9872 cli: Add the custom_return_types field.
This has been split out from logical models.

Name pending; it may change in the future.

[NDAT-593]: https://hasurahq.atlassian.net/browse/NDAT-593?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8712
GitOrigin-RevId: 25776af883e94bead05af7c97cdf258f4b65c5d1
2023-04-11 13:49:28 +00:00
Toan Nguyen
713b434aef server,frontend: generic EE SSO login for console with multiple identity providers
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8035
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
Co-authored-by: Stefano Magni <173663+NoriSte@users.noreply.github.com>
GitOrigin-RevId: 3c5d5d899578c2fe50af8569318e25495f380878
2023-04-11 13:15:27 +00:00
Sean Park-Ross
8849bc5f78 Docs: Remove Hasura Data
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8586
GitOrigin-RevId: ae9383fd10972d2b441f66b59a6ce5cb1c0ae7b3
2023-04-11 12:05:12 +00:00
Sean Park-Ross
3509ef8afc Docs: Mark Migrations as applied
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8437
GitOrigin-RevId: 3d0cfbdd7c2fb14af1d761abc1bf4f883fc5d516
2023-04-11 12:02:41 +00:00
Rob Dominguez
a5dec6ca72 docs: add env var instructions for snowflake
[DOCS-837]: https://hasurahq.atlassian.net/browse/DOCS-837?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8628
GitOrigin-RevId: 7441f15dea3aaf21d18df8b5606a4b4bd971c9d3
2023-04-11 11:07:37 +00:00
Vijay Prasanna
a1f82dde61 console: update CockroachDB release type to GA
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8671
GitOrigin-RevId: 78f79c0cf01abae4d749ded7c9613630c42ca1bd
2023-04-11 11:03:33 +00:00
Gil Mizrahi
5d518f62a9 cleanup(tests): remove the type class in logimo typechecking test
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8698
GitOrigin-RevId: 367cbc38ee7260c499a42b249b94463f2235ae0f
2023-04-11 10:29:39 +00:00
Abhijeet Khangarot
51afe114a5 frontend: fix react-bootstrap modal with radix modal
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8706
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: 7b6db44363bd797d1af00517d6a7b2ef6471fff7
2023-04-11 09:50:46 +00:00
Gil Mizrahi
4696b60ec7 chore(debugging): convert trace ghc warnings to hlint warnings
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8700
GitOrigin-RevId: 29b1ee9172bb10823420de9555c3e22f9846facd
2023-04-11 09:06:56 +00:00
Vijay Prasanna
6df11fbf2c console: add mariadb to the list of enterprise drivers
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8692
GitOrigin-RevId: d3a72c26212bb388dc3945e1d28d5d181385d9d6
2023-04-11 08:29:43 +00:00
David Overton
346804fc67 Support nested object fields in DC API and use this to implement nest…
## Description

This change adds support for nested object fields in HGE IR and Schema Cache, the Data Connectors backend and API, and the MongoDB agent.

### Data Connector API changes

- The `/schema` endpoint response now includes an optional set of GraphQL type definitions. Table column types can refer to these definitions by name.
- Queries can now include a new field type `object` which contains a column name and a nested query. This allows querying into a nested object within a field.

### MongoDB agent changes

- Add support for querying into nested documents using the new `object` field type.

### HGE changes

- The `Backend` type class has a new type family `XNestedObjects b` which controls whether or not a backend supports querying into nested objects. This is currently enabled only for the `DataConnector` backend.
- For backends that support nested objects, the `FieldInfo` type gets a new constructor `FINestedObject`, and the `AnnFieldG` type gets a new constructor `AFNestedObject`.
- If the DC `/schema` endpoint returns any custom GraphQL type definitions they are stored in the `TableInfo` for each table in the source.
- During schema cache building, the function `addNonColumnFields` will check whether any column types match custom GraphQL object types stored in the `TableInfo`. If so, they are converted into `FINestedObject` instead of `FIColumn` in the `FieldInfoMap`.
- When building the `FieldParser`s from `FieldInfo` (function `fieldSelection`) any `FINestedObject` fields are converted into nested object parsers returning `AFNestedObject`.
- The `DataConnector` query planner converts `AFNestedObject` fields into `object` field types in the query sent to the agent.

## Limitations

### HGE not yet implemented:
- Support for nested arrays
- Support for nested objects/arrays in mutations
- Support for nested objects/arrays in order-by
- Support for filters (`where`) in nested objects/arrays
- Support for adding custom GraphQL types via track table metadata API
- Support for interface and union types
- Tests for nested objects

### Mongo agent not yet implemented:

- Generate nested object types from validation schema
- Support for aggregates
- Support for order-by
- Configure agent port
- Build agent in CI
- Agent tests for nested objects and MongoDB agent

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7844
GitOrigin-RevId: aec9ec1e4216293286a68f9b1af6f3f5317db423
2023-04-11 01:30:37 +00:00
Sean Park-Ross
a1cd2b8176 Docs: Websocket Auth Clarification
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8695
GitOrigin-RevId: c19c121083e768d805d2adad38f7027ecd134957
2023-04-10 15:33:44 +00:00
Daniel Harvey
99b0139275 chore(server): variable renaming around custom return type permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8624
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 901db6df865ce0433399731f878c6f3a10cf6e87
2023-04-10 14:17:20 +00:00
Puru Gupta
c54697b958 server: enable remote schema to remote schema relationship for unauthenticated context
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8562
GitOrigin-RevId: 2b1e2241fd2dbe379d5f9e40224e1245f1188475
2023-04-10 13:35:38 +00:00
Karthikeyan Chinnakonda
ddf34d9ffa Miscellaneous scheduled triggers fixes
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8618
GitOrigin-RevId: f9e3eb0d3d8b2ba36344b9ce0739c6a51e77f59e
2023-04-10 12:27:21 +00:00
Rakesh Emmadi
b18c86c7f7 docs: document the strict parameter in healthz API reference
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8693
GitOrigin-RevId: 9201279658a474da7624ab439345ef62fbc56fc4
2023-04-10 11:45:48 +00:00
Vijay Prasanna
33bea64ed1 console (fix): Remove cloud/pro only check for dynamic db routing
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8661
Co-authored-by: Sooraj <8408875+soorajshankar@users.noreply.github.com>
GitOrigin-RevId: 9216c4a04e49a35b13ace6aa0312a0fe4665ab87
2023-04-10 10:57:07 +00:00
Toan Nguyen
5715fe4931 console: remove the response_size > 0 filter in the Operations table
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8656
GitOrigin-RevId: c6d160a75dfe87dae8f870e9bc0a2113bb0f846d
2023-04-07 12:03:08 +00:00
Vishnu Bharathi
eabbb917ed ci: tag release v2.22.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8681
GitOrigin-RevId: 79762246e1115f6495d9f4b06d2ec9f43254b5e2
2023-04-07 11:15:45 +00:00
Naveen Naidu
2814735a20 server: fix dirty read of schema cache
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8677
GitOrigin-RevId: 615bfb4dc8d22a46a87ceb76c5f89d608e88f97d
2023-04-07 09:23:03 +00:00
Daniel Chambers
2e443401f3 Update super connector version in Oracle compose file
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8674
GitOrigin-RevId: 985bf9249e63756d082748b0fafc8ead18916ec7
2023-04-07 02:16:08 +00:00
Daniel Chambers
a93fb4f11a Update versions of HGE in super connector-based compose files used by docs
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8673
GitOrigin-RevId: f9372eb69398cc058f81606d46f5250c77240890
2023-04-07 01:37:10 +00:00
Daniele Cammareri
9140d2c83b doc: add validation for dynamic routing
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8669
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitOrigin-RevId: a1fe971ae0b62ea90da6f4a1ac303293fa7b8a44
2023-04-06 18:21:59 +00:00
Varun Dey
5addb8cfca console: Use case experiment
[GT-555]: https://hasurahq.atlassian.net/browse/GT-555?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8621
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: f7d192f637948eebdf157d7ee6e9834da42bd3a9
2023-04-06 17:35:47 +00:00
Daniele Cammareri
904803c09d console: add connection template validation for dynamic routing
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8527
GitOrigin-RevId: 8906b92e4ab97e92547220fada146707d8085e57
2023-04-06 16:27:57 +00:00
Antoine Leblanc
0476331136 small cleanups of pro's init
### Description

(This PR is better reviewed commit by commit.)

This PR is an aggregation of small incremental changes to Pro's init:
- it deletes some dead code,
- it starts reorganizing the code of that file by sections, similar to OSS' init,
- it extracts and cleans up license key cache init (groups several blocks of code in one separate function)
- makes some changes to a service class to reduce the dependency on `_acAppStateRef`

This PR is a first step: our goal is to move the schema cache build _in_ the app monad, in order to achieve #8344. To do so, we will need to remove `_acAppStateRef` from Pro's `AppContext`. There are two different paths we can take from here, which is why i cut this PR here:
- the first would be to change the different instances we implement on `AppM` to take as an argument the parts of the schema cache they depend on, rather than reading them from `_acAppStateRef`; as of this PR, `MetricsConfig` is the only such field;
- the second would be to apply the same strategy we already used for the TLSAllowList, and use a `IORef` that can be updated after the schema cache is built; this change would have a smaller footprint, but introduces one new `IORef` per such field, which feels something we don't want to generalize

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8655
GitOrigin-RevId: 809697d460bdb5c83ef7d30a2e835f589bcd80a6
2023-04-06 15:37:15 +00:00
Rikin Kachhia
ed9f120241 docs: add cloud use case based onboarding guides
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8578
Co-authored-by: Abhijeet Khangarot <26903230+abhi40308@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Aaysha <109507451+aayshasura@users.noreply.github.com>
Co-authored-by: nevermore <31686586+OjasWadhwani@users.noreply.github.com>
Co-authored-by: Priya Sharma <25654753+PriyaSharma45@users.noreply.github.com>
Co-authored-by: Vaishnavi <85152989+vaishnavigvs@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: a2f5154c1dece4513c8b86849a5e54cbf3560cbb
2023-04-06 14:45:21 +00:00
Julian@Hasura
ec0fec5166 console: Fix empty columns on mysql permissions builder
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8654
GitOrigin-RevId: 40a29888d94856792b454b73c052a4bd1b6c4dc4
2023-04-06 13:38:13 +00:00
Sean Park-Ross
32fd3e04be Docs: Zero downtime env var updates admonition
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8642
GitOrigin-RevId: 43489870696ec745e885d466e45554c48f814ba7
2023-04-06 12:54:55 +00:00
Tirumarai Selvan
8b49d28ea8 Rename title for dynamic routing and other edits
- Renames feature to Dynamic Routing or Dynamic Routing for Databases (as appropriate)
- Adds a heading for How it works

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8663
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: dea48043ce490cd4cda7d37e8a2e1633945596fb
2023-04-06 12:20:19 +00:00
Samir Talwar
6d79b7dfaf make: Add run-oss-server, and associated frontend targets.
`make run-oss-server` will now build the Console for OSS ("CE"), start PostgreSQL, and run a simply-configured server.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8652
GitOrigin-RevId: cada25e66fe216867ff331d597764e64aaf2dc19
2023-04-06 08:53:13 +00:00
Stefano Magni
ab02ed21f6 chore(console): Mention another source of flakiness in the testing best practices
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8660
GitOrigin-RevId: 07f38ad31a256b55b570aad72d127698dbb50042
2023-04-06 08:03:54 +00:00
Rob Dominguez
281f23f8b6 docs: update ee trial instructions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8653
GitOrigin-RevId: d4a3a2762d347584cdf8c160e866c6987f5b4e30
2023-04-06 03:14:38 +00:00
paritosh-08
774075a709 server: add code field to warning object in metadata API responses
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8601
GitOrigin-RevId: 7034c0a04b87c44731680917aa3946084b705959
2023-04-06 02:41:24 +00:00
Tom Harding
3cef692dd7 feature(server): Get _all_ source tables
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8649
GitOrigin-RevId: 4bb9311d1d7ab4e8ee641bde5df2babcb1b8b306
2023-04-05 20:16:14 +00:00
Philip Lykke Carlsen
41a5092b97 refactor(tests): Support componentised Postgres fixtures, port SimpleObjectSpec
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8607
GitOrigin-RevId: b068f7308fa8fa4b626aa2f9352da3965b03fa34
2023-04-05 18:05:37 +00:00