Ash Elixir 应用开发框架开源项目

我要开发同款
匿名用户2022年10月18日
78阅读
开发技术Elixir
所属分类其他
授权协议MIT

作品详情

AshFramework是用于构建Elixir应用程序的声明式、面向资源和可扩展的框架。在Ash中,资源可以对任何东西提供模型,如数据库表、外部API,甚至是自定义代码。

Ash提供了丰富而广泛的工具集,用于与这些资源进行交互,并基于这些资源进行构建。通过为应用程序提供一组资源作为模型,其他工具就能准确地知道如何使用它们,从而使AshGraphql和AshJsonApi这样的扩展能够以最小的配置提供顶级的API。

通过过滤/排序/分页/计算/聚合、pub/sub、策略授权等内置功能,以及一套全面的工具,Ash支持构建自己的扩展,具有无穷可能性。

示例代码

定义资源defmoduleExample.PostdouseAshHq.Resource,data_layer:AshPostgres.DataLayerpostgresdotable"posts"repoExample.Repoendattributesdoattribute:text,:stringdoallow_nil?falseendattribute:visibility,:atomdoconstraints[one_of:[:friends,:everyone]]endendactionsdoupdate:reactdoargument:type,Example.Types.ReactionTypedoallow_nil?falseendchangemanage_relationship(:type,:reactions,type::append)endendrelationshipsdobelongs_to:author,Example.Userdoallow_nil?trueendhas_many:reactions,Example.Reactionendend
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论