Zach Daniel
2d9f9ee362
improvement: deprecate old school manual actions
...
note: these have been deprecated for a very long time, removing them will not
be considered a breaking change (and there will be clear compile errors)
2023-09-25 09:40:29 -04:00
Zach Daniel
c5ea541b2d
chore: rework atomics to atomic_update
change and function
...
improvement: add `Ash.context_to_opts/1-2`
2023-08-29 14:39:38 -04:00
Zach Daniel
18cb24e7f7
improvement: implement atomics, expression-based changes ( #682 )
...
there is still a lot of potential work that needs to be on this front.
1. supporting atomics on create actions.
2. supporting atomics in upserts (this one may actually be much easier than the first one, for postgres specifically, due to ecto implementation details)
3. discovering places atomics can be more nicely integrated into existing changes, validations, policies
2023-08-28 16:05:26 -04:00
Zach Daniel
2f3fcbad13
improvement: optimize various solver boolean optimizations
...
improvement: more comprehensively remove unnecessary clauses
fix: resolve issue with `authorize_unless` and filter checks
improvement: prevent changing attributes and arguments after action validation
We allow for these changes inside of `before_action` calls, but otherwise
require that `force_change_attribute` is used, for example. This prevents
accidentally validating a changeset and then changing an attribute.
2022-11-23 03:39:00 -05:00
Zach Daniel
113d2452d2
improvement: replace templates in change/preparation/validation opts
...
Previously, only a few specific changes supported using `arg/1` or `context/1`
in their options. Now, those templates can be used in any change options,
built-in or not.
2022-10-31 02:25:01 -04:00
Zach Daniel
8cbd766172
feat: support anonymous functions in DSL
...
improvement: add more ergonomic manual action definitions.
The old method will likely be deprecated some time in the future (there is no rush really, they both work).
2022-10-30 21:00:57 -04:00
Zach Daniel
87f20369bc
improvement: deprecate :replace
in favor of :relate_and_unrelate
2022-09-19 15:44:06 -04:00
Zach Daniel
e36f8c3e59
improvement: add filterable?
option to relationships
...
improvement: add data layer capability for aggregate relationships & filter relationships
improvement: add guide on manual relationships
2022-09-13 13:53:05 -04:00
Zach Daniel
c380cc1a14
docs: sanitize things for docs
2022-08-30 16:45:55 -06:00
Zach Daniel
04744f395f
improvement: move functions to more conventional places
...
improvement: move ash.formatter task to `spark.formatter`
2022-08-28 19:27:44 -06:00
Zach Daniel
6c79519b6c
improvement: make long-awaited DSL name changes
2022-08-28 19:27:44 -06:00
Zach Daniel
ef3d1ea398
improvement: Ash.Generator
2022-06-21 21:00:47 -04:00
Zach Daniel
74cc7c4ad5
fix: don't ignore lexical tracker on modules in DSL
...
improvement: add manual read actions
fix: don't treat single actions of a type as primary
2022-04-28 18:08:00 -04:00
Zach Daniel
6c523b9752
continue working on docs
2022-04-04 14:55:05 -04:00
Zach Daniel
022708c6b5
improvement: add api
option to relationships
...
improvement: make default actions and primary actions far more explicit
this begins the official 2.0.0 work
2022-04-04 01:48:37 -04:00
Zach Daniel
922c87ea85
improvement: add resource registry validation
...
fix: move related field validations to resource
fix: remove join_attributes, which didn't do anything anyway
2021-10-11 15:14:33 -04:00
Zach Daniel
ff756b72a7
improvement: deprecation!
...
A deprecation warning will be shown at compile time to illustrate
a change from listing all of your resources in an api to listing
them in a registry and connecting that registry to the api
2021-10-07 02:41:02 -04:00
Zach Daniel
46f17dcc51
test: test manage_relationship on update
2021-08-05 00:46:53 -04:00
Zach Daniel
8e11a63e83
fix: load belongs to relationships before managing them
2021-08-03 03:26:01 -04:00
Zach Daniel
9477f0e82a
improvement: add {:arg, :name}
input for set_attribute
2021-06-25 13:51:17 -04:00
Zach Daniel
d45a9dbbfa
improvement: support calculation sorts
2021-06-05 18:11:09 -04:00
Zach Daniel
231eeafd30
feat: expression calculations for sorting/filtering
...
improvement: small improvements/fixes across the board
2021-06-04 01:37:11 -04:00
Zach Daniel
4662c23f68
improvement: calculation.select/2 + select
calculation option
2021-05-20 16:42:26 -04:00
Zach Daniel
69afdfce25
improvement: utility manage_relationship_source
context
2021-05-10 18:03:36 -04:00
Zach Daniel
097447bf38
fix: run action changes on destroy
...
test: test manual actions
fix: pattern match manage_relationship notifications fix
2021-05-09 16:56:44 -04:00
Jason Axelson
a4262965ea
chore: Enable Credo's Readability.StrictModuleLayout ( #228 )
...
Enforce layout of module parts
2021-04-18 19:41:49 -04:00
Zach Daniel
db47a15cf7
fix: properly validate allow_nil?: false
on update
...
fix: properly validate `allow_nil?: false` private attributes
2021-03-13 09:25:13 -05:00
Zach Daniel
72b5a57a25
feat: functional interface on the Api module
...
feat: resource aliases
improvement: require completely unique action names
2021-03-08 00:59:32 -05:00
Zach Daniel
e90fdad34a
feat: support Ash.Query.select/3
and Ash.Changeset.select/3
2021-03-07 14:09:51 -05:00
Zach Daniel
d42c778a0d
improvement: many compile time fixes via code splitting
...
feat: refactored manage_relationship options/behavior
2021-02-22 20:44:03 -05:00
Zach Daniel
dd26beb79b
chore: add more authorization tests
...
chore: improve authorization test helper
improvement: support `{:filter, _}` authorization results for changesets
2021-01-28 14:49:08 -05:00
zimt28
31cb4f4be3
improvement: Improve attribute defaults ( #164 )
2021-01-12 15:40:55 -05:00
Zach Daniel
1bf2058233
fix: various fixes and improvements
2020-10-20 18:50:11 -04:00
Zach Daniel
9a3962d47a
feat: add changes to actions ( #106 )
2020-08-30 03:15:16 -04:00
Zach Daniel
a58367414d
feat: add accept
option to create/update actions ( #105 )
2020-08-28 02:58:03 -04:00
Zach Daniel
be74d1e7eb
feat: add named aggregates
2020-08-08 16:17:52 -04:00
Zach Daniel
9d51ec6300
feat: allow editing join association attributes
2020-07-16 19:17:01 -04:00
Zach Daniel
28982f03fd
feat: various small refactors + validations
2020-07-15 01:38:42 -04:00
Zach Daniel
2cf41b966e
feat: refactor changes into changesets
2020-07-12 02:25:53 -04:00
Zach Daniel
c89acce635
fix: remove reverse relationships
2020-06-22 00:34:44 -04:00
Zach Daniel
e6e9f88710
fix: many filter/side load fixes/improvements
2020-06-21 23:26:47 -04:00
Zach Daniel
6dc699d8a6
feat: rebuild DSL inner workings for extensibility ( #70 )
2020-06-14 02:39:11 -04:00
Zach Daniel
1cc143e7fa
test: adjust tests for removal of name/type (and defaults)
2020-06-04 23:34:44 -04:00
Zach Daniel
7c987b32bb
chore: wrap up remaining lint errors
2020-06-02 01:47:25 -04:00
Zach Daniel
b5c2fe6cf6
chore: remove ashton in favor of nimble_options
2020-06-01 01:14:23 -04:00
Zach Daniel
1cc096e621
improvement: huge query/filter overhaul
2020-05-13 11:54:44 -04:00
Zach Daniel
596a8e3d75
improvement: remove pagination, add query struct (unused)
2020-05-09 22:23:23 -04:00
Zach Daniel
ed2b24d590
WIP
2020-01-14 14:00:38 -05:00
Zach Daniel
a831af570d
WIP
2020-01-13 13:16:24 -05:00
Zach Daniel
41faa751c1
finish up relationship update tests
2019-12-23 15:51:01 -05:00