Commit Graph

4158 Commits

Author SHA1 Message Date
jkachmar
6720aef26f server: Clean up Cabal project files
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4105
GitOrigin-RevId: 423eecf04061ca8d5ee036a84ee6792036a149e4
2022-04-07 07:16:12 +00:00
Varun Choudhary
250bf6a691 console: add a radio card selector component [CON-106]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4135
Co-authored-by: Alberto Francesco Motta <36401353+afmotta@users.noreply.github.com>
GitOrigin-RevId: 278cafd7098180865bab679ea8738c4d1096e2c6
2022-04-07 05:35:39 +00:00
Philip Lykke Carlsen
fb5f016b1c Remove class IsPerm
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4040
GitOrigin-RevId: 2f022bab90ab06486358fde25f68be8ec0092d27
2022-04-06 12:48:37 +00:00
hasura-bot
4c1c4cd773 fix(console): actions search case insensitive (close #6351)
GITHUB_PR_NUMBER: 8368
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/8368

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4144
Co-authored-by: Alex Parra <10448714+alex-parra@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Alberto Francesco Motta <36401353+afmotta@users.noreply.github.com>
GitOrigin-RevId: ea782e59e9e1a7ded032aa3821012dfaa2aa34db
2022-04-06 09:21:21 +00:00
Evie Ciobanu
42480ee902 server: X -> MSSQL remote joins
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4097
GitOrigin-RevId: f39b82bac26f6ade83bd4f5e996dc26f5e048365
2022-04-06 07:20:10 +00:00
Matt Hardman
0b2944993f console: add RS-to-RS widget component [CON-75]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4149
Co-authored-by: Abhijeet Khangarot <26903230+abhi40308@users.noreply.github.com>
Co-authored-by: Sooraj <8408875+soorajshankar@users.noreply.github.com>
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: edadaf0afc6060146e3e55fa4dc55cf9d027011d
2022-04-06 06:11:12 +00:00
Solomon
f3aac06dd2 Rewrite ir generators
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4094
GitOrigin-RevId: f592adbd686aa7cc78c094d5d4b88f4b62500d18
2022-04-05 22:09:40 +00:00
Robert
dfb72ecbad server: fix unexpected behaviour of waitForShutdown
With the current implementation, only the first call to `waitForShutdown` on a given
`ShutdownLatch` will return, while others will block (typically indefinitely). That's not
how one would expect a shutdown latch to work.

This isn't currently a concrete issue because we only wait once on each `ShutdownLatch`.
But in the context of #4154 we'll probably end up wanting to wait for shutdown from
multiple threads.

This adds a number of tests to verify the current behaviour, and adds a test for multiple
`waitForShutdown` calls that fails prior to the functional change.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4162
GitOrigin-RevId: 9a108858d11390b847404f30bc7b93c06fc3f966
2022-04-05 21:07:30 +00:00
Auke Booij
d6d5c55c13 Add more "conflicting types" checks
In hasura/graphql-engine@7547786b2b, we made the logic that does a specific correctness check on the GraphQL schema runnable _post_-startup. However, in order to error out as early as possible, we explicitly do it on startup anyway.

Unfortunately a few instances of that logic were forgotten: until now we only executed it for non-relay authenticated GraphQL schemas.

This re-implements the "conflicting types" check for both the Relay schema, and for the unauthenticated schemas.

One key point where it does _not_ re-implement it is in `buildFullestDBSchema`, which is a very sketchy method that builds a GraphQL schema that is _only_ used internally in order to mark parts of the schema as inconsistent. There are two reasons I do not add the check here:
- This logic should get replaced entirely - see hasura/graphql-engine-mono#3882.
- Having conflicting types in `buildFullestDBSchema` does not imply there is actually a user-facing issue. The only "conflicting types" which are problematic are the ones which result in illegal _user-facing_ GraphQL schemas. `buildFullestDBSchema` is _never_ user-facing.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3885
GitOrigin-RevId: 49517dcbf51bcd97a3890514ec5e47499f770f32
2022-04-05 20:13:19 +00:00
Auke Booij
dfd09159ec Fix JSON encoding issue (fix hasura/graphql-engine#7543 and hasura/graphql-engine#8200)
`encJFromAssocList` is broken since it does not appropriately escape the keys of the JSON dictionaries. Presumably it should.

This is a hotfix for a JSON encoding issue. Longer-term solutions are being discussed in hasura/graphql-engine-mono#3736.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4139
GitOrigin-RevId: 27afff319d268a4ec017c8eafd694cc17c2fd7f0
2022-04-05 19:11:30 +00:00
Robert
4ee39a4e51 server tests: Run forgotten specs
- adds Hasura.Session and Data.Parser.URLTemplate specs to the
  list of specs to run
- minor naming cleanup

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4161
GitOrigin-RevId: 4bea54337268f3d2e28d0c68e8304098dbad893b
2022-04-05 18:15:27 +00:00
Auke Booij
8b103cc45a More direct encoding from Text to EncJSON
This avoids an intermediate step through `ByteString`.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4160
GitOrigin-RevId: 50688746fac5b4c315bcb1c0dd54eefe2dc0b565
2022-04-05 16:57:17 +00:00
Brandon Simmons
fdea752679 server/ci: rework version baking, and cache dist-newstyle in CI
UPDATE: After testing in CI it turns out that the compile time Improvement is better than expected: even though we always have to recompile the OSS lib (due to Version.hs), downstream packages like Pro and multi-tenant can still benefit from some caching and avoid full recompilation.  In the best case this takes us from 22 minutes to 13 minutes total.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4104
GitOrigin-RevId: 76cbfc157064b33856e30f4c2b2ab2366f9c6089
2022-04-05 15:59:09 +00:00
hasura-bot
dcd3ccb75b docs: update gridsome-postgres-graphql sample app
GITHUB_PR_NUMBER: 8361
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/8361

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4110
Co-authored-by: Catalin Pit <25515812+catalinpit@users.noreply.github.com>
GitOrigin-RevId: d13d274dfb529fcd92d93cf4ecc2bfb949fd2cc3
2022-04-05 14:53:27 +00:00
Abhijeet Khangarot
78d870f583 console: add a new relationship tab for tables
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4126
Co-authored-by: Alberto Francesco Motta <36401353+afmotta@users.noreply.github.com>
GitOrigin-RevId: 044802e076fd2721c12b152784dfb53e9eedbb73
2022-04-05 14:49:44 +00:00
hasura-bot
01e5be146f community: update nuxtjs-postgres-graphql sample app
GITHUB_PR_NUMBER: 8359
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/8359

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4103
Co-authored-by: Catalin Pit <25515812+catalinpit@users.noreply.github.com>
GitOrigin-RevId: b811692e1e61eb0aae0b87d7935863d725af161a
2022-04-05 13:25:32 +00:00
Rakesh Emmadi
3f36b7c956 server/mssql: fix SQL generation for check constraints with relationships (fix #8225)
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4136
GitOrigin-RevId: 5fe54fe2118ac0309f5ed39696214f9b22768edf
2022-04-05 10:10:32 +00:00
Tirumarai Selvan
8ef270404a support for graphql-ws is considered GA
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4155
GitOrigin-RevId: 40033eb41849e88fc1b7a84a607ae9ce4abccf0b
2022-04-05 08:50:57 +00:00
Karthikeyan Chinnakonda
b9b5c3dafe server: fix bug in rate limiting
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3904
Co-authored-by: Naveen Naidu <30195193+Naveenaidu@users.noreply.github.com>
GitOrigin-RevId: d78180b675955c6bb9c118f9839857380175093d
2022-04-05 07:19:21 +00:00
Rikin Kachhia
bdd76adc74 console: remove need for clicking Modify before editing remote schema
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4092
Co-authored-by: hasura-bot <30118761+hasura-bot@users.noreply.github.com>
GitOrigin-RevId: b318e4d8f7c3d94a4b0aa5b55db9847e66cb6004
2022-04-05 06:06:20 +00:00
Vijay Prasanna
d850086479 console: add RS-to-DB (only postgres & citus) relationships feature to remote schemas tab [CON-96]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4123
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
GitOrigin-RevId: 23c897b33d9051046ecf8a8837489318dd822c20
2022-04-04 19:37:16 +00:00
Gil Mizrahi
b145203345 tests-hspec: use forFinally_ in teardown
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4148
GitOrigin-RevId: 60eb54dd2864d640cfb7d113329dc358bb81a7bd
2022-04-04 14:46:09 +00:00
Auke Booij
3833aaaba9 server: simplify interpretation of concrete monads into abstract arrows
During the preparation of [my talk on monad interpretation](https://www.youtube.com/watch?v=cRh56LGzwas), I realized that the interpretation technique is not lawful for monad transformers in general. This fixes that, while also simplifying the approach a little bit.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4134
GitOrigin-RevId: 7296a44185e6a87a81ac7efcdd9c7bdd9665a4e3
2022-04-04 12:36:35 +00:00
Antoine Leblanc
b4f7e96665 Rewrite GraphQL.Analysis
### Motivation

While we strive to write clear code, we have historically struggled at Hasura with having very different styles and standards across the codebase. There's been efforts to standardize our coding style, we have an official styleguide that isn't maintained as closely as it should... We still have some work in front of us.

However, in the last ~year or so, there's been a huge push towards incrementally improving the situation. As part of this we've been blocking PRs that don't add enough comments, or don't improve the files that they touch.

While looking at `Hasura.GraphQL.Analyse`, it became apparent that this file did not meet the engineering standards that I would expect to see addressed during a code review. Some ways in which I think it falls short:
- lack of documentation
- no clear distinction between public / internal components
- "unidiomatic" Haskell code (such as using `Either Result Error`)

While there's no problem with a file looking like this during development, those issues should have been caught at review time. The fact that they weren't indicates a problem in our process that we will need to address: code quality and maintainability is paramount, and we all need to do our part.

### Description

This PR rewrites all of `Hasura.GraphQL.Analyze`, and adapts `Hasura.Server.OpenAPI` accordingly where needed. I've attempted to clarify names and add documentation based on my understanding of the code, and to clean what was unused (such as field variables). I don't think this PR is good enough as is, and I welcome criticism where I got my comments wrong / am happy to help y'all add more.

This PR makes one small change in the way error messages are reported (and adjusts the corresponding test accordingly); each error message is now prefixed with the path within the selection set:
```
⚠️ $.test.foo.bar.baz.mizpelled: field 'mizpelled' not found in object 'Baz'
```

### Note

This PR is currently **on top of #3962**. You can preview the changes in isolation by [diffing the branches](https://github.com/hasura/graphql-engine-mono/compare/nicuveo/clean-rest-endpoint-inconsistency-check..nicuveo/rewrite-analysis).

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3963
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
GitOrigin-RevId: 5ec38e0e753f0c12096a350db0737658495e2f15
2022-04-04 05:54:59 +00:00
Robert
cabcc22d5f ci: disable numeric underscore hlint warning
This suggests to e.g. reformat a port number as 8_001 which is
a bad idea.

See e.g. here: https://github.com/hasura/graphql-engine-mono/pull/4082/files

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4140
GitOrigin-RevId: 655d09bd439847e3a5021af787183f95b0b84975
2022-04-01 15:42:08 +00:00
Vijay Prasanna
5e050d2db6 console: add RS-to-DB form widget [CON-110]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4085
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
GitOrigin-RevId: d2c4ae15e539e71eba13b3cc4098638c2c98dcae
2022-04-01 12:17:04 +00:00
Tirumarai Selvan
4b9cbe9cc5 docs: add examples to depth limits
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4098
GitOrigin-RevId: 92f0e1565d1720442bcf8b930f9033e5d515549f
2022-04-01 10:44:04 +00:00
Karthikeyan Chinnakonda
330f9b6e26 server: drop the dropping trigger logic while creating/recreating an event trigger
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4101
GitOrigin-RevId: 12a2736e4d88dfb8379cd54f4beaedac32795d7d
2022-04-01 10:39:35 +00:00
jkachmar
4189122a3d server: Remove unused server tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4032
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 7d482d258b16891418d6f48b0a0193dbbe4dfe4c
2022-04-01 09:38:54 +00:00
Rakesh Emmadi
546f4994b6 server/gardening: rename IR insert mutation types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4116
GitOrigin-RevId: ca3dd951dff7ee840eb3787900fcc32ada7d8879
2022-04-01 06:44:08 +00:00
Sooraj
f6aa0216fd console: RS to RS widget UI changes
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4088
Co-authored-by: Matt Hardman <28978422+mattshardman@users.noreply.github.com>
Co-authored-by: Abhijeet Khangarot <26903230+abhi40308@users.noreply.github.com>
GitOrigin-RevId: 35f41ad826f5b5382aa60874502c1ec2556c9441
2022-04-01 05:41:55 +00:00
Daniel Chambers
a70e4979ee Moved GDW API types into their own internal lib
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4120
GitOrigin-RevId: e7688fdc5a5621c0b760c9169ebf61ce2aea4913
2022-04-01 01:21:29 +00:00
Aravind K P
e46777b7ea cli: fix formatting errors in query collection metadata
closes https://github.com/hasura/graphql-engine/issues/7616
closes https://github.com/hasura/graphql-engine/issues/8205

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3955
GitOrigin-RevId: dc97e23e78d522cb7ac4d57ad825526eaa90a4de
2022-03-31 14:02:49 +00:00
Rikin Kachhia
127bdcdf5c console: enable mssql aggregation query permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4125
GitOrigin-RevId: c57c1f6cff409033ec8e73297ddcc8235cf71d52
2022-03-31 12:39:19 +00:00
Vishnu Bharathi
7930dc048d ci: patch base images for security updates
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4121
GitOrigin-RevId: e021c22d0647440b5afefa65dbbedf6e201cd17f
2022-03-31 10:47:33 +00:00
Aravind K P
649ef41e3c cli: fix remote schema formatting errors in metadata
closes https://github.com/hasura/graphql-engine/issues/7608
closes https://github.com/hasura/graphql-engine/issues/7459

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3951
GitOrigin-RevId: bad3505c79fab10453580a6a43ad7e71bc2d3753
2022-03-31 08:28:30 +00:00
Divi
0baef156df ci: create a server test mode for PR builds
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3812
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: 5ea09770984c20af5e443f7be127ca89df513456
2022-03-31 05:48:54 +00:00
David Overton
44577dab1b Add ToSchema instances to GDW API types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4006
Co-authored-by: Daniel Chambers <1214352+daniel-chambers@users.noreply.github.com>
GitOrigin-RevId: 756ca0ed60865d0eb675562e8959f0d1839f9abe
2022-03-31 04:46:08 +00:00
Sai Krishna Prasad Kandula
c9d791bfd1 docs: Docusaurus after live changes/updates/fixes
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4093
GitOrigin-RevId: f7d57df2ed92cb3c7fcf1d6d6bebd5a1a07454d1
2022-03-30 16:38:17 +00:00
Evie Ciobanu
0572c072db server: document how to enable logging in hspec tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4115
GitOrigin-RevId: c43194976cf0d929b6e9160a6a4928eaf98d3a51
2022-03-30 15:50:27 +00:00
Rakesh Emmadi
22a5ebf287 server/bigquery: improve throwing upstream exceptions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4095
GitOrigin-RevId: e19ffe058aaffa1cfa8d155f2e3a6ecafd6aab13
2022-03-30 13:54:18 +00:00
Vishnu Bharathi
a3c707b718 ci: tag release v2.4.0 and v2.5.0-beta.1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4106
GitOrigin-RevId: 83594358cf511e7b5e1cd7d48a28e3e397a20682
2022-03-30 07:33:44 +00:00
Abhijeet Khangarot
c066fed060 console: add remote schema type selector component [CON-111]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4090
GitOrigin-RevId: 97081d564933dc11ff4b71bd49e5f54af4511d73
2022-03-30 07:00:49 +00:00
Rikin Kachhia
cb75226cf1 update changelog for v2.5.0-beta
<!-- Thank you for ss in the Title above ^ -->

## Description ✍️
<!-- Please fill this se-->
<!-- Describe the changes from a user's perspective -->

update changelog

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4099
Co-authored-by: Tirumarai Selvan <8663570+tirumaraiselvan@users.noreply.github.com>
GitOrigin-RevId: 5ac6a6bd36f2d0ebf7bd6873a0ea1d297fb92fe1
2022-03-30 04:03:19 +00:00
Varun Choudhary
0730eca6d8 CON-74-add-a-remote-schema-remote-database-radio-card-picker
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4081
GitOrigin-RevId: 6f169707420504d35395bd2af7552d4b4d4b2d1a
2022-03-29 17:04:38 +00:00
Abhijeet Khangarot
5e014d051c console: fix css import for AntD Tree
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4084
GitOrigin-RevId: 16d57317b4b83713240c538249fae4f757f48405
2022-03-29 11:12:12 +00:00
Daniel Chambers
5873429e54 console: Improved computed field comment support [CON-94]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3946
Co-authored-by: Sooraj <8408875+soorajshankar@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
GitOrigin-RevId: dfedf0f76c008b958630f66b58a59530e567a23d
2022-03-29 09:21:28 +00:00
hasura-bot
4bba04d0f6 docs: migrate to docusaurus
GITHUB_PR_NUMBER: 8048
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/8048

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3395
Co-authored-by: Sai Krishna Prasad Kandula <22497932+KRRISH96@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 43019ef28a72561ba78a3cac9c783ccaa125e3f6
2022-03-28 09:13:31 +00:00
Matt Hardman
7d8a794821 CON-104-add-a-remote-database-widget
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4053
Co-authored-by: Alberto Francesco Motta <36401353+afmotta@users.noreply.github.com>
Co-authored-by: Abhijeet Khangarot <26903230+abhi40308@users.noreply.github.com>
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: 62137ef7350f7234ace4391ad724b5860f753100
2022-03-25 12:26:11 +00:00
Vijay Prasanna
9ba1e3993e console: Fix REST live preview malformed request
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4005
GitOrigin-RevId: 0c16c3804a047061f3a798f48024161c07323c48
2022-03-25 09:56:06 +00:00