Commit graph

1897 commits

Author SHA1 Message Date
Zach Daniel
52337b7bff improvement: various optimizations for bulk create actions 2023-10-16 23:50:05 -04:00
Zach Daniel
3dd61a6ff8 fix: ensure after action hooks are run on bulk creates 2023-10-16 17:00:04 -04:00
Zach Daniel
b2c7048359 fix: return records from batches if items have after action hooks 2023-10-16 16:30:15 -04:00
Zach Daniel
f53626e65d improvement: support max_concurrency option on bulk creates
improvement: better error message on missing identities
improvement: better error message on invalid data passed to `YourApi.load`
2023-10-16 14:53:27 -04:00
Zach Daniel
ecdc4c1c64 fix: don't transform errors to changesets when rolling back in with_hooks 2023-10-13 22:04:44 -04:00
Zach Daniel
931ff30641 fix: undo previous changes where transactional actions might not roll back
instead, I've added a `rollback_on_error?` option to allow more fine grained
control over what happens when you call an individual action and it encounters
an error and would roll back.
2023-10-13 18:12:48 -04:00
Zach Daniel
5a462a3ffc fix: undo regression where errors weren't wrapped in a changeset 2023-10-13 16:51:10 -04:00
Zach Daniel
7ff3a96db2 improvement: better handling of nested errors in transactions
If you call a nested action currently, and anything goes wrong, the whole
transaction is aborted. However, we want to be able to *recover* from
internal errors, and that means allowing things to fail without failing
the entire transaction. If something that *starts* a transaction
encounters an error, then it will rollback the transaction.
2023-10-13 14:33:25 -04:00
Zach Daniel
4fe4411286 fix: provide full constraints when determining Ash.Type.NewType storage types 2023-10-12 10:57:10 -04:00
Zach Daniel
b93cbb9577 fix: go back to original default timestamp behavior
fixes #733
2023-10-12 07:25:46 -04:00
Zach Daniel
6e0be43c51 fix: properly authorize access to query aggregates in all cases 2023-10-11 19:44:50 -04:00
Zach Daniel
658f071b81 improvement: move various transformers to be verifiers 2023-10-11 17:58:31 -04:00
Zach Daniel
68ec02a27b chore: update typespec for data layer feature 2023-10-11 15:13:49 -04:00
Zach Daniel
1ab4b6e69a improvement: support atomics on upserts 2023-10-11 15:09:06 -04:00
Zach Daniel
1cfcc296ae improvement: ensure all changesets sent batched to data layer have same set of atomics
this is necessary for upsert atomics
2023-10-11 12:05:17 -04:00
Zach Daniel
2de1e81b3b chore: fix more typespecs 2023-10-11 09:05:56 -04:00
Zach Daniel
c89b680d4b fix: move misplaced file and fix typespecs for Ash.DataLayer.Ets.Info 2023-10-11 09:02:32 -04:00
Zach Daniel
b0a4a23ab2 chore: appease credo 2023-10-10 17:02:11 -04:00
Zach Daniel
05dd361a52 fix: properly set invalid_keys on action inputs 2023-10-10 16:59:28 -04:00
Zach Daniel
be202918ac fix: properly validate required arguments for generic actions 2023-10-10 16:49:47 -04:00
Zach Daniel
c77ad34efb improvement: set storage type for citext to ci_string 2023-10-10 14:12:01 -04:00
Zach Daniel
3782f1cfe2 fix: honor authorize? option for calls to aggregate 2023-10-10 11:10:58 -04:00
Zach Daniel
fbe6b21bf0 improvement: support to-one reference paths in calculations 2023-10-09 18:50:15 -04:00
Zach Daniel
407b09b677 fix: handle false values properly when passed to flows 2023-10-07 16:34:13 -04:00
Zach Daniel
32620dfd52 improvement: add Ash.Sort.expr_sort. In 3.0 sort should be a macro 2023-10-07 09:16:52 -04:00
Zach Daniel
49042b737d fix: properly rollback transactions on returned errors in generic actions 2023-10-06 13:39:05 -04:00
Zach Daniel
b8be1123ba fix: generate keysets immediately after read action 2023-10-05 22:50:15 -04:00
Robert Graff
2ad5d451b0
Fixes: casting an array attribute to nil (#723) 2023-10-04 14:55:30 -04:00
Zach Daniel
c2872b5181 fix: prepare_change_array on embedded types needs to handle nil
fix: handle_change_array on embedded types needs to honor `nil`
2023-10-04 13:59:26 -04:00
Zach Daniel
c691eb022c improvement: allow overriding cast_input/2 on NewType 2023-10-04 11:51:59 -04:00
Zach Daniel
3d72e190b2 fix: don't use || when fetching arguments because false || nil is nil
fixes #722
2023-10-03 16:30:50 -04:00
Zach Daniel
1042ea14fd chore: use uuids instead of unique integer for performance reasons 2023-10-03 13:42:18 -04:00
Zach Daniel
1fb169a73b fix: handle exceptions in generic actions
improvement: massage changesets & queries in `Ash.Error.to_ash_error/3`
2023-10-02 18:54:48 -04:00
Dmitry Maganov
6d94582360
fix: fix types for min/max constraints in Type.Float (#718) 2023-10-02 18:01:55 -04:00
Zach Daniel
2cd0ec5884 fix: lower compile time dependencies 2023-10-02 15:54:57 -04:00
Zach Daniel
ed9f0d4beb chore: fix invalid exception raise 2023-10-02 14:24:28 -04:00
Zach Daniel
290a5efbeb fix: raise cleaner error on missing action in bulk creates 2023-10-02 12:04:37 -04:00
Zach Daniel
b3fdea3e53 fix: allow for ref to contain nested templates 2023-10-02 11:24:17 -04:00
Barnabas Jovanovics
7e4caf043f
fix: return unions as is if load is empty (#714)
* return unions as is if load is empty

* do not load on forbidden fields
2023-09-29 10:21:05 -04:00
Zach Daniel
10b1030f5c chore: remove IO.inspect 2023-09-28 20:22:32 -04:00
Zach Daniel
82b9174afe fix: unions, only load through types when loadable 2023-09-28 20:11:29 -04:00
Zach Daniel
851d5a59d1 chore: remove unnecessary case 2023-09-28 19:58:38 -04:00
Zach Daniel
80812b0ced fix: handle empty list loads 2023-09-28 19:56:38 -04:00
Zach Daniel
c6dc97f17c fix: ensure constraints are properly set in map/new_types 2023-09-28 18:51:58 -04:00
Zach Daniel
4d62505f69 improvement: don't double cast ci strings 2023-09-28 17:25:38 -04:00
Zach Daniel
7581234799 fix: only set non-nil values unless __keep_nil__ in seed creation 2023-09-28 16:53:06 -04:00
Zach Daniel
0ce6909939 fix: Ash.Seed extracts attributes from the struct now 2023-09-28 16:12:13 -04:00
Zach Daniel
04c9249f24 fix: properly perform field authorization on loaded through types 2023-09-28 10:23:16 -04:00
Zach Daniel
e7a734f29b chore: support simple filters in runtime filterer 2023-09-28 08:37:07 -04:00
Dmitry Maganov
dedba7f471
fix: usage of get_by with belongs_to attribute (#712) 2023-09-27 22:20:16 -04:00