ash v0.6.4 API Reference
Modules
An Api allows you to interact with your resources, and holds non-resource-specific configuration.
A small DSL for declaring APIs
The interface for an ash authorizer
The interface for being an ash data layer.
An ETS (Erlang Term Storage) backed Ash Datalayer, for testing.
The built in resource DSL. The three core DSL components of a resource are
Declares a DSL entity.
An extension to the Ash DSL.
Declares a DSL section.
A transformer manipulates and/or validates the entire DSL state of a resource.
Used when api's DSL is incorrectly configured.
Used when an invalid value is provided for a change
Used when a change fails for an unknown reason
Used when an invalid value is provided for a filter
Used when authorization for an action fails
Used when an unknown/generic framework error occurs
Used when an internal framework error occurs. These are always bugs.
The top level invalid error
Used when an invalid limit is provided
Used when an invalid offset is provided
Used when a resource or alias is provided that doesn't exist
Used when a resource's DSL is incorrectly configured.
Used when an invalid query is provided in a side load
Used when attempting to side load a relationship that does not exist
Used when an invalid sort order is provided
Used when attempting to sort on a field that does not exist
Used when attempting to sort on a field that cannot be used for sorting
The top level unknown error container
The representation of a filter in Ash.
Represents a boolean expression
Represents the negation of the contained expression
Represents a filter predicate
Utilties around constructing/manipulating ash queries.
A resource is a static definition of an entity in your system.
Creates the attribute for belongs_to relationships that have define_field?: true
Sets the default source_field
for belongs_to attributes
Validates the primary key of a resource, and caches it in :persistent_term
for fast access
Creates an automatically named has_many
relationship for each many_to_many.
Creates/validates the primary action configuration
Sets the source
key on relationships to be the resource they were defined on
This behaviour is a superset of the Ecto.Type behavior, that also contains api level information, like what kinds of filters are allowed. Eventually, this may be used for composite types or serialization.
A type used for storing atoms.
Stores a raw elixir term in the database
Mix Tasks
Generates a .formatter.exs from a list of extensions, and writes it.