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?...implementing state_timeout in AshStateMachine