Ash Framework
The Elixir backend framework for unparalleled productivity. Declarative tools that let you stop wasting time. Use with Phoenix LiveView or build APIs in minutes for your front-end of choice.
JoinAsh Framework
The Elixir backend framework for unparalleled productivity. Declarative tools that let you stop wasting time. Use with Phoenix LiveView or build APIs in minutes for your front-end of choice.
JoinSimulating arguments on relationships with calculations
An aggregate field loaded in create action isn't available for pub_sub?
publish :create, ["update", :aggregate_field1] in one of my resources fails with the following error, despite the fact that change load(:aggregate_field1) is in the action definition. If I remove the publish setting from pub_sub, the create action succeeds, with the :aggregate_field1 properly loaded to the changeset.
I wonder if something changed about how pub_sub works in Ash lately, because my pub_sub and create action codes used to work fine. I did recently update ash to the latest version. Thanks....Policies Usage
Return aggregate after GraphQL mutation
Ash Record without persitance to the database
Parameterized custom policy checks?
Possible to skip validation for an action? (or best practices for working with external credentials)
Vendor for interacting with external vendors, so we store user credentials for those vendors encrypted in the resource. I've now added a validation when creating vendors, that validates that the credentials are actually valid (by talking to the external API). This works great!
However, I have a test suite that generates lots of Vendor resources in the course of testing things, and 99% of them don't use valid credentials (nor should they!) so now all the tests are failing due to this new validation.
I can see a couple of options:...No Absinthe schemas generated for resource
How to have a "virtual field" in a resource based from another resource?
Organization resource that has a many to many relationship with my User resource.
That relationship is defined by this field in the Organization resource:
```elixir...Keyset pagination with calculations
Custom / virtual fields on read
builk_create upsert seems to be broken
Can I expose a generic resource action via an Ash GraphQL mutation?
What happens when :prev page request is used but there is no previous page?
Expand Ash.Query.Operator built_in operators
is_nil, eq, in, less_than, etc).
These are great, but it is not enough in some cases. For example, let's say I want to create a similarity operator?
The obvious answer is that I can implement it myself using the Ash.Query.Operator.__using__/1 macro....Custom type don't show all possible filters in GraphQL Api
Can't destroy record, would leave records behind
Bulk create form
Metaprogramming with expressions
Ash.Query.filter doesn't work as intended. Please see comment below
```elixir
defp generate_oban_worker_module(module, cache) docontents =...
Ash.Error as application's exception/error module
In a previous project (which did not use Ash) we had a top-level Error module that had a
defexception in it with all the typical error things, like codes, messages, and metadata. It also had some other functions to do things like, for example, report the error to various sinks (Logger and an APM platform). The idea was to replace returns like {:error, :some_error_code} or {:error, "some message"} with {:error, MyApp.Error.exception(...)} and let code that receives such errors decide it it wants to report, re-raise, etc etc.
With the existence of Ash.Error and all the helper code around it, I wonder if it makes sense to build an application's top-level error off of Ash.Error instead of something custom? Even if those errors might not have anything to do with Ash?
Is it the intention of Ash.Error to be used purely for errors coming from the framework, or is it a building block for user-defined errors?...