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
* fix: regenerate spark formatter and cheatsheet
Make CI pass again
* feat: allow resources without types
Ensure they only expose generic action queries. Add checks to ensure that either
`type :resource_type` or `generate_object? false` is passed if it's needed.
Close#119
* chore: update ash to use Ash.Type.Enum descriptions
Contextually, remove an unreachable clause that caused dyalizer to fail,
see https://github.com/ash-project/ash/pull/873 for the commit that made
it unreachable
* feat: allow providing descriptions for enum values
If the module exports `graphql_describe_enum_value/1`, use that. Otherwise,
fallback to the Ash.Type.Enum value descriptions introduced in
https://github.com/ash-project/ash/pull/940.
Close#116
An error occurs at compile time:
== Compilation error in file test/support/schema.ex ==
** (MatchError) no match of right hand side value: {:error, "Must provide field type for max"}
lib/resource/resource.ex:2278: AshGraphql.Resource.filterable?/2
(elixir 1.15.4) lib/enum.ex:4265: Enum.filter_list/2
(elixir 1.15.4) lib/enum.ex:4266: Enum.filter_list/2
lib/resource/resource.ex:2229: AshGraphql.Resource.aggregate_filter_fields/2
lib/resource/resource.ex:2195: AshGraphql.Resource.resource_filter_fields/2
lib/resource/resource.ex:1159: AshGraphql.Resource.args/5
lib/resource/resource.ex:425: anonymous fn/6 in AshGraphql.Resource.queries/5
(elixir 1.15.4) lib/enum.ex:1693: Enum."-map/2-lists^map/1-1-"/2
improvement: add `start_keyset` and `end_keyset` to `keyset_page_of` type
improvement: add `count` to relay fields if there exists a countable relay query