ash v0.6.5 API Reference

Modules

Ash

Logo

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.