Commit graph

14 commits

Author SHA1 Message Date
Riccardo Binetti
513c1ac68f
improvement!: port AshGraphql to Ash 3.0 (#123)
Step 1: update Ash

Step 2: mass rename Api to Domain

Step 3: Ash.Query.expr -> Ash.Expr.expr

Also change ref interpolation

Step 4: remove all warnings

Step 5: remove registries from tests

Step 6: fix filter

Step 7: private? -> !public?

Step 8: Ash.Calculation -> Ash.Resource.Calculation

Step 9: use depend_on_resources/1 -> resources/1

Step 10: add Domain to all resources

Step 11: use Ash module for all actions

Step 12: add public? true all around

Step 13: remove verbose? from options passed during Domain calls

Step 14: add simple_sat

Step 15: Ash.ErrorKind is no more, so remove code from errors

Step 16: sprinkle default_accept :* around tests

Step 17: replace Ash.Changeset.new/2 with Ash.Changeset.for_*

Step 18: calculation fixups

- Context is now a struct and arguments go under the arguments key
- Function based calculations receive a list of records
- Add a select to query-based loads
- select -> load

Step 19: pass the correct name to pass the policy in tests

Step 20: Ash.Query.new/2 is no more

Step 21: add AshGraphql.Resource.embedded? utility function

Use that instead of Ash.Type.embedded_type?(resource_or_type) since resources
are not types anymore

Step 22: handle struct + instance_of: Resource in unions

Resources are not type anymore so they need to be passed this way in unions

Step 23: ensure we only check GraphQL actions for pagination

All reads are now paginated by default, so this triggered a compilation error

Step 24: swap arguments for sort on calculations

Step 25: remove unused debug? option
2024-04-01 14:03:06 -04:00
Zach Daniel
ae94fcde54 improvement: make pagination more explicitly configurable 2024-03-13 12:10:30 -04:00
Zach Daniel
90dc20822d improvement: add hide_inputs to queries and mutations 2024-03-11 10:46:42 -04:00
Riccardo Binetti
66d2f44443
feat: add Relay ID translation in mutation and queries (#109)
Adds a new option for queries and mutations that defines which arguments or
attributes will use a global Relay ID and their type. This allows automatically
decoding them before hitting their action.

This paves the way to automatic translation derived from the arguments, which
will be implemented subsequently.

---------

Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2024-02-06 09:46:09 -05:00
Zach Daniel
49c6534d73 improvement: generic action support
docs: better docs
2023-09-15 13:45:12 -04:00
Zach Daniel
f0836f18b6 improvement: support metadata on read actions
metadata on read actions is merged with the rest of the fields on the query, so must have a name unique from the attributes/calculations/aggregates.

The system will warn you if there is metadata on the underlying action that is being ignored, and will tell you how to fix it.
2023-01-28 12:32:21 -05:00
Maxim Martynov
e40e7c573c
improvement: Implement GraphQL Relay support (#36) 2022-09-20 23:07:30 -04:00
Zach Daniel
3a0b0c3f83 improvement: add as_mutation for queries
improvement: support `modify_resolution` for queries
2021-06-29 12:17:33 -04:00
Zach Daniel
0aa2787d52 improvement: support identity: false for read
improvement: don't type embedded resources is nullable
2021-05-22 23:49:31 -04:00
Michael St Clair
b97e81bc9e
improvement: add allow_nil? to queries (#16) 2021-04-05 10:36:52 -04:00
Michael St Clair
596dc90381
feat: add read_one query (#13) 2021-04-04 03:10:50 -04:00
Zach Daniel
37d0b6534d
feat: Support configuring identities (#8)
* feat: support using identities for gets
2020-11-18 02:14:33 -05:00
Zach Daniel
b7eaa44376
fix: get mix check passing 2020-08-14 10:20:47 -04:00
Zach Daniel
cd16030324
feat: initial POC release 2020-08-13 17:39:59 -04:00