Commit graph

2633 commits

Author SHA1 Message Date
Zach Daniel
51be60cb4b improvement: detect invalid resources placed in relationships on domains verifier 2024-06-05 09:48:32 -04:00
Andreas Donig
7d10c781d4
fix: Do not compare nil values in compare validation (#1223)
Co-authored-by: Andreas Donig <git@innwiese.de>
2024-06-05 09:23:33 -04:00
Zach Daniel
c9a7ac7ba9 improvement: warn at compile time on types that don't define atomic_update/2 2024-06-04 21:38:42 -04:00
Zach Daniel
3726f9b8b0 chore: List.wrap .load call on calculations 2024-06-03 19:30:10 -04:00
Zach Daniel
a3e3e8701f fix: ensure context is properly set on bulk manual action invocations
closes #1217
2024-06-02 11:44:15 -04:00
Riccardo Binetti
d71718c691
fix: use correct boolean operation names in Filter.find/4 (#1214) 2024-05-30 07:59:11 -05:00
Zach Daniel
fbcafa1bfa fix: when hydrating nested aggregates, use correct related resource/path pair
closes #1213
2024-05-30 00:12:12 -05:00
Zach Daniel
4ab37a18f5 chore: fix 1.17 warning 2024-05-29 17:07:30 -04:00
Zach Daniel
2a304a581b fix: check if in transaction before trying to roll it back 2024-05-29 15:21:08 -04:00
Zach Daniel
1c21e390be fix: retain ref_path when authorizing aggregates 2024-05-29 14:03:33 -04:00
Zach Daniel
e9897eb50f fix: ensure that belongs_to relationships are properly not reloaded with lazy?: true
closes #1208
2024-05-29 12:59:10 -04:00
Zach Daniel
49b69628f8 improvement: compatibility with elixir 1.17 2024-05-29 09:20:44 -04:00
Jechol Lee
99cc10a9c7
Ash.can? to be boolean | no_return (#1210) 2024-05-29 07:32:32 -04:00
Jechol Lee
5dbf8fc0ed
fix get_domain (#1209) 2024-05-29 07:31:18 -04:00
Zach Daniel
2d9ffe7fab fix: implement rollback on after hooks for bulk actions 2024-05-28 14:57:49 -04:00
Zach Daniel
bfdb8f9bab chore: format 2024-05-28 14:32:30 -04:00
Zach Daniel
4b873438dd fix: missing else caused manual updates not to work with bulk_update
closes #1205
2024-05-28 14:30:41 -04:00
Zach Daniel
6de8e765a9 improvement: verify notifiers all use the Ash.Notifier behaviour 2024-05-26 13:00:15 -04:00
Zach Daniel
b5dce2494a chore: optimize strict check fact checking 2024-05-24 23:07:46 -04:00
Zach Daniel
adda85297c fix: multiple filter-checks in policy conditions were not composing properly 2024-05-24 22:58:05 -04:00
Zach Daniel
c45ecbfa49 fix: properly honor trailing policies that are constantly false 2024-05-24 21:03:06 -04:00
Zach Daniel
dc94f3a743 improvement: support nils_distinct? on identities
improvement: support `where` option on `identities`
improvement: allow calculations in identity keys

closes #1001
closes #1182
2024-05-24 00:24:42 -04:00
Zach Daniel
808692bbd7 fix: improve non-atomic-upgrade policy handling
fix: ensure we have a primary key for certain kinds of calculations:
2024-05-23 18:34:15 -04:00
Zach Daniel
e63d80e645 fix: handle subquery-requiring calculations in calculate/2 2024-05-23 17:33:29 -04:00
Joel Kociolek
d0ffc55924
fix: mixup between atomic upsert vs update capability of datalayers (#1198) 2024-05-23 12:19:20 -04:00
Zach Daniel
feb187bdf6 improvement: add atomic_upgrade? flag to update/destroy actions
improvement: do not do atomic upgrade by default unless `require_atomic?` is `true`
improvement: allow configuring the read action used by atomic upgrades
2024-05-23 11:05:17 -04:00
Zach Daniel
73a2ef4852 fix: only use Mix.deps_tree if defined
fixes #1197
2024-05-23 10:00:46 -04:00
Zach Daniel
67c6e5e22a fix: ensure that all notifications are sent for bulk destroy/update
closes #1186
2024-05-22 18:42:19 -04:00
Zach Daniel
9b3eace611 fix: properly hydrate and scope sorts
improvement: support anonymous aggregates and calculations in queries
2024-05-22 17:47:03 -04:00
danielatdpg
05379e15b2
fix: handle list of atomic conditions (#1194) (#1195) 2024-05-22 11:38:15 -04:00
Barnabas Jovanovics
3e7f691add
fix: handle nil value for old_values (#1191) 2024-05-22 09:01:35 -04:00
ab3786ebf6
feat(Ash.Reactor): Add bulk_update step type. (#1185) 2024-05-22 15:26:51 +12:00
Riccardo Binetti
86676cd0fc
feat: allow retrieving the count of paginated relationships (#1183) 2024-05-21 08:48:11 -04:00
Jinkyou Son
aae679f50e
improvement: Implement show_sensitive? config (#1180)
* Refactor with Ash.Helpers.redact/1

* Implement show_sensitive? config

* Use Application.compile_env/3 instead of Application.get_env/3

* Update sensitive-data.md
2024-05-21 08:47:51 -04:00
Zach Daniel
3f6e5c8ee8 fix: allow all strategies for bulk actions in code interfaces by default 2024-05-20 18:06:04 -04:00
807ed72e89
chore: run formatter. 2024-05-21 09:17:58 +12:00
1d5d247d7a feat(Ash.Reactor): Add bulk_create step type. 2024-05-21 09:14:02 +12:00
Zach Daniel
720f08f2eb chore: remove unnecessary line from docs 2024-05-20 10:25:06 -04:00
Zach Daniel
a162b52b7f fix: use Ash.Sort.parse_input/3 in Ash.Query.sort_input/2 2024-05-20 09:52:52 -04:00
Zach Daniel
d84062f676 fix: improve Ash.Domain.Info typespecs
improvement: support `filter_input` and `sort_input` in `Ash.Query.build/2`
2024-05-18 10:27:12 -05:00
Riccardo Binetti
9fc5ddfe2b
fix: make Ash.Resource.Validation.Changing work correctly in atomics (#1178)
- Use the correct option key to select the field
- Fail without hitting the data layer if the attribute is not changing
- Allow checking relationships like the non-atomic counterpart
2024-05-16 18:15:35 -05:00
Riccardo Binetti
16b7ea7693
fix: check the where condition before checking validation atomicity (#1177)
:not_atomic was returned for a non-atomic validation even if the where condition
evaluated to false
2024-05-16 15:49:08 -05:00
Zach Daniel
6c2d34753c improvement: add template_requires_actor check for changesets
improvement: don't use queries for streaming if they have hooks
2024-05-16 11:53:29 -05:00
Zach Daniel
23d7479417 fix: handle nil notification results better
fix: don't emit after batch notifications if `notify?: false`
2024-05-16 11:19:24 -05:00
Barnabas Jovanovics
51512f7218
fix: prefer resource domain over option domain (#1176) 2024-05-16 10:38:51 -05:00
Riccardo Binetti
65e9f51907
fix: don't require domain for empty stream bulk update and destroy (#1175)
It can't be extracted from an empty list, but it's not actually needed
2024-05-16 09:57:10 -05:00
Zach Daniel
d053db0736 improvement: consider from: nil in changing_attributes/1 check 2024-05-16 09:55:01 -05:00
Barnabas Jovanovics
b4cf231be2
fix: only return valid non nil values items from generator (#1121) 2024-05-16 08:26:56 -05:00
Zach Daniel
7f7c1377cf fix: properly validate input action on bulk destroy
fix: allow setting `authorize?: false`
2024-05-16 00:02:18 -05:00
Zach Daniel
b74ef1e83e chore: set default value for get?: true 2024-05-15 23:36:40 -05:00