Zach Daniel
65395c37c6
fix: properly execute before_batch callbacks in bulk actions
2024-05-01 08:59:03 -04:00
Zach Daniel
6f0524d67d
fix: missing pattern match on error query in read
...
closes #1084
2024-05-01 08:00:22 -04:00
Zach Daniel
fa7cfe5488
improvement: add pre_flight option for Ash.can
2024-04-30 22:55:32 -04:00
Zach Daniel
723276f41a
fix: remove debugging code
...
improvement: make `Ash.Filter.map` more consistent
improvement: better inspect behavior for calculations
improvement: better inspect behavior for fragments
fix: don't call `Keyword` functions on maps in unions
2024-04-30 13:31:33 -04:00
Riccardo Binetti
c50d047614
fix: streaming with limit/offset and no pagination ( #1080 )
...
If there were 0 results, it just kept reading and reading forever
2024-04-30 13:03:49 -04:00
Pierre Le Gall
4ddc91be51
improvement: better create/update first argument ( #1060 )
...
* improvement: better create/update first argument
First argument of Ash.create (with a resource)
and Ash.update (with a record) no longer are in a tuple
with its arguments.
Arguments are moved in the input option.
* improvement: create/update params no more an opts
`Ash.create(User, %{name: "Yasmine"})` 🎉
* improvement: raise if changeset already validated
Raise an argument error for already validated changeset
when params are given.
2024-04-30 13:02:27 -04:00
Riccardo Binetti
09238490c4
fix: don't pass an error tuple to rollback in bulk update ( #1079 )
2024-04-30 06:40:42 -04:00
Jeremy Grant
45b76c209d
fix: union array argument/attribute handling when current attribute is ( #1023 )
2024-04-29 22:24:44 -04:00
Sergey Moiseev
417d39e7de
Add documentation on disabling pagination ( #1076 )
2024-04-29 20:40:19 -04:00
Zach Daniel
28c75df7b8
improvement: support new data layer capability calculate/3
...
fix: solve for custom expressions and one-off calculations
2024-04-29 16:58:37 -04:00
Zach Daniel
0fa257e7ea
chore: don't add atomic allow nil hooks to primary key attributes
...
improvement: add debug logging for ets data layer
2024-04-29 15:43:47 -04:00
Dmitry Maganov
3ee24da7eb
improvement: pass context to anonymous validate functions ( #1070 )
2024-04-29 12:53:45 -04:00
Jechol Lee
ae3f632157
Fix is_belongs_to_rel_being_managed? to match list with more than 2 elements ( #1072 )
2024-04-29 12:49:26 -04:00
Zach Daniel
ca7b0824d7
fix: properly intercept thrown errors in Ash.bulk_create
2024-04-29 09:12:03 -04:00
Zach Daniel
a24fdcfe59
docs: fix code interface example
2024-04-29 07:49:25 -04:00
Jechol Lee
856ac698b7
fix: Changeset.present? to be false when belongs_to is set to nil ( #1067 )
...
* Changeset.present? to be false when belongs_to is set to nil
* match empty list
* match empty list 2
2024-04-29 07:38:06 -04:00
Jechol Lee
caf1c5ee2a
Improvement: Changeset.attributes_present? to attribute_present? ( #1066 )
2024-04-29 06:51:14 -04:00
Zach Daniel
5ef8de03f3
fix: fix simple_equality in attribute type
2024-04-28 00:41:57 -04:00
Zach Daniel
2f1a0fec71
fix: set resource
option in bulk interfaces
2024-04-27 23:56:11 -04:00
Zach Daniel
69f844dc69
chore: fix typo
2024-04-27 23:35:12 -04:00
Zach Daniel
fa6c2ade6d
fix: check resource match below checking query input
2024-04-27 23:33:04 -04:00
Zach Daniel
26225fc7f5
fix: only use Map.new
for inputs if input is keyword in code interface
2024-04-27 23:21:34 -04:00
Zach Daniel
65c6f66b91
fix: properly set action type on changeset
2024-04-27 11:20:03 -04:00
Zach Daniel
8c4e9c44d6
fix: set changed?
context on bulk actions
2024-04-27 10:43:53 -04:00
Zach Daniel
3f977ff98d
improvement: simplifications and clarifications around bulk callback behavior
2024-04-27 10:14:31 -04:00
Zach Daniel
75b63917c7
improvement: don't add autogenerated_id
to embeds by default
...
one list *very mild* breaking change
2024-04-27 00:53:22 -04:00
Zach Daniel
69295daf78
improvement: allow skipping primary keys on embedded resources
2024-04-27 00:41:12 -04:00
Zach Daniel
41f68ca4a4
improvement: support changeset filters in ets
2024-04-27 00:33:00 -04:00
Zach Daniel
03b1579d9c
fix: properly handle atomic upgrade when policies can't be strict checked
2024-04-26 23:53:54 -04:00
Jinkyou Son
1acbce4ebb
improvement: Treat asterisk as a single arguemnt in accept ( #1062 )
2024-04-26 03:26:15 -04:00
Zach Daniel
2d0b73af96
chore: set authorization context ahead of query build
2024-04-26 03:15:46 -04:00
Zach Daniel
726c6c3f0f
fix: various fixes around bulk action upgrades, atomics
2024-04-26 03:13:22 -04:00
Zach Daniel
41c951d2e5
chore: fix missing clause andhydrate atomic refs
2024-04-25 23:46:11 -04:00
Zach Daniel
ad076735ae
chore: fix batch size detection while streaming
2024-04-25 22:56:41 -04:00
Zach Daniel
c8e93877ea
improvement: support atomics, update_query, destroy_query in ETS data layer
2024-04-25 22:18:54 -04:00
Barnabas Jovanovics
00ee13143b
fix: handle resource being passed as query code_interface.ex ( #1057 )
...
* handle resource being passed as query code_interface.ex
This bit me today because I had code like this
```elixir
Resource
|> filter_board_codes(board_codes)
|> filter_min_price(min_price)
|> filter_max_price(max_price)
|> filter_refundable_only(refundable_only)
```
and all the `filter_*` functions looked like this
```elixir
def filter_something(query, nil), do: query
def filter_something(query, something) do
query
|> Ash.Query.filter(....)
end
```
* Update lib/ash/code_interface.ex
* add another case
---------
Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
2024-04-25 10:37:44 -04:00
Barnabas Jovanovics
02c10c9216
fix: do not use Enum.map_join ( #1058 )
...
values are only a flat list of values, and map_join would need a function as the third argument if you specify a `joiner`
2024-04-25 07:53:52 -04:00
Pierre Le Gall
65e26cbc16
feat: Ash.create and Ash.update oneliner ( #1055 )
...
* feat: Ash.create and Ash.update oneliner
See #1015 .
* fix: opts dispatch for create and update
* chore: shorten arguments by args
2024-04-24 15:28:26 -04:00
Zach Daniel
f146258159
improvement: remove after_atomic
and instead support after_batch
...
supporting `after_batch` allows things like `archive_related` in `ash_archival`
to dispatch batches of cascading archives
2024-04-24 11:56:36 -04:00
Jechol Lee
56b10be097
fix: use Splode.ErrorClass for error classes ( #1054 )
2024-04-24 06:14:55 -04:00
Jechol Lee
44c38277e5
improvement: Add attributes_present, attributes_absent. ( #1046 )
...
* Add attribute_present, attribute_absent.
* Refactor
* plural name: attributes_present/absent
* Fix conflict
2024-04-23 22:01:35 -04:00
Zach Daniel
dad4d5effc
fix: ensure that errors for nested forms are transformed
2024-04-23 14:03:40 -04:00
Jechol Lee
184dfb3642
fix: Set tenant for managed relationship changeset ( #1044 )
2024-04-23 10:40:19 -04:00
Zach Daniel
5ff767a1aa
fix: don't carry over all changes during atomic upgrade
...
Doing this was causing us to carry over changes that were produced
as part of running the changes in the original changeset build
fixes #1042
2024-04-22 19:01:05 -04:00
Frank Dugan III
35961a793d
feat: leverage resource domain for eager/pre checking ( #1040 )
...
closes #1022
2024-04-22 17:15:27 -04:00
Zach Daniel
7e86b971a4
chore: fix migrate task file name
2024-04-22 12:27:43 -04:00
Zach Daniel
34470d4494
improvement: make extension discovery faster
2024-04-21 11:16:33 -04:00
Zach Daniel
8317e6fca9
fix: properly pin Enum.join
in atomic for enum types
...
fixes #1033
2024-04-20 15:50:11 +01:00
Zach Daniel
d49f991021
fix: ensure actor is set when building queries in filter
2024-04-20 15:46:49 +01:00
Zach Daniel
c7991ec8a7
fix: don't eager evaluate type because it breaks data layers
2024-04-19 16:09:42 +01:00