Commit Graph

5647 Commits

Author SHA1 Message Date
Auke Booij
2d055df2a4 server: Simplify BuildOutputs
A bunch of configurations are retrieved from the Metadata, then stored in the `BuildOutputs` structure, only to then be forwarded to the `SchemaCache`, with extremely little processing in between.

So this simplifies the build pipeline for some parts of the metadata: just construct those things from `Metadata` directly, and store them in the `SchemaCache` without any intermediate container.

Why did we have the detour via `BuildOutputs` in the first place? Parts of the Metadata (codified by `MetadataObjId`) can generate _metadata inconsistencies_ and/or _schema dependencies_, which are related.

- Metadata inconsistencies are warnings that we show to the user, indicating that there's something wrong with their configuration, and they have to fix it.
- Schema dependencies are an internal mechanism that allow us to build a consistent view of the world. For instance, if we have a relationship from DB tables `books` to `authors`, but the `authors` table is inconsistent (e.g. it doesn't exist in the DB), then we have schema dependencies indicating that. The job of `resolveDependencies` is to then drop the relationship, so that we can at least generate a legal GraphQL schema for `books`.

If we never generate a schema dependency for a certain fragment of Metadata, then there is no reason to call `resolveDependencies` on it, and so there is no reason to store it in `BuildOutputs`.

---

The starting point that allows this refactor is to apply Metadata defaults before it reaches `buildAndCollectInfo`, so that metadata-with-defaults can be used elsewhere.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6609
GitOrigin-RevId: df0c4a7ff9451e10e02a40bf26304b26584ba483
2022-11-15 12:04:13 +00:00
Gil Mizrahi
15b3ac0aee ghc 9.2.5
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6777
Co-authored-by: Samir Talwar <47582+SamirTalwar@users.noreply.github.com>
GitOrigin-RevId: 916abab76446cf7c4e1e63dc112ba4994ab4d23d
2022-11-15 11:26:42 +00:00
Tom Harding
502115f969 Bump aeson to v2.1, drop the Extended module
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6869
GitOrigin-RevId: ecb2f7dfe7d00c0a01999c12b0264be7850e0f42
2022-11-15 10:44:36 +00:00
Daniele Cammareri
0a73187c8d console: add a generic mock that emulates metadata api
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6194
GitOrigin-RevId: f58c98b16ab156e742ab8a446124136fb4b0e638
2022-11-15 09:29:56 +00:00
Mohd Bilal
8fa2d4ffa2 cli: refactor internal/metadatautil package to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6391
Co-authored-by: Aravind K P <8335904+scriptonist@users.noreply.github.com>
GitOrigin-RevId: 3ec15e9517fd9e8822631717a89a5ad35fc56ebd
2022-11-15 09:00:12 +00:00
Mohd Bilal
3353d77c50 cli: refactor internal/metadataobject/actions/cli_extension and internal/metadataobject/actions/editor packages to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6828
GitOrigin-RevId: 0f86da5c4a0bd0f3b6b49cc37cf7fc83279f9fb5
2022-11-15 08:24:15 +00:00
Daniel Chambers
1a7d7fd0c0 Fix Data Connector TS type generation CI check and regenerate types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6866
GitOrigin-RevId: 7ecfdaa4af9ca7dc7b349bd8981f6ef083f5a543
2022-11-15 07:51:51 +00:00
Solomon
d0a77a9f28 Prevents creation of duplicate GDC agent source kinds.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6865
GitOrigin-RevId: e3b3c68e91b22307ef4a9f215e34234b875d802f
2022-11-15 00:40:56 +00:00
Brandon Martin
22e6d7afcd server: Add Uppercase option to tests-dc-api
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6863
GitOrigin-RevId: 6e4950786cebedcbfcff26fed691a6b6bf0c1aa3
2022-11-14 23:08:26 +00:00
Daniel Harvey
ab0f67cfd9 [server/tests] fallback to default postgres port when none is provided
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6860
GitOrigin-RevId: abe30f2fa1df89281dae0ffaf9ef20ef50cf7d33
2022-11-14 22:38:28 +00:00
Philip Lykke Carlsen
9d4950f603 server/tests: Integrated tool to probe pg compatibility
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6859
GitOrigin-RevId: 33eb82a22aca5e6982beeee075f904f514dc7a39
2022-11-14 22:01:37 +00:00
Mohd Bilal
7f7640f988 cli: refactor commands/metadata_handlers.go to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6719
GitOrigin-RevId: 92540116b5aa8c106f6543a2a12096c69d93dbd9
2022-11-14 21:31:58 +00:00
Mohd Bilal
cd72240450 cli: refactor internal/diff to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6696
GitOrigin-RevId: e668b0acf73f9598489f07e25577be997b211c28
2022-11-14 20:58:46 +00:00
paritosh-08
ec13a55fd5 server: add validation for response transforms
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6821
GitOrigin-RevId: 88abcc408d0a1b73024356d9b32881bc3d4d746c
2022-11-14 15:19:23 +00:00
Abby Sassel
b7a09a42c1 NDAT-293 Update feature matrix with features tested in api-tests suite
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6855
GitOrigin-RevId: 37f8193b8528f90955d55d2812f6f45afca054c8
2022-11-14 14:37:30 +00:00
Erik Magnusson
4164f36bca hotfix: add functionality to make data tab filter read url values
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6854
Co-authored-by: Luca Restagno <59067245+lucarestagno@users.noreply.github.com>
GitOrigin-RevId: 1e09591ecd6ef3c59e9ac157547c93a9eb7ac39e
2022-11-14 13:59:06 +00:00
Samir Talwar
9fe793e828 Split the Docker Compose files into pieces.
With the vague idea that we can eventually avoid publishing ports at all, at least in CI, while still having the flexibility to publish ports locally.

If we can get there, it should help with the issues we're seeing on CI, where ports are already allocated from previous runs and containers aren't properly cleaned up.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6836
GitOrigin-RevId: 1d636c73ae889e45e80ad52042c56daa1b9d5838
2022-11-14 12:39:37 +00:00
Samir Talwar
99660189d7 Regenerate cabal.project.freeze, and ensure it doesn't drift in the future.
This regenerates _cabal.project.freeze_ using the new `--normalize` flag in _scripts/cabal-freeze-update.sh_. This flag simply skips the `cabal update` step.

I also added a section to preserve the liberal GHC version, as we currently run GHC v9.2.4.20220919 on CI, and most developers just run v9.2.4 locally. This can be removed once we upgrade to v9.2.5.

Finally, I have added a GitHub Action which ensures that the checked-in cabal.project.freeze file does not change upon re-normalization. As we don't run `cabal update`, this should be stable.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6815
GitOrigin-RevId: 8cd3b5f3bbe5c61d8d3f61dfcc93b9d7c278419f
2022-11-14 11:51:51 +00:00
Stefano Magni
681f2baf3e console(platform): Generate the source maps for the Cloud Console
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6734
GitOrigin-RevId: d14db3a59fcfb7c99e40fe5aa57baa451e238ecd
2022-11-14 10:01:36 +00:00
Mohd Bilal
913b8a8059 cli: refactor metadata diff and metadata export commands to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6703
GitOrigin-RevId: 50d72be3f5de0e1f4bdcc2067f06ce136cd200d1
2022-11-14 07:29:37 +00:00
Lyndon Maydwell
6f9f44a441 Data Connectors API 400 error response - GDC-619
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6839
GitOrigin-RevId: 813ea5e976ff41754e7500abf6bcd0c8b70c960e
2022-11-14 05:26:16 +00:00
Philip Lykke Carlsen
6470eeb7f6 server/tests: Feature Matrix Compatibility Report
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6827
GitOrigin-RevId: f4d93684e5f47a6e43b4e870d2c87dbdee8f0bd8
2022-11-10 22:59:24 +00:00
Abby Sassel
8726236a9d NDAT-316 Improve askSourceInfo error reporting _even more_
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6835
GitOrigin-RevId: c15bea414176878c6ec96674376858294e48255b
2022-11-10 19:24:34 +00:00
paritosh-08
0b827fae66 server: remove built-in scalars from graphql schema printer
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6541
Co-authored-by: Auke Booij <164426+abooij@users.noreply.github.com>
GitOrigin-RevId: 5a2e35da2cf8718ee452429c56986066a3dc0c54
2022-11-10 18:53:05 +00:00
Harish Nair
4b90c8219a docs: add note on partial unique index support
>

## Description ✍️

Hasura currently does not support the use of partial unique indexes in upsert mutation as can be seen in [this issue](https://github.com/hasura/graphql-engine-mono/issues/4165). Call out this fact in the documentation.

## Affected components ✍️

-  Docs

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5019
GitOrigin-RevId: adfb19acfe3f920bcc5865ae4424c3ce148c5b7c
2022-11-10 18:01:29 +00:00
Matthew Goodwin
d829585e9c console: InputField clear button
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6767
GitOrigin-RevId: 2d6a68507a7e7970b68d4eb25ea665c9269a49af
2022-11-10 17:00:01 +00:00
Rob Dominguez
4e621fa48a docs: resolve docker networking after guides restructure
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6823
GitOrigin-RevId: 7588f2b73a699565b38a6ac9ef58a708a4ad40e4
2022-11-10 16:32:01 +00:00
Jesse Hallett
31e402e767 server: remaining codecs for function metadata
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6654
GitOrigin-RevId: a9d24c72078d2a2b0c8a62a6084d5ab86518fdeb
2022-11-10 16:17:13 +00:00
Mohd Bilal
8e2a18b256 cli: refactor internal/cliext to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6695
GitOrigin-RevId: 11c1519e082103775ce3ffb1e2a95c766a299469
2022-11-10 15:41:57 +00:00
Mohd Bilal
4c24e6d56b cli: refactor internal/fsm to use internal/errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6694
GitOrigin-RevId: 96938d65f8de857c87e37b7d0fc508cee6436340
2022-11-10 14:58:49 +00:00
Nicolas Beaussart
e084dea9f8 console: cleenup makefiles
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6830
GitOrigin-RevId: 15f8f8f47dcb0f94d83fc8b9274a7b20af6f4a9b
2022-11-10 14:26:41 +00:00
Varun Choudhary
bc594e0554 console: e2e test for response transform
This PR adds e2e tests for actions response transform

### Related Issues ✍

https://hasurahq.atlassian.net/browse/GS-247

### Steps to test and verify ✍

1. run console locally from this branch
2. run cypress test (actions -> actionWithTransform)

### Limitations, known bugs & workarounds ✍
Didn't add any negative test cases because there is no validation error from server side for response transform.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6781
GitOrigin-RevId: da1986dba1cb12073b9d6052341906d3350997e9
2022-11-10 13:46:48 +00:00
Mohd Bilal
1cb217725a cli: fix response_transform field missing from actions metadata object
closes https://github.com/hasura/graphql-engine/issues/9182

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6814
GitOrigin-RevId: 8d89610938bfc42191abce561affcef9cf2036db
2022-11-10 13:10:46 +00:00
Varun Choudhary
12da55a1b7 console: show total max connection for cloud only and some UX improvements
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6820
GitOrigin-RevId: 36cd55c7e57244771d3ffa5d0e2f12c2f713a31e
2022-11-10 12:40:50 +00:00
Abby Sassel
63ec04493a NDAT-316 Improve askSourceInfo error reporting
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6807
GitOrigin-RevId: b27e642079915c3f0ca85d88195fe323e18800c1
2022-11-10 11:48:02 +00:00
Samir Talwar
65cda31ec4 CI: Bump Docker healthcheck timeouts.
We seem to be hitting dependency healthcheck timeouts a lot in CI. Let's see if we can stabilize just by waiting longer.

I know, sadface.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6817
GitOrigin-RevId: b7dfb5975e83b2c5476605b0995c51a89fd3b974
2022-11-10 10:17:39 +00:00
Tom Harding
c0070bfd4b Add the ability to run api-tests against any (Postgres-like) connection string.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6791
GitOrigin-RevId: 5005eba75efbf7a0d7208be0a0794d63be82afd5
2022-11-10 09:44:11 +00:00
Samir Talwar
44a64ed983 server/test-harness: Wrap test resource setup/teardown.
When setting up a resource (typically some kind of web server) for use in tests, we need to remember to tear it down afterwards.

This moves this logic into one place, under the `TestResource` module.

Like `SetupAction`, it encapsulates setup and teardown, and also separates out waiting for the resource to be ready, so we don't accidentally leave it lying around in the case of a healthcheck failure.

Unlike `SetupAction`, it is monadic, and can be composed with other resources. In the future, we may want to adopt this logic for `SetupAction` too rather than using lists.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6806
GitOrigin-RevId: 74e2d76c5c09b8e0fe1cad84c9e77011f5a4d3db
2022-11-10 08:38:09 +00:00
Aravind K P
ef8ff76209 cli: fix plugins subcommands
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6811
GitOrigin-RevId: 0a6537d8d487a032ea3338ef1ad90e8e39dcfc63
2022-11-10 06:43:46 +00:00
awjchen
7d6e713d9f pro-server: hotfix: respect analyze_query_variables in logs
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6754
GitOrigin-RevId: 3f1b0000d2962bd02708786331595828cf99b38c
2022-11-09 23:31:59 +00:00
hasura-bot
a9b980a705 Fix typo
GITHUB_PR_NUMBER: 9143
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/9143

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6816
Co-authored-by: Rowland I. Ekemezie <15085641+rowlandekemezie@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: ae727cb8526d5377997e94582dd49a4833fcdbe1
2022-11-09 22:18:32 +00:00
Matthew Goodwin
b8d5945f1f feat: InputField wrapper component for enabling GraphQL field sanitization
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6714
GitOrigin-RevId: 3bad941537fb7022bd8058ec716b4d72dd876e2e
2022-11-09 16:47:03 +00:00
Rob Dominguez
05df0c73f6 docs: fix link from hotfix on deployment
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6810
GitOrigin-RevId: 26259ee3c1458c460caab7135a7a4f3f8f4600d1
2022-11-09 15:43:06 +00:00
Philip Lykke Carlsen
eb9506d954 server/tests: Structured logging in tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6805
GitOrigin-RevId: 4e4d3c12bad20948b5ad58b3ad6d1e882f4ceddb
2022-11-09 14:56:12 +00:00
hasura-bot
b3ac127384 feat: Security translation in Kannada (KAN_IN)
GITHUB_PR_NUMBER: 9139
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/9139

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6464
Co-authored-by: Supriya M <30731236+supminn@users.noreply.github.com>
GitOrigin-RevId: 6eeecc45ef9aee58018efc86c1521a5cb51fb6d8
2022-11-09 13:59:29 +00:00
Varun Choudhary
3b5736495a console: ui improvement for total max connection
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6802
Co-authored-by: Daniele Cammareri <5709409+dancamma@users.noreply.github.com>
GitOrigin-RevId: b33e483c7849ce80e516a4fc6830776f1765eb5c
2022-11-09 13:33:49 +00:00
Adron Hall
027cf7c0fb Adding Experimental feature flag and URI path for docker compose files.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6797
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: ce1a6ee81b41b4fbcc5f1d08de0de42e4ed67438
2022-11-09 12:33:36 +00:00
Varun Choudhary
10815580fa console: add Toggle All button to select all columns for update Event Triggers operation
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6723
GitOrigin-RevId: aeba65030c52de5492b4eb187ef6607528c7dc15
2022-11-09 12:09:13 +00:00
Daniel Harvey
22556a482e tooling: update Mac compile guidance
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6804
GitOrigin-RevId: 43ce24a2dbbf2e8e5d1418d96ff552a324645e5f
2022-11-09 10:23:16 +00:00
Erik Magnusson
d16924f50f console: refactored browse rows to refetch on every table name change
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6800
GitOrigin-RevId: 139ab75efff584baf1619bde46dc55e7e6d3250f
2022-11-09 10:06:54 +00:00