1
Fork 0
mirror of https://github.com/Airsequel/AirGQL.git synced 2025-10-05 17:30:41 +02:00
Commit graph

20 commits

Author SHA1 Message Date
71210de300 Update schema to be closer to the Hasura one 2025-04-17 13:03:44 +02:00
d54896341a Rename a few fields to match the Hasura api 2025-04-14 08:54:17 +02:00
41f1752983 Implement partial errors in grqphql API
Make it so the parent resolver returns a failed field named `foo` as
`__error_foo` containing the error message. This field can then be
picked up by the child resolver in order to produce a local error.
2025-03-10 21:38:31 +01:00
8b3b1bbe37 Add insertonly test
Moreover, this fixes the test for writeonly tokens, which used to create
a table in a db, and then try querying from a separate db, which ended
up not testing what it was supposed to at all.

I also changed the way mutations are guarded (the end result is pretty
much the same)
2024-12-07 20:00:09 +01:00
997455c3d8 Implement insert-only tokens 2024-12-07 16:30:24 +01:00
d490179428 Move mutation tests into their own file & fix breaking tests 2024-11-20 03:51:40 +01:00
7a9914325d Prevent naming conflicts for _by_pk queries/mutations 2024-11-20 00:30:49 +01:00
c8a5e17f25 Implement _by_pk updates/deletes 2024-11-19 21:30:43 +01:00
064248785e Remove another comment 2024-11-15 17:22:24 +01:00
9cebb6dc2d Migrate all gql code to share types with introspection 2024-11-14 18:04:10 +01:00
562214db98 Fix (most) introspection airgql tests
The only one that's still failing is one related to directives, which I
will fix in another commit soon(ish)
2024-11-14 18:03:08 +01:00
c161fbd288 Do not allow views to be mutated 2024-11-14 18:01:56 +01:00
2ee5152d54 Implement querying by PK
- I realised by PK querying doesn't need arguments like filter, limit or
offset, so I removed the argument name collision logic I added in the
last commit
- I implemented the actual logic for querying by PK. The code is a lot
shorter due to the new introspection system
- I moved the normal queries to the new introspection system for
consistency.
- I moved the logic of "coerce columns without a datatype" away from the
resolver and into the "sql -> gql" converter as to be able to reuse the
default introspection resolver which simply looks up fields into the
parent resolver's result.
- I added some comments documenting the Introspection.Resolver stuff and
it's behaviour
2024-11-14 18:01:55 +01:00
41a459fe09 Update graphiql & implement simpler introspection system 2024-11-14 18:01:55 +01:00
faf63f0c6d Fix "database or disk is full" errors 2024-10-01 02:30:47 +02:00
Adrian Sieber
94556eaca5 Improve wording 2024-07-10 23:18:40 +02:00
84a6c44abf Remove sql => gql blob conversion 2024-07-09 19:24:41 +02:00
f4323b661b Fix BLOB display in query tab 2024-07-09 19:18:02 +02:00
1cfe5a937e Do not allow returning from mutations with writeonly token 2024-05-04 00:13:15 +02:00
Adrian Sieber
fbee31a849 AirGQL: Clean up documentation, remove obsolete references to Airsequel 2024-05-03 08:39:25 +00:00