Skip to content

ken-kost/awesome-ash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Ash Awesome

A list of awesome Ash libraries, DSLs and Resources.

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.

Cool_Ashley_logo

Contents

  • Ash - A declarative, resource-based framework for building Elixir applications.
  • AshPostgres - A postgres data layer for Ash Framework.
  • AshGraphql - The extension for building GraphQL APIs with Ash.
  • AshJsonApi - The JSON:API support for Ash Framework resources.
  • AshAi - Structured outputs, vectorization and tool calling for your Ash application.
  • AshPhoenix - Utilities for using Ash with Phoenix.
  • AshAuthentication - Authentication extension for the Ash Framework.
  • Reactor - An asynchronous, graph-based execution engine.
  • AshAdmin - A super-admin UI for Ash Framework, built with Phoenix LiveView.
  • AshPaperTrail - The extension for keeping an audit log of changes to your Ash resources.
  • AshOban - The extension for integrating Ash resources with Oban.
  • AshEvents - An event-architecture extension for Ash.
  • AshStateMachine - The extension for building state machines with Ash resources.
  • AshArchival - An Ash extension to implement archival (soft deletion) for resources.
  • AshCloak - An Ash extension to seamlessly encrypt and decrypt resource attributes.
  • AshSqlite - An SQLite data layer for Ash Framework.
  • AshSync - Real-time sync for Postgres-backed Ash & Phoenix applications.
  • AshDoubleEntry - A customizable double entry bookkeeping system backed by Ash resources.
  • AshCsv - A CSV data layer for Ash Framework.
  • OpentelemetryAsh - The Open Telemetry integration for Ash Framework.
  • AshBlog - A Blog data layer backed by markdown files.
  • AshMoney - The extension for working with money types in Ash.
  • AshAppsignal - The AppSignal APM integration for Ash Framework.
  • AshOps - An Ash extension which generates mix tasks for actions.
  • AshGeo - Tools for using Geo, Topo and PostGIS with Ash.
  • AshTrans - An Ash extension that provides translations to a resource.
  • AshRateLimiter - Rate limiting for Ash actions.

git-hub hex elixir-observer

Resources

DSL

  • domain - General domain configuration.

  • resources - List the resources of this domain.

    • resource - A resource present in the domain.
    • define - Defines a function with the corresponding name and arguments.
    • define_calculation - Defines a function with the corresponding name and arguments, that evaluates a calculation.
  • execution - Options for how requests are executed using this domain.

  • authorization - Options for how requests are authorized using this domain.

  • attributes - A section for declaring attributes on the resource.

    • attribute - Declares an attribute on the resource.
    • create_timestamp - Declares a non-writable attribute with a create default of &DateTime.utc_now/0.
    • update_timestamp - Declares a non-writable attribute with a create and update default of &DateTime.utc_now/0.
    • integer_primary_key - Declares a generated, non writable, non-nil, primary key column of type integer.
    • uuid_primary_key - Declares a non writable, non-nil, primary key column of type uuid, which defaults to Ash.UUID.generate/0.
    • uuid_v7_primary_key - Declares a non writable, non-nil, primary key column of type uuid_v7, which defaults to Ash.UUIDv7.generate/0.
  • relationships - A section for declaring relationships on the resource.

    • has_one - Declares a has_one relationship. In a relational database, the foreign key would be on the other table.
    • has_many - Declares a has_many relationship. There can be any number of related entities.
    • many_to_many - Declares a many_to_many relationship. Many to many relationships require a join resource.
    • belongs_to - Declares a belongs_to relationship. In a relational database, the foreign key would be on the source table.
  • actions - A section for declaring resource actions.

    • action - Declares a generic action. A combination of arguments, a return type and a run function.
    • create - Declares a create action. For calling this action, see the Ash.Domain documentation.
    • read - Declares a read action. For calling this action, see the Ash.Domain documentation.
    • update - Declares a update action. For calling this action, see the Ash.Domain documentation.
    • destroy - Declares a destroy action. For calling this action, see the Ash.Domain documentation.
  • code_interface - Functions that will be defined on the resource.

    • define - Defines a function with the corresponding name and arguments.
    • define_calculation - Defines a function that evaluates a calculation.
  • resource - General resource configuration.

  • identities - Unique identifiers for the resource.

    • identity - Represents a unique constraint on the resource.
  • changes - Declare changes that occur on create/update/destroy actions

    • change - A change to be applied to the changeset.
  • preparations - Declare preparations for read actions.

    • prepare - Declares a preparation for queries.
  • validations - Declare validations prior to performing actions against the resource.

    • validate - Declares a validation for creates and updates.
  • aggregates - Declare named aggregates on the resource.

    • count - Declares a count aggregate.
    • exists - Declares an exists aggregate.
    • first - Gets first matching value.
    • sum - Sums values.
    • list - Gets list of values.
    • max - Gets maximum value.
    • min - Gets minimum value.
    • avg - Calculates average.
    • custom - Custom aggregate implementation.
  • calculations - Declare named calculations.

    • calculate - Declares a calculation.
  • multitenancy - Configure multitenancy behavior.

git-hub hex elixir-observer

Resources

DSL

  • postgres - Postgres data layer configuration.
    • custom_indexes - A section for configuring indexes to be created by the migration generator.
    • custom_statements - A section for configuring custom statements to be added to migrations.
    • manage_tenant - Configuration for the behavior of a resource that manages a tenant.
    • references - A section for configuring the references (foreign keys) in resource migrations.
    • check_constraints - A section for configuring the check constraints for a given table.

git-hub hex elixir-observer

Resources

DSL

  • graphql - Domain level configuration for GraphQL.
    • queries - Queries to expose for the resource.
    • mutations - Mutations (create/update/destroy actions) to expose for the resource.
    • subscriptions - Subscriptions to expose for the resource.
  • graphql - Configuration for a given resource in graphql.
    • queries - Queries (read actions) to expose for the resource.
    • mutations - Mutations (create/update/destroy actions) to expose for the resource.
    • subscriptions - Subscriptions (notifications) to expose for the resource.
    • managed_relationships - Generates input objects for manage_relationship arguments on resource actions.

git-hub hex elixir-observer

Resources

git-hub hex elixir-observer

Resources


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

DSL

Resources

DSL


git-hub hex elixir-observer

Resources


git-hub hex elixir-observer

Resources

DSL


git-hub hex

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git hex elixir-observer

Resources

DSL


git hex elixir-observer

Resources

DSL


git-hub hex

Resources

DSL

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources

DSL


git-hub hex elixir-observer

Resources


git-hub hex

DSL

Resources


Contributing

Please refer to the guidelines at contributing.md for details.

About

A comprehensive list of awesome Ash libraries, DSLs, Tutorials and Examples

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published