Zach Daniel
5a338206b7
fix: fully expand calculation and aggregate references for applying authorization
2024-03-22 01:10:15 -04:00
Hannes Wüthrich
00b1ef3bee
fix: batch_change/3 is never called for updates ( #938 )
...
* fix: bulk updates for streams ignore :batch_size
2024-03-21 08:40:18 -04:00
Dmitry Maganov
ed4655cd83
improvement: add matches
built-in policy check ( #937 )
2024-03-21 08:39:21 -04:00
Zach Daniel
c04b638136
chore: format, add back missing function
2024-03-20 16:44:40 -04:00
Hannes Wüthrich
b398107ca3
fix: don't double-encode vector data ( #934 )
2024-03-20 16:32:45 -04:00
skanderm
f5daca37c2
fix: update set/get/update_context function specs to use maps ( #935 )
2024-03-20 16:00:49 -04:00
Zach Daniel
3ca8409ba5
fix: ensure calculation context is set on aggregate contents
2024-03-20 15:51:39 -04:00
Dmitry Maganov
cc440d9fa0
fix: set source_attribute
from join_relationship
in many_to_many
( #932 )
2024-03-19 08:11:15 -04:00
Zach Daniel
aafeab5e94
fix: use proper logic for atomic present
validations
...
improvement: cast atomic reference types, makes life easier for data layers
2024-03-19 00:04:57 -04:00
Jechol Lee
096542f352
fix: Set tenant correctly when reading many_to_many relationship. ( #928 )
2024-03-14 20:30:10 -04:00
Zach Daniel
d62faaa0a5
fix: properly match no_rollback error
2024-03-14 14:35:45 -04:00
Dmitry Maganov
c485e714b0
fix: load with right module in get_rewrites
of Ash.Type.Struct
( #927 )
2024-03-13 14:41:53 -04:00
Zach Daniel
54bbcc3057
chore: I was wrong
2024-03-12 20:32:12 -04:00
Tun Cham Roeun
7d7bcaa3d7
fi: fetch_count/4
use the query after applying before_action
hooks ( #922 )
...
---------
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2024-03-12 20:28:52 -04:00
Dmitry Maganov
b75327445c
improvement: use wrap_list
for where
in changes.change
( #926 )
2024-03-12 13:02:43 -04:00
Zach Daniel
8df5d5fd92
improvement: don't require Mix to compile an Ash resource
2024-03-11 21:43:04 -04:00
Zach Daniel
b89120ff15
fix: ensure that calculation dependency loader combines selects
2024-03-11 21:37:40 -04:00
Zach Daniel
74080f8043
chore: reorder case statements
2024-03-11 21:30:08 -04:00
Zach Daniel
ea9ec7dfef
fix: properly handle raised errors from async calculations
...
fix: ensure depended on attributes are selected in calculations
2024-03-11 21:28:59 -04:00
Zach Daniel
2c432bb193
fix: properly merge related selects when merging loads
2024-03-11 21:12:11 -04:00
Zach Daniel
a1b3105e8b
chore: properly set indexed map values in casted_attributes
2024-03-11 12:34:21 -04:00
Zach Daniel
b7cb89c481
chore: ensure constrainted attributes appear in casted_*
...
chore: update dsl docs
2024-03-11 12:18:17 -04:00
Zach Daniel
40977bce4f
improvement: store casted values even if they are nil
2024-03-11 11:05:10 -04:00
Dmitrii Maganov
57a99cbc76
chore: remove unneeded persist
call
2024-03-11 16:14:21 +13:00
Dmitry Maganov
19c33397aa
fix: typespec for action
policy check supports list of action names ( #924 )
2024-03-10 21:06:11 -04:00
Dmitry Maganov
ecaef99ddf
docs: uuid_primary_key
does not have generated?: true
by default ( #923 )
2024-03-10 21:05:42 -04:00
Simon Bergström
a24e1d9bdf
docs: Improvements to the bulk_update and bulk_destroy functions ( #910 )
...
* docs: corrections after discussions of what the input is.
2024-03-09 14:55:35 -05:00
e5f01bbd59
improvement(Ash.Reactor): Backport improvements from 3.0 branch.
2024-03-08 10:51:40 +13:00
Zach Daniel
18cc9c9b26
fix: ensure that message is honored in atomic validations
...
fix: don't require actor when constructing aggregate query
2024-03-07 10:47:43 -05:00
Zach Daniel
f19fa6c6c0
improvement: do not perform atomic upgrade on destroy actions
...
fix: correct atomic implementation of `present` validation
fix: track keys that are set to `nil` in changesets, for use in atomic upgrade
2024-03-05 00:01:02 -05:00
9b88628b07
improvement: Make undo actions for update
and destroy
actions more explicit. ( #920 )
...
* chore(Ash.Reactor): Follow on from `get` -> `read_one` rename.
* improvement(Ash.Reactor): Make undo actions for `update` and `destroy` more explicit.
2024-03-05 11:30:35 +13:00
Zach Daniel
b3889d6f94
fix: properly cast atomic constraints for integer
2024-03-04 11:09:58 -05:00
Zach Daniel
7d8375308d
fix: more fixes for atomic length validations
2024-03-04 11:08:02 -05:00
Zach Daniel
f1b523ee54
fix: fix atomic error for string length type validation
2024-03-04 11:01:46 -05:00
Zach Daniel
7f0e2d8037
improvement: rename get
to read_one
in Ash.Reactor
2024-03-02 16:51:00 -05:00
86d74ed789
feat(Ash.Reactor): Add a Reactor extension that makes working with resources easy. ( #683 )
...
* feat: Add `Ash.Reactor` with create support.
* improvement: Add `Ash.Reactor` update support.
* improvement: Add `Ash.Reactor` destroy support.
* improvement(Ash.Reactor): Support for transactional handling of notifications.
* improvement(Ash.Reactor): Add `read` and `get` steps.
* docs: Add the beginnings of a Reactor topic.
* improvement(Ash.Reactor): add support for generic actions.
* improvement: Add `undo` capability to `create` step.
* improvement: transaction and undo working.
* docs: Start documenting undo behaviour.
* chore: Update to Reactor 0.6.
* improvement: Automatically thread Ash tracers through Reactor.
* improvement(Ash.Reactor): Add undo to generic actions.
* docs: Improve reactor documentation.
* fix: Mimic copying `Ash.Notifier` seems to break the compiler for some reason.
2024-03-02 10:26:25 +13:00
Zach Daniel
75d975ea3a
fix: properly match return type of Type.new
in expr expansion
2024-03-01 15:44:32 -05:00
Zach Daniel
96113c20dc
improvement: cast expression calculations if they don't do it
2024-03-01 13:05:49 -05:00
Zach Daniel
7d6ad64e0e
fix: properly scope expanded calculations
...
improvement: aggregate sort replaces query sort
2024-02-29 15:02:20 -05:00
Zach Daniel
b98b39ec89
fix: properly scope expanded calculations
2024-02-29 14:40:59 -05:00
Zach Daniel
9a91937c88
fix: properly add aggregate authorization everywhere
2024-02-29 13:29:01 -05:00
Zach Daniel
650205a9bc
fix: ensure calculation arguments are not ignored when parsing filters
...
fixes #917
2024-02-29 00:41:24 -05:00
Zach Daniel
582e983152
fix: properly authorize aggregates
2024-02-28 22:27:30 -05:00
Zach Daniel
e1c5130adb
fix: bad reference in atomic validations
2024-02-27 12:57:36 -05:00
Tw
5ce0ed4d05
fix: prevent leakage of stale async_limiter's pid ( #916 )
...
the pid of async_limiter in the query's context will be invalid because we stop it
at the end of reading. So clear it up from query's context before returning back.
BTW, I found this issue according to the following crash:
```
[error] GenServer #PID<0.647.0> terminating
** (stop) exited in: GenServer.call(#PID<0.648.0>, {:get_and_update, #Function<0.21809672/1 in Ash.Actions.Read.AsyncLimiter.async_or_inline/3>}, 5000)
** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
(elixir 1.16.0) lib/gen_server.ex:1114: GenServer.call/3
(ash 2.19.3) lib/ash/actions/read/async_limiter.ex:26: Ash.Actions.Read.AsyncLimiter.async_or_inline/3
(elixir 1.16.0) lib/enum.ex:1708: anonymous fn/3 in Enum.map/2
(elixir 1.16.0) lib/enum.ex:4399: anonymous fn/3 in Enum.map/2
(elixir 1.16.0) lib/stream.ex:1816: anonymous fn/3 in Enumerable.Stream.reduce/3
(elixir 1.16.0) lib/enum.ex:4842: Enumerable.List.reduce/3
(elixir 1.16.0) lib/stream.ex:1828: Enumerable.Stream.do_each/4
(elixir 1.16.0) lib/enum.ex:4399: Enum.map/2
(ash 2.19.3) lib/ash/actions/read/relationships.ex:39: Ash.Actions.Read.Relationships.fetch_related_records/2
(ash 2.19.3) lib/ash/actions/read/relationships.ex:23: Ash.Actions.Read.Relationships.load/3
(ash 2.19.3) lib/ash/actions/read/read.ex:237: Ash.Actions.Read.do_run/3
(ash 2.19.3) lib/ash/actions/read/read.ex:49: anonymous fn/3 in Ash.Actions.Read.run/3
(ash 2.19.3) lib/ash/actions/read/read.ex:48: Ash.Actions.Read.run/3
(ash 2.19.3) lib/ash/api/api.ex:2301: Ash.Api.page/3
(ash 2.19.3) lib/ash/api/api.ex:2258: Ash.Api.page!/3
...
```
Signed-off-by: Tw <tw19881113@gmail.com>
2024-02-27 09:03:46 -05:00
Zach Daniel
3b89f8fbaa
chore: fix dialyzer
2024-02-26 13:04:43 -05:00
Zach Daniel
1a99098f52
fix: ensure that policies are applied to aggregates referenced in calculations
2024-02-26 13:00:12 -05:00
Zach Daniel
e238804b46
fix: ensure records are returned from bulk actions in atomic upgrades
2024-02-25 21:06:10 -05:00
Zach Daniel
93ae8f17a5
fix: handle small logic error in notification sending for bulk actions
2024-02-25 16:13:41 -05:00
Zach Daniel
0e1fe24f46
fix: ensure actor context is set in filter
2024-02-25 08:24:19 -05:00
Zach Daniel
eab194fac5
fix: properly handle limit/offset for aggregates
2024-02-24 20:21:13 -05:00
Zach Daniel
adbac1b7da
improvement: don't duplicate base filter in aggregates
2024-02-24 19:24:51 -05:00
Zach Daniel
993355f938
fix: don't use Aggregate.new
for builtin aggregates
2024-02-24 19:17:35 -05:00
Zach Daniel
4d39ab8a80
fix: merge root query into aggregate queries, don't apply both
2024-02-24 18:10:26 -05:00
Zach Daniel
240e809437
fix: return proper pattern from select builtin change
2024-02-24 09:27:12 -05:00
Zach Daniel
80be80c151
fix: properly catch errors in atomic changeset casting
2024-02-23 19:16:31 -05:00
Zach Daniel
81fee97306
fix: use Ash.Changeset.set_context
on changesets
2024-02-22 17:39:52 -05:00
Zach Daniel
825a3a945d
fix: properly fail early on missing actor in policies
...
fix: handle `:continue` case in authorizer
fix: validations run regardless of if the relevant fields are changing
2024-02-22 10:53:32 -05:00
Zach Daniel
c08aa2507b
chore: detect a resource given as a module
2024-02-22 08:11:49 -05:00
Zach Daniel
701f9b4cc6
fix: honor soft destroys for atomic bulk destroys
2024-02-22 08:02:01 -05:00
Zach Daniel
7b5a3267be
chore: walk back change to set context on query
2024-02-21 08:17:24 -05:00
Zach Daniel
c36f3ba2ab
fix: properly set context on query and changeset
2024-02-21 08:16:23 -05:00
Zach Daniel
3027afe5fc
fix: pass correct options into Api.stream!
for bulk_destroy
2024-02-21 08:09:20 -05:00
Zach Daniel
9619c2fbda
Revert "fix: check attributes after arguments for present?
"
...
This reverts commit 85f8af2f8b
.
2024-02-19 17:58:53 -05:00
Zach Daniel
85f8af2f8b
fix: check attributes after arguments for present?
2024-02-19 17:53:17 -05:00
Dmitry Maganov
08008102d0
fix: correct for_read
calls in update and destroy actions ( #907 )
2024-02-19 09:52:21 -05:00
Zach Daniel
944f69b16e
fix: properly annotate run_flow
's recursive DSL tag
...
docs: update spark & docs
2024-02-16 21:25:18 -05:00
Zach Daniel
3e82d05edb
fix: ensure that to-many relationships are loaded as lists
2024-02-16 20:17:59 -05:00
Zach Daniel
a06912f9b0
fix: honor not_found_error?
in read_one
...
improvement: pass `tenant` to context in custom changes
improvement: `Ash.context_to_opts` now checks for a `tenant`
2024-02-16 17:56:23 -05:00
Zach Daniel
31714e1979
docs: fix docs for manual reads
...
fixes #903
2024-02-16 16:10:07 -05:00
Dmitry Maganov
b1b6ee96df
fix: remove unneeded code for calculations in a filter ( #904 )
2024-02-16 16:05:40 -05:00
Zach Daniel
3924ddfa45
improvement: handle stale update/destroys
2024-02-15 23:48:45 -05:00
Zach Daniel
610b785fd8
fix: restore not_found_error?
behavior in Ash.Flow
2024-02-15 23:34:38 -05:00
Zach Daniel
159e8ff377
fix: handle cases where no primary keys are present better
2024-02-15 21:24:21 -05:00
Zach Daniel
f324e7385b
chore: use .has_expression/2
in one more place
2024-02-15 16:54:14 -05:00
Zach Daniel
52e0fb8ba6
fix: ensure that filters are parsed from policy authorizer ahead of time
2024-02-15 10:50:10 -05:00
Zach Daniel
36274a7369
fix: check if query is a query before calling .__validated_for_action__
...
fixes #896
2024-02-15 09:02:57 -05:00
Zach Daniel
5ecfe71b81
fix: properly authorize actions in flow
...
this was broken in the recent refactor
2024-02-15 09:00:15 -05:00
Zach Daniel
dcbccec7c3
improvement: support authorize_query_with
for bulk updates/destroys
...
improvement: support `authorize_changeset_with` for bulk updates/destroys
2024-02-14 17:50:05 -05:00
Dmitry Maganov
76a0b0f7f3
chore: format some with
clauses to be on a single line ( #893 )
2024-02-14 15:44:37 -05:00
Dmitry Maganov
ae58f0c118
fix: handle warning about incompatible types ( #892 )
2024-02-14 15:13:02 -05:00
Zach Daniel
1ee5c9a50a
fix: properly refer to attributes in changing_attributes/1
2024-02-14 15:01:21 -05:00
Dmitry Maganov
b4dc2eae71
fix: remove unneeded code for calculations in a filter ( #891 )
2024-02-14 14:35:12 -05:00
Zach Daniel
1171e9fb03
fix: evaluate templates to unknown at ref
2024-02-14 14:33:45 -05:00
Zach Daniel
f23f0a29fe
fix: handle atomic_ref templates and changing_attributes/1
2024-02-14 13:55:19 -05:00
Zach Daniel
e9d2d8c575
chore: add some defensive coding for policies
2024-02-14 11:03:38 -05:00
Barnabas Jovanovics
d7c8cdd1eb
fix: replace refs for relationships use correct action ( #888 )
...
---------
Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
2024-02-14 10:58:54 -05:00
Barnabas Jovanovics
576e37d4a5
fix: handle not found case in destroy ( #890 )
...
* fix: handle not found case in destroy
* fix: add case where authoriztion did not change query
2024-02-14 10:24:43 -05:00
Zach Daniel
fd53c103f9
fix: properly map sort input and non-input refs in keyset filters
2024-02-14 10:07:13 -05:00
Rebecca Le
407eee5785
docs: Correct example used for manual actions ( #886 )
...
In my testing, arguments to a manual action are part of the `arguments` in the input to the `run` function - which is the action struct itself.
2024-02-14 09:35:34 -05:00
Zach Daniel
2c79bc9cba
fix: properly match on invalid query from before_action
2024-02-13 21:12:31 -05:00
Zach Daniel
67eb3628a5
fix: ensure proper context set on atomic upgrade
2024-02-13 15:52:01 -05:00
Zach Daniel
ea12375b4f
chore: fix changing_attributes
filter check logic
2024-02-13 15:13:51 -05:00
Zach Daniel
71cf111d4d
improvement: don't authorize query on synthesized atomic update/destroys
2024-02-13 15:04:08 -05:00
Zach Daniel
0eb2723930
fix: fix nil ++ list error in bulk destroy
2024-02-13 14:56:41 -05:00
Zach Daniel
3d30fd848f
fix: ensure we retain the sort order of embedded resources
...
fixes #883
2024-02-13 13:55:07 -05:00
Zach Daniel
fe0058ce98
fix: retain sort on inputs on casting embedded inputs
...
improvement: show field name in NotLoaded inspect
2024-02-12 20:46:15 -05:00
Zach Daniel
ac07bbf779
chore: fix typo
2024-02-12 20:25:53 -05:00
Zach Daniel
3af2580241
fix: properly get rewrites for embedded types
2024-02-12 20:23:14 -05:00
Zach Daniel
e619f37b4b
chore: fix typo
...
closes #884
2024-02-12 19:34:20 -05:00
Zach Daniel
8910e038a5
improvement: implement requires_original_data?
for Ash.Notifier.PubSub
2024-02-12 14:03:16 -05:00
Zach Daniel
80fc8b0896
chore: ensure api
context is set on calculations
2024-02-12 10:06:24 -05:00
Zach Daniel
6456ed0951
chore: fix typo for bulk updates
...
chore: destroy -> bulk destroy just like updates
2024-02-12 09:50:22 -05:00
Dmitry Kulakov
5846b70315
feat: allow using custom delimiters for pubsub topics
2024-02-11 16:45:05 -04:00
Zach Daniel
a25aa99297
fix: ensure after_transaction hooks are always run
2024-02-11 11:20:08 -05:00
Zach Daniel
e5cee02cc6
chore: hydrate atomic refs properly on bulk update
2024-02-10 18:56:09 -05:00
Zach Daniel
70ae75b203
fix: handle records in Ash.destroy
and Ash.update
...
fixes #879
2024-02-10 18:39:03 -05:00
Zach Daniel
4eb8ba2130
fix: pre-template change/validation option in bulk update/destroy
...
fix: fix query match error in bulk destroy/update
2024-02-10 18:29:24 -05:00
Zach Daniel
0229a894ab
chore: fix typo from last PR
2024-02-09 17:29:37 -05:00
Zach Daniel
2b7a99905c
improvement: support policies requiring original data
2024-02-09 17:19:45 -05:00
Zach Daniel
0893518f39
improvement: change atomicity requirements when datalayers don't support it
...
test: make tests pass on 3.0
2024-02-08 15:17:32 -05:00
Barnabas Jovanovics
171a0f0dad
feat: support functions in parse predicates ( #874 )
2024-02-08 11:24:52 -05:00
Dmitry Maganov
5eccdcd7f8
improvement: add on_match: :update_join
to manage_relationship
( #875 )
2024-02-08 11:18:32 -05:00
Zach Daniel
5c26975eb2
fix: don't consider primary key matches with nil
values
...
fixes #876
2024-02-08 11:13:09 -05:00
Zach Daniel
2074cbe997
improvement: don't call telemetry when compiling
2024-02-08 10:48:22 -05:00
Dmitry Maganov
d47eb086a2
fix: continue cleanup in ManagedRelationshipHelpers
( #873 )
2024-02-07 14:56:04 -05:00
Zach Daniel
2cd6360379
fix: fix pattern match error on certain policy conditions
...
improvement: various policy behavior cleanups
2024-02-06 19:30:18 -05:00
Dmitry Maganov
b428fb8995
chore: continue update validate_related_resource_inclusion.ex ( #871 )
2024-02-06 19:29:20 -05:00
Bryan Bryce
974acdf5b9
chore: Update validate_related_resource_inclusion.ex ( #870 )
...
The error message had an error because it referred to a option name that doesn't exist
2024-02-06 12:46:34 -05:00
Zach Daniel
5b10d6f292
fix: use primary key for lateral join source in ets
2024-02-06 11:55:05 -05:00
Dmitry Maganov
0cc0e142a6
fix: set right accessing_from
name in many to many managed create ( #868 )
2024-02-06 09:48:49 -05:00
Robert Graff
e331e24c7b
Pass the tenant to full_atomic_changeset call ( #867 )
2024-02-03 20:33:43 -05:00
Dmitry Maganov
e1efea81bf
improvement: add join_keys
option to manage_relationship
( #866 )
2024-02-03 15:02:25 -05:00
Zach Daniel
89a8f59e18
fix: set_tenant on fully atomic changesets
2024-02-03 14:56:13 -05:00
Zach Daniel
dd3f4766ec
fix: handle api.can case in authorize_changeset
...
fix: properly bypass authorization in atomic update switch-over
2024-02-02 04:25:07 -05:00
Zach Daniel
c5ef834b5b
improvement: don't run check
in cases that require strict checks
2024-02-01 17:09:34 -05:00
Zach Daniel
94ffeaa057
fix: properly set action_type on atomic changesets
2024-02-01 14:32:01 -05:00
Zach Daniel
1cd73e2ec7
chore: also properly process opts for destroy atomic changesets
2024-02-01 14:29:26 -05:00
Zach Daniel
618ae4459a
chore: properly process opts for atomic changesets
2024-02-01 14:29:01 -05:00
Zach Daniel
3baa9c5951
fix: extract relationship filters from pre-authorization query
2024-02-01 13:06:43 -05:00
Zach Daniel
57654d3df4
improvement: atomic_batches behavior for bulk destroys
...
improvement: allow strategy selection for bulk actions
2024-02-01 13:00:52 -05:00
Zach Daniel
e707758c93
fix: retain metadata on updates, atomic and otherwise
...
fix: properly load expression -> runtime calculation deps
2024-02-01 10:21:22 -05:00
Barnabas Jovanovics
60c10e9af4
feat: support returning streams from mod calc ( #864 )
2024-02-01 09:06:51 -05:00
Zach Daniel
3b3e3a06f2
fix: ignore input?
when considering refs equal in filter subset checking
2024-01-31 15:57:47 -05:00
Zach Daniel
b3977817bb
chore: add sobelow skip statement
2024-01-31 15:47:38 -05:00
Dmitry Maganov
51990bd784
fix: change names of code interface methods for calculations ( #863 )
2024-01-31 15:42:22 -05:00
Zach Daniel
fc3cbc4e2c
improvement: change nested field filtering to be done with at_path
2024-01-31 15:41:10 -05:00
Zach Daniel
9efe456e16
fix: properly mark manuall created input refs with input?: true
2024-01-31 12:12:06 -05:00
Zach Daniel
f7716c5222
improvement: support referencing non-array embeds in input filters
2024-01-31 12:11:36 -05:00
Zach Daniel
107e6c53f5
improvement: bulk update in batches if not given a query
2024-01-31 10:26:08 -05:00
Zach Daniel
9749b75e3b
fix: clean vars should handle map vars
2024-01-31 09:46:11 -05:00
Zach Daniel
f8ef4529c1
fix: properly merge union loads
2024-01-31 08:29:02 -05:00
Zach Daniel
7811dfaa11
improvement: update action should respect load and select
2024-01-30 20:25:49 -05:00
Zach Daniel
6602ae63e6
fix: support expression calculations referencing runtime calculations
2024-01-30 16:34:17 -05:00
Zach Daniel
49ac5a23dd
fix: set default access type properly
2024-01-30 13:37:34 -05:00
Zach Daniel
15ab382ee0
chore: remove IO.inspect
2024-01-30 13:17:12 -05:00
Zach Daniel
9f748b5c55
test: update authorizer tests
...
fix: properly handle the case where all valid scenarios are pruned
2024-01-30 13:11:47 -05:00
Zach Daniel
9e02b0d0c7
improvement: introduce require_atomic?
, which defaults to false
in 2.0, true
in 3.0
...
fix: properly prevent the atomic handling of manual update actions
improvement: better support around the mixing of atomic and non atomic changes/validations
2024-01-30 12:32:41 -05:00
Zach Daniel
8e82d9588f
chore: better handling of atomic validations
2024-01-29 17:55:56 -05:00
Zach Daniel
f4339be426
chore: fix stream option taking (again)
2024-01-29 15:56:48 -05:00
Zach Daniel
248f99ebcf
fix: fix passing extra opts to stream
...
fix: properly check if data layer can update_query
2024-01-29 15:43:21 -05:00
Zach Daniel
210d8d03c7
improvement: more atomic implementations
...
chore: wrap up load/select support in atomic updates
2024-01-29 15:17:52 -05:00
Zach Daniel
c02bced508
improvement: support loading and selecting in bulk operations
2024-01-29 14:29:50 -05:00
Zach Daniel
cf009476b2
chore: better non-atomic message on updates
2024-01-29 11:15:56 -05:00
Zach Daniel
b01168b597
improvement: use atomic create actions where possible
2024-01-29 10:37:10 -05:00
Tun Cham Roeun
c075d18f33
fix: Ash.Type.Float to support min/max constraints( #856 )
2024-01-28 09:11:10 -05:00
Zach Daniel
2549c20105
chore: format
2024-01-27 10:33:17 -05:00
Zach Daniel
c9c2408401
fix: add calculations before distinct is applied in data layer query
2024-01-27 10:20:23 -05:00
Zach Daniel
f1952a5d8b
chore: format
2024-01-27 09:55:11 -05:00
Zach Daniel
77c01123f0
fix: properly set index on embedded type array errors
...
fixes #854
2024-01-27 09:55:04 -05:00
Dmitry Maganov
c40f762eee
fix: use correct option for relationship in atomic relate_actor
( #855 )
...
---------
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2024-01-27 09:53:03 -05:00
Barnabas Jovanovics
fb3e7050a1
fix: only count resources the actor is allowed to see ( #853 )
...
* fix: only count resources the actor is allowed to see
* remove specc added by vscode
2024-01-26 13:33:03 -05:00
Zach Daniel
50b186bef9
chore: fix typespec
2024-01-25 14:22:41 -05:00
Zach Daniel
2888fea33b
chore: format
2024-01-25 13:55:09 -05:00
Zach Daniel
b494c76a92
fix: deselect known forbidden fields *after* query authorization is complete
2024-01-25 11:19:52 -05:00
Zach Daniel
a68a628839
improvement: always define merge_load/4
2024-01-25 10:45:08 -05:00
Dmitry Maganov
c8b1eaa8f0
fix: soft?
in destroy action options is a boolean, not an atom ( #851 )
2024-01-24 14:52:31 -05:00
Barnabas Jovanovics
cfec396f99
fix: load fails because of empty list instead of query ( #847 )
2024-01-24 11:18:51 -05:00
Zach Daniel
66295c4efb
improvement: derive source_attribute_on_join_resource
for many to many
2024-01-23 23:43:02 -05:00
Zach Daniel
13bff0a9cd
fix: don't attempt to derive destination_attribute_on_join_resource
2024-01-23 23:38:52 -05:00
Zach Daniel
1f96993e1b
chore: fix typo accessing action
2024-01-23 23:22:39 -05:00
Zach Daniel
fe3215cc07
improvement: atomic implementation for relate_actor
...
improvement: include a message along with the non-atomic signifier
2024-01-23 22:41:15 -05:00
Zach Daniel
3e87e6220f
improvement: support transactions on bulk destroys
2024-01-23 22:10:14 -05:00
Zach Daniel
bf81f8c8a5
chore: format
2024-01-23 21:48:38 -05:00
Zach Daniel
1807523ba2
improvement: support transactions in bulk updates
2024-01-23 21:36:17 -05:00
Zach Daniel
878011bd3e
improvement: count_nils/1
function
...
improvement: `present/absent` atomic implementation
improvement: add `atomic_ref/1` template helper
2024-01-23 19:13:14 -05:00
Jinkyou Son
2368fe82b6
improvement: Change typespec of tenant from String.t() to term() ( #845 )
2024-01-23 13:16:04 -05:00
Dmitry Maganov
91c34c3939
fix: join_relationship
in many to many can make through
optional ( #846 )
2024-01-23 13:15:51 -05:00
Barnabas Jovanovics
c60c5111ae
fix: make sure query has action ( #844 )
2024-01-23 10:42:34 -05:00
Barnabas Jovanovics
f25d7edc2f
fix: pass in actor to api.can call ( #843 )
...
* fix: pass in actor to api.can call
* only call api.can if authorize? is true
2024-01-23 09:22:19 -05:00
Nduati Kuria
d229ade9fc
Add :decimal
aggregate support to DataLayer.Ets
[WIP] ( #841 )
...
* Add `:decimal` aggregate support to `DataLayer.Ets`
* Add regression test
* Fix dialyzer
* Handle nils in `:avg` calculation
* Refactor nested ifs
* Refactor test
2024-01-22 16:03:34 -05:00
Barnabas Jovanovics
4ffd3cfa11
fix: do not check primary key fields in filter ( #839 )
2024-01-22 11:31:20 -05:00
Barnabas Jovanovics
20880691fb
fix: add page opts to context again ( #838 )
2024-01-22 11:29:13 -05:00
Zach Daniel
7b40917516
fix: return errors with query from read action
...
closes #837
2024-01-21 13:55:01 -05:00
Zach Daniel
ecf4893b64
fix: properly set defaults on upsert in mnesia
2024-01-21 12:06:16 -05:00
Zach Daniel
45be2a34eb
chore: format
2024-01-21 01:27:08 -05:00
Zach Daniel
ce4c3cb2c1
fix: don't load through attributes twice, but also don't miss any
2024-01-21 01:26:22 -05:00
Zach Daniel
d013818c0a
improvement: handle pkey-less resources when attaching fields
...
improvement: set lazy defaults when applying changeset attributes
2024-01-21 00:45:35 -05:00
Zach Daniel
a08582ed0f
chore: remove IO.inspect
2024-01-20 21:50:14 -05:00
Zach Daniel
5af5702efb
improvement: add prepend?: true
option to add_change
2024-01-20 21:48:57 -05:00
Zach Daniel
fc522ff6c5
fix: handle errors properly from invalid loads
2024-01-20 19:39:35 -05:00
Zach Daniel
892cd7c845
fix: handle data layer calculations for missing records
2024-01-20 18:52:36 -05:00
Zach Daniel
7aaea7bd55
fix: only load through calculations in the correct order
2024-01-20 13:53:35 -05:00
Zach Daniel
aa227b8a6a
chore: format
2024-01-19 21:17:22 -05:00
Zach Daniel
e646be5393
fix: properly detect cyclic dependencies in calculation runner
...
fix: properly annotate in-query calculations as complete for dependency calculation
2024-01-19 21:10:48 -05:00
Zach Daniel
e49f42a195
fix: fix present?
and load_through
bugs
2024-01-19 17:26:13 -05:00
Zach Daniel
21de0fe882
chore: fix typo
2024-01-19 16:27:36 -05:00
Zach Daniel
b654c0cd5c
chore: remove IO.inspect
2024-01-19 16:26:51 -05:00
Zach Daniel
70918d42c5
chore: remove unused variables/aliases
2024-01-19 15:51:18 -05:00
Zach Daniel
1140771f74
fix: don't require pagination in incorrect cases
2024-01-19 15:50:35 -05:00