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
Riccardo Binetti
b4821f2e13
chore: failing tests for before_transaction hooks in bulk actions ( #1081 )
2024-04-30 20:51:39 -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
Jeremy Grant
45b76c209d
fix: union array argument/attribute handling when current attribute is ( #1023 )
2024-04-29 22:24:44 -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
Zach Daniel
2f1a0fec71
fix: set resource
option in bulk interfaces
2024-04-27 23:56:11 -04:00
Zach Daniel
3f977ff98d
improvement: simplifications and clarifications around bulk callback behavior
2024-04-27 10:14:31 -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
c8e93877ea
improvement: support atomics, update_query, destroy_query in ETS data layer
2024-04-25 22:18:54 -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
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
Jechol Lee
7ed746990a
Fixed validation tests for embedded ( #1049 )
2024-04-23 12:38:29 -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
fc931ab224
test: add tests for code interfaces that take maps
2024-04-20 15:14:21 +01:00
Riccardo Binetti
6d209e8836
feat: configurable multitenancy on read actions ( #1030 )
...
Allow making specific read actions able to optionally or totally bypass
multitenancy
2024-04-16 12:09:13 +01:00
Riccardo Binetti
7c189ede32
fix: fix typo in load test ( #1031 )
2024-04-16 12:06:48 +01:00
Riccardo Binetti
11de5dd64f
improvement: use explicit read actions when reading relationships ( #1029 )
...
While filter, sorts etc are already copied from the read action into the query,
using the right action is relevant, for example, when it's checked against in
policies, or in preparations that check the action name from the query
2024-04-15 22:33:56 +01:00
Riccardo Binetti
9c74e52bd8
improvement: make match/1
overridable in Ash.Type.Enum ( #1020 )
...
Allow handling additional inputs to map them to one of the enum values
2024-04-13 14:07:23 -04:00
Lukas Ender
10e3722446
fix: code_interface
actions accept @context
( #1016 )
2024-04-12 10:26:46 -04:00
Zach Daniel
47dde10329
improvement: adding domain to embedded resource is an error
2024-04-11 22:28:47 -04:00
Zach Daniel
2474fbed44
improvement: raise more sensible error on unsupported pagination
2024-04-11 09:38:49 -04:00
Riccardo Binetti
f2236c9092
chore: failing test for strict loads on nested relationship loads ( #1011 )
2024-04-11 09:29:12 -04:00
Jechol Lee
0b79515f69
fix: fix date_add query function ( #1010 )
2024-04-11 07:42:11 -04:00
Riccardo Binetti
cd4299d6e5
chore: add failing test for calculations on private relationships ( #1008 )
2024-04-10 18:26:42 -04:00
Zach Daniel
829f6d6e49
improvement: support builder options in read
code interfaces
2024-04-10 15:57:30 -04:00
Zach Daniel
bae263ca12
improvement: support omitting generic action return types
2024-04-10 13:46:44 -04:00
Riccardo Binetti
9f2b4ab8ba
improvement: call ToTenant protocol when setting tenant in actions ( #1004 )
2024-04-10 09:35:39 -04:00
Rebecca Le
3fce34cda6
fix: Validate all conditions in a numericality
validation instead of only the last ( #997 )
...
The previous `reduce` loop did not break on the first failure and
return the error, it returned the last iteration of the loop
Some more work may need to be done on the atomic side of the validation,
I'm not familiar with how they work!
2024-04-10 09:25:42 -04:00
139058d4c0
fix(Ash.Reactor): crash when calling an ash reactor for the first time.
...
Thanks to @carlgleisner for the [detailed reproduction](https://github.com/carlgleisner/reactor_notification_worker_issue ).
The problem was caused by an attempt to not have nested reactors indepdently publish their notifications separate to the parents but contained a logic flaw which caused the agent to not start, but only the first time you try and use a given reactor.
The fix involves _always_ starting a notification agent for each reactor, but nesting them. When a reactor completes it either publishes it's notifications to the parent reactor or to ash if there are no parent reactors.
2024-04-10 06:19:38 +12:00
Zach Daniel
1854880def
improvement: add config :ash, require_atomic_by_default?, false
, for upgrading
2024-04-09 13:45:19 -04:00
Zach Daniel
25c1063e45
fix: add context argument to before_action
and after_action
for read actions
...
closes #999
2024-04-09 13:21:06 -04:00
Andreas Donig
95ecc5155c
fix: add base case for Ash.Resource.Info.public_relationship/2 ( #1000 )
...
test: Add a simple test for Ash.Resource.Info.public_relationship/2
---------
Co-authored-by: Andreas Donig <git@innwiese.de>
2024-04-09 13:17:03 -04:00
321f43bd05
feat(Ash.Reactor): Add new change
step type which can be used to modify changesets.
2024-04-09 09:03:04 +12:00
2973c0db94
improvement(Ash.Reactor): Allow create
to be provided an initial value.
...
The initial value can be either a resource or a changeset.
2024-04-09 09:03:04 +12:00
c67295de6e
improvement: Allow Reactor modules to be run directly from generic actions. ( #993 )
...
- Extends the generic action runner to detect when the `run` module is a Reactor and automatically executes it in the correct way.
- Adds a verifier that detects said actions and ensures that action arguments are present for all expected inputs.
2024-04-08 16:48:58 -04:00
Zach Daniel
5e1df439d7
chore: format
2024-04-08 12:15:09 -04:00
Zach Daniel
c31fbc9c3e
fix: don't raise error on keyword input to create interface
2024-04-08 08:41:33 -04:00
Zach Daniel
951eaba973
chore: fix build/test
2024-04-07 08:05:23 -04:00
Zach Daniel
d2ea5bb108
docs: rewrite action docs
...
improvement: synthesize attributes from atomics for better notifications
2024-04-07 08:02:10 -04:00
Dmitry Maganov
bc00873cfd
fix: undo adding primary key argument for methods with get?
( #989 )
2024-04-07 06:41:03 -04:00
Riccardo Binetti
7d75e64d86
feat: add update_change
function and builtin change ( #976 )
2024-04-07 05:02:38 -04:00
Riccardo Binetti
355bd73bf9
improvement: make Ash.Resource.Validation.Match partially atomic ( #979 )
...
* fix: handle partially atomic validations in run_action_changes
* improvement: make Ash.Resource.Validation.Match partially atomic
2024-04-06 17:50:54 -04:00
Riccardo Binetti
38c1ca808d
fix: return {:error, query} for invalid query in Aggregate.run/4 ( #982 )
...
Avoid making callers like Ash.aggregate crash with a WithClause error
since they expect an :ok/:error tuple
2024-04-05 06:36:05 -04:00
Zach Daniel
950ff3d060
fix: set tenant in bulk creates after setting up changeset
2024-04-04 20:34:37 -04:00
Zach Daniel
3eaeb864ea
fix: ending a policy w/ authorize_if
had flipped conditional
2024-03-31 23:53:59 -04:00
Zach Daniel
baa3289a09
fix: properly retain input order for embedded attributes
...
improvement: better error messages for private attribute accepting
2024-03-29 21:24:05 -04:00
Riccardo Binetti
a7c865ed20
chore: changing_attributes with to
field failing test ( #961 )
2024-03-29 17:18:45 -04:00
Dmitry Maganov
99153144c7
improvement: change type
argument position in Ash.Query.calculate
( #959 )
2024-03-29 11:14:12 -04:00