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
Zach Daniel
e5d78ae074
fix: get tests passing for bulk creates again
2024-01-19 10:49:26 -05:00
Zach Daniel
3db822d775
improvement: optimize embedded resource creation
2024-01-19 09:58:54 -05:00
Zach Daniel
c48cb08026
improvement: rewrite read actions to not use Ash.Engine
( #836 )
2024-01-19 00:05:42 -05:00
Zach Daniel
fc583b1d1e
docs: remove old docs
2024-01-18 09:20:16 -05:00
Zach Daniel
4c96fdd40f
fix: don't ignore stream batch size
2024-01-13 21:48:11 -05:00
Zach Daniel
6f56f3c4db
chore: use ash_query as base count aggregate query
2024-01-12 14:18:01 -05:00
Zach Daniel
4200b5df50
chore: fix dialyzer/credo
2024-01-12 14:14:08 -05:00
Zach Daniel
072486bebd
docs: revamp hexdocs
...
fix: use current read action for counting
2024-01-12 14:07:35 -05:00
Zach Daniel
0ca7393417
chore: undo typo
2024-01-12 08:40:34 -05:00
Zach Daniel
76cfe55a2a
improvement: add all_tenants?
option to identities
2024-01-12 08:36:06 -05:00
Zach Daniel
59e50f8dfa
fix: set tenant attribute in bulk create
...
fixes : #830
2024-01-12 08:19:55 -05:00
Zach Daniel
db7e42713c
docs: add a docstring for expr_sort
2024-01-12 07:49:58 -05:00
Jechol Lee
250c4ab8c8
improvement: support Ash.CiString in string_join ( #832 )
2024-01-12 00:21:30 -05:00
Jechol Lee
6b0e9fe1b3
improvement: Add code interface support in Info and Builder. ( #828 )
2024-01-12 00:19:51 -05:00
Zach Daniel
bbd866956d
improvement: authorize each related join using join_filters
2024-01-12 00:17:37 -05:00
Rebecca Le
0a4a7c057d
feat: Allow :self
as an option when requesting a relative page from a given page ( #833 )
2024-01-12 00:16:41 -05:00
Zach Daniel
3fac46e65b
chore: fix shadowed variable
2024-01-11 17:08:05 -05:00
Zach Daniel
df94bfe0b6
chore: dialyzer
2024-01-11 16:27:43 -05:00
Zach Daniel
55219a0dfb
chore: can't enumerate :unknown
2024-01-11 16:19:36 -05:00
Zach Daniel
f564e47fb8
fix: fix runtime filter parsing & make last arg optional
2024-01-11 15:45:47 -05:00
Zach Daniel
2e2d2c404c
fix: undo incorrect behaviour in runtime evaluation
2024-01-11 15:35:49 -05:00
Zach Daniel
6b74072ada
chore: formatter, cheat sheets, credo
2024-01-11 15:05:25 -05:00
Zach Daniel
35573a6f4e
improvement: support join_filters
in aggregates
2024-01-11 14:57:22 -05:00
Jechol Lee
5eaec735f8
fix: fix typespecs and cleanup Ash.Resource.Builder ( #827 )
2024-01-11 11:44:04 -05:00
Zach Daniel
5b82ce293f
fix: authorize aggregate references in calculations
2024-01-10 07:11:02 -05:00
Zach Daniel
63c15bbfe9
improvement: error on using relate_actor
with :many
cardinality relationships
2024-01-10 05:56:22 -05:00
Robert Graff
fc9132e75b
docs: metadata docs improvement ( #823 )
2024-01-09 19:27:16 -05:00
Alan Heywood
dbb4a38ea3
fix: only put keywords to be interpolated in message in error vars ( #821 )
...
* fix: only put keywords to be interpolated in message in error vars
---------
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2024-01-08 18:08:17 -05:00
Zach Daniel
d617f42daf
improvement: append new entities in Ash.Resource.Builder
2024-01-08 16:19:36 -05:00
Zach Daniel
c1fd67f22c
fix: ignore empty relationship paths when authorizing relationships
2024-01-08 15:47:48 -05:00
Zach Daniel
4652a8237e
fix: properly build query from opts in aggregates
2024-01-08 15:40:27 -05:00
Zach Daniel
a12131cf70
improvement: simplify aggregate loading, remove Ash.Engine
from it
...
improvement: add atomic implementation for builtin `increment` change
improvement: simplify related path authorization, use same tool as aggregates now use
2024-01-08 15:31:09 -05:00
Robert Graff
b35f30fb6f
docs: Fix typo in page_requires_pagination.ex ( #819 )
2024-01-05 19:15:52 -05:00
Zach Daniel
80d117ed1e
chore: remove IO.inspect
2024-01-05 12:41:58 -05:00
Zach Daniel
16818f1f14
fix: don't consider ash field signals as present
2024-01-05 12:30:59 -05:00
Zach Daniel
c4fd06aea0
improvement: refactor filter requests to not use Ash.Engine
2024-01-04 12:46:38 -05:00
Zach Daniel
af9c78c2f6
chore: fix typo
2024-01-04 01:01:44 -05:00
Zach Daniel
fadecf3ee9
improvement: atomic validation implementations for most validations
...
improvement: support type operator overloading
2024-01-04 00:52:46 -05:00
Zach Daniel
6061a2a16a
improvement: add some atomic implementations
2024-01-03 16:48:15 -05:00
Zach Daniel
746fc5df53
fix: add required check for stream pagination
2024-01-01 01:22:12 -05:00
Zach Daniel
fe2156a9ac
imorovement: support bulk action callbacks in the data layer
2023-12-31 00:49:22 -05:00
Zach Daniel
44761e7e3f
improvement: support :no_rollback
and return_query/2
callback
2023-12-29 21:43:15 -05:00
Zach Daniel
b600b23803
improvement: add a return_query/2
callback for data layers
2023-12-29 17:33:23 -05:00
Zach Daniel
4dfa140ec9
improvement: support {:error, :no_rollback, error}
from data layer callbacks
2023-12-29 17:23:13 -05:00
Zach Daniel
c3e192c6d8
improvement: always update the join relationship
2023-12-28 15:04:00 -05:00
Zach Daniel
40aa17eab8
fix: ensure __source__
is set on nested embedded attributes
2023-12-28 14:47:40 -05:00
Zach Daniel
259b48e5ea
improvement: use new api
option in Ash.Query.for_read/4
2023-12-27 18:15:20 -05:00
Zach Daniel
4ee80297d7
improvement: support using the new api
option in actions
2023-12-27 18:14:29 -05:00
Zach Daniel
e90842f141
improvement: accept api
option in Ash.Changeset.for_*
functions
2023-12-27 17:53:23 -05:00
Zach Daniel
3e296a4bba
Revert "chore: comment out test for now
...
This reverts commit cc21661559
.
2023-12-27 17:47:50 -05:00
Zach Daniel
034642ffda
improvement: update Ash
interface for working with new style resources
2023-12-27 17:35:30 -05:00
Zach Daniel
cc21661559
chore: comment out test for now
2023-12-27 17:28:52 -05:00
Zach Daniel
af3d2b321d
chore: use unused variable
2023-12-27 16:38:41 -05:00
Zach Daniel
26160e446b
chore: require name for ash.codegen
2023-12-27 10:12:19 -05:00
Zach Daniel
19d18c5fcc
improvement: better formatting of nested expressions
...
improvement: helpful errors when misusing `.` in expressions
2023-12-22 22:22:59 -05:00
Zach Daniel
0f8bb664ab
fix: properly move maps & lists to expression paths
...
fix: set tenant when running authorization queries
closes : #812
2023-12-22 21:09:00 -05:00
Zach Daniel
d390d65146
improvement: simplify used aggregate detection
...
improvement: add `lazy/1` to expressions
docs: add expression docs
2023-12-22 19:06:13 -05:00
Zach Daniel
3a1923fdeb
improvement: support providing an input
key in predicate maps
2023-12-21 17:17:43 -05:00
Zach Daniel
eb05e9be63
improvement: support streaming without keyset pagination
...
use the new `allow_stream_with` and `stream_with` options to control
what strategy may be used to stream query results.
2023-12-21 08:35:49 -05:00
Zach Daniel
0932cf32a7
improvement: add callbacks for bulk actions on manual actions
2023-12-20 21:23:13 -05:00
Zach Daniel
ed887413d7
improvement: base case iterative bulk destroy implemented
2023-12-20 21:08:40 -05:00
Zach Daniel
8c17434803
improvement: add iterative, streaming implementation for bulk updates
2023-12-20 17:33:43 -05:00
Rebecca Le
ba6eb773b8
docs: Fill out shortdoc for generate_policy_charts
mix task ( #808 )
...
This is the one-liner that is shown when running `mix help` to list tasks
2023-12-19 22:51:13 -05:00
Zach Daniel
ff1a590f46
fix: empty milliseconds for utc datetime must have precision 6
...
fix: ensure actor & authorize? contexts are set even if not provided
2023-12-18 20:14:36 -05:00
Zach Daniel
867c786388
chore: remove unused variables
2023-12-18 16:02:39 -05:00
Zach Daniel
e3605bd80f
improvement: detect impending manage_relationship
calls when checking attribute presence
2023-12-18 12:47:49 -05:00
Zach Daniel
3ee3279d2f
fix: ignore load/limit/offset in aggregate queries, instead of raising
...
closes #806
2023-12-18 08:28:52 -05:00
Zach Daniel
5f3556e27f
fix: properly set changed?
for all changesets
2023-12-16 19:22:52 -05:00
Zach Daniel
ca792548ba
chore: properly pin values in attribute_equals
atomic validation
2023-12-16 13:46:12 -05:00
Zach Daniel
e7513e6e32
improvement: add stacktrace context to errors better
2023-12-16 13:36:49 -05:00
Zach Daniel
575fe52b06
chore: fix integer atomic update casting
2023-12-16 10:41:21 -05:00
Zach Daniel
2233a33523
improvement: support tenancy on manual actions
...
docs: update cheat shets
fix: honor tenant option on aggregates
closes #805
2023-12-16 10:33:10 -05:00
Zach Daniel
3be83d6ca4
improvement: lay the groundwork for fully atomic actions
2023-12-16 10:14:02 -05:00
Zach Daniel
1acca3d8e1
chore: return proper authorization errors from actions on failure
2023-12-15 20:12:26 -05:00
Zach Daniel
8e5f628286
fix: pass proper context into manual actions, remove unnecessary changeset code
2023-12-15 18:43:29 -05:00
Zach Daniel
e22c6c7927
fix: ensure actions always raise an error class
2023-12-15 15:33:10 -05:00
Zach Daniel
ad22eeb7e9
improvement: rewrite creates to not use Ash.Engine
2023-12-15 15:10:01 -05:00
Zach Daniel
4cfdb0d635
chore: remove commented out code
2023-12-15 10:15:49 -05:00
Zach Daniel
9103781379
improvement: remove Ash.Engine from update/destroy actions
2023-12-15 10:14:40 -05:00
Zach Daniel
d6ff670e0a
chore: fix typespec for Ash.Query.Function
2023-12-15 08:46:18 -05:00
Zach Daniel
5b39ff8e04
improvement: add Ash.Error.from_json/2
...
improvement: accept expressions in `Ash.Query.calculate`
2023-12-14 16:52:34 -05:00
Thales Grilo
9d2da58fb2
improvement: Adds %Ash.NotSelected{} to ash 3 ( !634 ) ( #804 )
...
* ✨ create Ash.NotSelected, add test
* ✅ add ash_three test
* 👌 fix formatting
* 👌 add missing field value
---------
Co-authored-by: thales <thales@uplearn.co.uk>
2023-12-14 16:14:15 -05:00
Zach Daniel
cdb5db9c07
fix: properly unnested union values passed into Ash.Type.Union.prepare_change_array
2023-12-14 09:24:22 -05:00
Zach Daniel
0763335650
docs: update error.ex docs
2023-12-14 09:06:07 -05:00
Zach Daniel
d09c694132
fix: thread context through when setting source constraint on embeds
2023-12-13 17:11:52 -05:00
Zach Daniel
d118d90d51
chore: fix dialyzer issue and corresponding bug from last commit
2023-12-13 15:29:12 -05:00
Zach Daniel
7298a4b51b
improvement: honor field policies in sort expressions
2023-12-13 15:08:39 -05:00
Zach Daniel
3b20fba309
fix: don't create invalid datetimes when scrubbing microseconds
2023-12-12 20:35:59 -05:00
Zach Daniel
352e27a153
fix: prepare change with nil
old value on union type change
2023-12-12 18:10:34 -05:00
Zach Daniel
839937bf6e
fix: properly prepare union value changes when old & new are union structs
2023-12-12 18:07:40 -05:00
Zach Daniel
955ba4987b
chore: credo/tasks
2023-12-12 08:51:18 -05:00
Zach Daniel
f790f3a529
improvement: additional atomic callbacks
...
fix: fix `dump_to_embedded_array`
2023-12-12 08:45:38 -05:00
Zach Daniel
a7c41b2bc8
improvement: add warn_on_transaction_hooks?: false
config
2023-12-11 16:27:46 -05:00
Zach Daniel
9bc6370d7d
improvement: accept an action input in Ash.Error.to_ash_error/3
2023-12-11 11:43:03 -05:00
Zach Daniel
3800c360ad
chore: update typespecs
2023-12-11 08:09:55 -05:00
Zach Daniel
852f27dfb6
improvement: include tenant in change context
2023-12-11 08:08:23 -05:00
Zach Daniel
c38cba51b0
fix: test failures and credo issue
2023-12-10 13:13:06 -05:00
Zach Daniel
22ba69db70
fix: add back in api level verifiers
...
I have no idea how or why these were removed, but it shouldn't have happened
2023-12-10 12:59:32 -05:00
Zach Daniel
e8da3bfd5c
improvement: support nil
values in struct type callbacks
2023-12-07 23:28:44 -05:00
Zach Daniel
8ce6e065ce
fix: don't apply default limit unless pagination is required
2023-12-06 21:37:43 -05:00
Zach Daniel
618b706e48
fix: properly handle union changes for lists of embeds
...
at the moment, this only works properly for tagged maps
2023-12-06 13:02:44 -05:00
Zach Daniel
c7e6133317
improvement: support embed_nil_values?
for trimming down stored embeds
2023-12-06 10:29:39 -05:00
Zach Daniel
e7d4f29598
fix: honor default_limit
option in pagination
2023-12-05 22:59:48 -05:00
Zach Daniel
fa311a936a
chore: restore another removed callback
2023-12-05 19:25:35 -05:00
Zach Daniel
9551010adf
chore: restore removed predicate
2023-12-05 19:22:51 -05:00
Zach Daniel
2c9bfb187a
chore: add comment
2023-12-05 19:15:21 -05:00
Zach Daniel
4641becb9e
improvement: use loaded calculation values in expressions
2023-12-05 19:13:16 -05:00
Zach Daniel
095e6c9237
fix: add back in builtin_predicate_operators/0
2023-12-05 01:38:49 -05:00
Jechol Lee
86e171a0c1
test: various test improvements ( #795 )
2023-12-05 01:34:21 -05:00
Zach Daniel
08a72acc6b
fix: various runtime expression evaluation fixes
...
the issue is that the expression parser didn't support the fact
that some operators accept `nil` values and other operators do not.
2023-12-03 13:43:35 -05:00
Igor Barakaiev
0ae14bdf71
docs: Clarify how to use Enums in attributes ( #790 )
2023-12-02 22:34:23 -05:00
mrdotb
e9afdcf39f
docs: update example Flow Step transaction ( #787 )
2023-11-30 10:16:18 -05:00
Zach Daniel
9c0a66b154
fix: honor read action for Api.get
calls.
2023-11-29 20:16:04 -05:00
Zach Daniel
92ff66211e
fix: various fixes to calculation expansion and execution
2023-11-29 20:09:34 -05:00
Zach Daniel
198b290b10
chore: update docs showing map values for composite types
2023-11-29 10:23:10 -05:00
Zach Daniel
51b02c6459
docs: add docs for composite types
2023-11-29 10:09:12 -05:00
Zach Daniel
a74bba60e0
chore: credo
2023-11-29 09:47:46 -05:00
Zach Daniel
e1193098c8
fix: don't eager evaluate composite type construction
2023-11-29 09:34:26 -05:00
Zach Daniel
3bc0d975a6
chore: fix call to compile_env!
2023-11-28 13:58:11 -05:00
Zach Daniel
27318c32cb
improvement: forbid using resources as types
2023-11-28 13:51:50 -05:00
Zach Daniel
4e0566fe0d
improvement: add composite_type/2
and composite_type/3
2023-11-27 19:11:52 -05:00
Zach Daniel
fdc2bc9a58
improvement: support key aliases for composite types
2023-11-27 16:20:30 -05:00
Zach Daniel
5703e26adc
chore: add Ash.Type
functions for new callbacks
2023-11-27 13:14:33 -05:00
Zach Daniel
438331e2e9
chore: move overridable callbacks to correct type
2023-11-27 13:06:17 -05:00
Zach Daniel
d36972ca8b
chore: make new Ash.Type callbacks overridable
2023-11-27 13:03:20 -05:00
Zach Daniel
c6a2e56142
fix: ensure NewType honors new composite callbacks
2023-11-27 12:59:56 -05:00
Zach Daniel
e043521625
chore: fix callbcak location
2023-11-27 12:57:18 -05:00
Zach Daniel
c82542ce55
improvement: add composite?/1
and composite_types/1
to Ash.Type
2023-11-27 12:55:39 -05:00
Zach Daniel
83d5bdd55e
fix: properly create new vectors from strings
2023-11-26 18:53:23 -05:00
Zach Daniel
be935723d2
fix: properly resolve nested calculation dependencies
2023-11-24 07:23:38 -05:00
Zach Daniel
fcdd35d336
chore: revert change to used_calculations
2023-11-21 09:32:55 -05:00
Zach Daniel
432d65a003
fix: don't apply sort on manage relationship lookup
...
fix: don't apply filter on manage relationship lookup if it has a parent expr
2023-11-21 09:13:23 -05:00
Jeremy Grant
1ce05562aa
fix: change_attribute failing on a union attribute ( #778 )
2023-11-20 19:10:35 -05:00
Barnabas Jovanovics
a3a176287d
fix: convert upsert fields before passing to data layer ( #777 )
2023-11-20 10:21:16 -05:00
Zach Daniel
1b847fc83c
fix: use sort
and filter
to synonymous_relationship
checks
2023-11-16 10:48:32 -05:00
Zach Daniel
b9f804db10
fix: properly set actor context on calc expressions in ets data layer
2023-11-16 08:18:39 -05:00
Zach Daniel
2d536e0b95
fix: properly pass authorize? option when loading aggregates
2023-11-15 20:25:59 -05:00
Zach Daniel
db44eaea74
fix: properly associate lateral join records with no_attributes? true
2023-11-15 18:38:13 -05:00
Zach Daniel
a983ddcef6
fix: set aggregate context as well as calculation context in filters
2023-11-15 17:46:13 -05:00
Zach Daniel
4a2563d5ae
fix: set actor when computing aggregates that reference calculations
2023-11-15 17:26:57 -05:00
Zach Daniel
c5f59934d4
fix: dialyzer issues on sort
2023-11-14 10:52:32 -05:00
Zach Daniel
bb9b9aea37
fix: properly return constraints in aggregate get_type
2023-11-13 17:11:43 -05:00
Zach Daniel
1a2dc2a14c
chore: format
2023-11-13 17:04:53 -05:00
Simon Bergström
b0d5c08f5d
fix: properly include relationship name message when relationship cannot be found ( #770 )
2023-11-13 17:04:35 -05:00
Zach Daniel
575b1000d1
fix: properly thread constraints through aggregates
2023-11-13 16:47:24 -05:00
Barnabas Jovanovics
abb0854ae9
fix: remove destroyed or unrelated data from the relationship ( #767 )
2023-11-13 13:58:09 -05:00
Eduardo B. A
1775ab5a14
feat: Expand upsert_fields option ( #761 )
...
With this change, upsert_fields accepts the following options:
* `nil`: upsert fields not set;
* `:replace_all`: all fields from resource will be updated;
* `{:replace_all_except, [fields]}`: all fields from resource except fields inside `fields` will be updated;
* `{:replace, [fields]}`: only fields inside `fields` will be updated.
2023-11-13 13:23:16 -05:00
Zach Daniel
1470696a73
fix: properly strip extra record requested to detect more?
pages.
2023-11-13 13:18:35 -05:00
James Harton
173f4ae5ad
docs: Spelling fix (wether
-> whether
). ( #764 )
...
Wether: noun
1. A castrated male sheep or goat.
Whether: conjuction
1. Used to indirect questions to introduce one alternative.
2. Used to introduce alternative possibilities.
3. Either.
2023-11-09 15:52:13 +13:00
Zach Daniel
780eae8d69
improvement: honor authorize?: false
option in generic actions
2023-10-27 15:28:51 -04:00
Zach Daniel
291dea3de9
docs: update docs for pub sub
2023-10-27 13:22:33 -04:00
Zach Daniel
5ea570591b
fix: don't attempt to key a struct
2023-10-27 11:07:11 -04:00
Zach Daniel
0a0148214a
fix: ensure item constraints are passed to array casting
2023-10-27 00:37:28 -04:00
Zach Daniel
f7b2af8bcc
fix: handle non-list values in Ash.Actions.Sort.process/4
2023-10-26 23:52:25 -04:00
Zach Daniel
348488e377
chore: fix typo copypasta
2023-10-26 22:07:33 -04:00
Zach Daniel
7b50a401d8
fix: optimize and make Ash.Type
more consistent
2023-10-26 22:04:57 -04:00
Riccardo Binetti
f12a73ad88
docs: fix Ash.Resource.Preparation moduledoc ( #759 )
...
It mentioned changeset and change instead of query and preparation
2023-10-26 19:27:30 -04:00
Zach Daniel
34a4e416b0
fix: fix typespec for include_source/2
2023-10-26 10:11:54 -04:00
Zach Daniel
0988f31811
chore: fix typespec for error class module
2023-10-26 10:05:20 -04:00
Zach Daniel
8a31284015
chore: process sort before checking for parent exprs
2023-10-26 10:02:17 -04:00
Zach Daniel
4797e148ac
improvement: detect more parent expressions
2023-10-26 09:58:08 -04:00
Robert Graff
a48d43e79d
fix more handle change use cases ( #757 )
2023-10-25 17:47:50 -04:00
Zach Daniel
e680867be9
fix: don't reorder global validations/changes
...
fix: use latest spark, and new persisters callback
fix: properly validate belongs_to relationships
2023-10-25 17:45:55 -04:00
Zach Daniel
539f5a1727
fix: remove invalid usages of unsafe_change_attribute/3
...
ci: test against `ash_paper_trail`
2023-10-25 13:06:04 -04:00
Robert Graff
f03b6a4370
fix: handle builtin types in unions ( #752 )
2023-10-25 08:31:25 -04:00
Zach Daniel
d6c1445974
chore: update docs
2023-10-24 12:42:35 -04:00
Frédérick Capovilla
76783b355b
feat: Add unknown argument error when passing an unknown key to an action. ( #750 )
...
* improvement: Add ash_three? feature flag for Ash 3.0 related behaviors.
* test: Add the ash_three test tag to exclude tests targetting Ash 3.0
2023-10-24 12:27:33 -04:00
Zach Daniel
7eac076581
chore: update dialyzer & cleanup dead code
2023-10-21 23:30:33 -04:00
Zach Daniel
9ad876af20
improvement: add Ash.Test.assert_has_error
and Ash.Test.refute_has_error
2023-10-21 23:14:45 -04:00
Zach Daniel
dec32f47ee
improvement: support to_error_class
taking changeset/query/input
2023-10-21 22:55:45 -04:00
Frédérick Capovilla
60d12f86da
fix: Change heading levels in generated livebook to have only one H1 ( #747 )
2023-10-21 22:32:46 -04:00
Frédérick Capovilla
5fe3cdc26e
improvement: add "filename" parameter to the livebook generator. ( #746 )
2023-10-21 22:32:05 -04:00
Jordan Hewitt
003d5eb0e3
fix: code gen interfaces check type first argument ( #749 )
...
* reproduced reported error message.
* remove path matching from code interface in order to make error error from issue 679 more clear.
---------
Co-authored-by: Jordan <srcrr-gitlab@ipriva.com>
2023-10-21 19:52:37 -04:00
Kevin Schweikert
313ec74152
docs: inset code in set_attrbute docs ( #745 )
2023-10-21 14:13:45 -04:00
Zach Daniel
799a1d1dd3
fix: properly support get
in Ash
...
fix: add back in accidentally removed transformer
2023-10-20 08:09:14 -04:00
Zach Daniel
2dbebf39e1
fix: properly determine resource from Ash.get!/2
2023-10-20 06:22:32 -04:00
Zach Daniel
1ab5a35d7f
improvement: support an api
option to use Ash.Resource
( #715 )
...
* improvement: support an `api` option to `use Ash.Resource`
improvement: add functions to `Ash` for resources w/ configured apis
improvement: default code_interface.define_for to resource's ash api
2023-10-20 06:07:34 -04:00
Zach Daniel
0176958ec0
fix: cast functional default values
2023-10-19 12:06:56 -04:00
Zach Daniel
d5621fbc8c
improvement: cast_input for default values at compile time
2023-10-19 11:57:07 -04:00
Zach Daniel
60977a4d6c
chore: make credo happy
2023-10-19 11:25:33 -04:00
Zach Daniel
b605232f7e
chore: comment out more unnecessary code
2023-10-19 11:14:57 -04:00
Zach Daniel
cb8fc298ae
fix: temporarily omit overzealous validation
2023-10-19 11:14:08 -04:00
Zach Daniel
7d06d8fa46
fix: properly honor max_concurrency
option
...
chore: remove IO.inspect
2023-10-18 16:53:12 -04:00
Zach Daniel
381d45a3f8
improvement: optimize bulk creates where results are not returned
2023-10-18 16:18:57 -04:00
Zach Daniel
ff88ce68b4
improvement: rewrite bulk creates, optimize changeset functions ( #744 )
2023-10-18 14:07:44 -04:00
De Wet Blomerus
52214bd2d9
docs: Remove extra trailing close-paran 🔥 ( #743 )
2023-10-17 21:38:08 -04:00
Zach Daniel
a92a0b4c9b
fix: support tenant option in api.can
...
closes #736
2023-10-17 21:25:53 -04:00
Zach Daniel
b32f2e55ea
fix: properly use constraints when casting expression values
2023-10-17 15:08:54 -04:00
Zach Daniel
ccf635e711
improvement: better storage_type handling, undo function change
2023-10-17 14:46:28 -04:00
Zach Daniel
24ae31c6dd
fix: don't re-case constraints in the type
function
2023-10-17 14:20:56 -04:00
Zach Daniel
c014fc2f0a
chore: release version v2.15.19
2023-10-17 14:08:19 -04:00
Zach Daniel
7849541b29
chore: fix typespec
2023-10-17 13:58:17 -04:00
Zach Daniel
5d85c5be14
improvement: properly honor ecto type init
callback
2023-10-17 13:39:21 -04:00
Zach Daniel
d9bacc1554
fix: handle new type constraints properly
2023-10-17 12:50:14 -04:00
Zach Daniel
12840ae235
fix: honor max_concurrency
option
2023-10-17 12:24:28 -04:00
Zach Daniel
7301e09654
chore: fetch type in include_source/3
2023-10-17 11:11:18 -04:00
Zach Daniel
eca3b84105
chore: generalize embed type __source__
logic
2023-10-17 11:03:50 -04:00
Zach Daniel
c12f24d55d
chore: changeset optimizations
...
ci: test ash-sqlite subproject
2023-10-17 10:49:37 -04:00
Zach Daniel
4900d69a92
chore: optimize upsert update defaults
2023-10-17 10:39:59 -04:00
Zach Daniel
6e2fa036d7
chore: update docs
2023-10-17 10:37:46 -04:00
Zach Daniel
ae147011ea
fix: handle generic actions in list_arguments_and_attributes
2023-10-17 10:36:57 -04:00
Zach Daniel
fcc7e3b08a
chore: revert recent change to datetime storage type default
2023-10-17 10:26:05 -04:00
Zach Daniel
20cc1cc24e
improvement: various optimizations and compile time caching
...
fix: fix type casting for embedded resources
2023-10-17 10:18:26 -04:00
Pierre Le Gall
e14e1b2e29
improvement: set default many to many options ( #737 )
...
Many to many relationship `source_attribute_on_join_resource`
and `destination_attribute_on_join_resource` are now guessed
by there module name if not explicitly set in the relationship.
2023-10-17 10:03:21 -04:00
Zach Daniel
7f7469eb9f
improvement: various performance improvements
2023-10-17 01:08:26 -04:00
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
Zach Daniel
a00806eeb0
fix: static checks with conditions could be overly or insufficiently restrictive
2023-09-27 14:40:40 -04:00
Zach Daniel
00a582fbc1
chore: fix more syntax errors
2023-09-27 13:00:40 -04:00
Zach Daniel
e23c12c1c1
chore: fix syntax typo
2023-09-27 12:59:29 -04:00
Zach Daniel
9f97569dce
improvement: add context
option to bulk_create
2023-09-27 12:09:37 -04:00
Zach Daniel
c571625557
fix: set field policy opts on field policy conditions
2023-09-27 10:12:13 -04:00
Dmitry Maganov
972207a6da
fix: move Resource.Transformers.BelongsToSourceField
into entity ( #709 )
2023-09-27 09:06:05 -04:00
Zach Daniel
5c8f96231e
docs: finalize initial cheat_sheet/docs pattern
2023-09-26 23:13:40 -04:00
Zach Daniel
df2102501c
chore: replace_doc_links now doesn't mess up source urls
...
chore: replace_doc_links now links to spark generated dsl cheat sheets
2023-09-26 22:25:08 -04:00
Zach Daniel
b0115f5116
fix: don't authorize on identity usage validations
2023-09-26 16:09:51 -04:00
Zach Daniel
d07ca084a5
fix: handle empty batches in bulk create
2023-09-26 15:22:37 -04:00
Zach Daniel
ae3125483c
chore: fix trace span type dtypespec
2023-09-26 11:29:37 -04:00
Zach Daniel
27a368660f
improvement: expose max/min constraints on Ash.Type.Float
2023-09-26 08:26:34 -04:00
Zach Daniel
728a63b416
chore: default Ash.Type.Datetime
storage type
...
I shouldn't have to do this, though?
2023-09-25 11:19:25 -04:00
Barnabas Jovanovics
9e16109950
feat: expose query or changeset to field policies ( #701 )
2023-09-25 11:13:36 -04:00
Zach Daniel
93fc4a35b2
improvement: rework utc_datetime
to datetime
...
the old types are now newtypes over the new type
fixes : #704
2023-09-25 11:11:56 -04:00
Zach Daniel
5466c88d58
improvement: explicitly validate manual action return types
2023-09-25 10:49:34 -04:00
Zach Daniel
2d9f9ee362
improvement: deprecate old school manual actions
...
note: these have been deprecated for a very long time, removing them will not
be considered a breaking change (and there will be clear compile errors)
2023-09-25 09:40:29 -04:00
Zach Daniel
64f134089b
improvement: better UX around nimble options errors
...
improvement: remove old, now-deprecated config
While we *could* call that a breaking change, there is a warning explaining to users what
they would need to do if they have the deprecated value configured, and it has been in a
deprecation state for many months/releases now.
2023-09-25 09:27:03 -04:00
Zach Daniel
b6ef345936
chore: fix transaction call
2023-09-22 17:16:22 -04:00
Zach Daniel
b13c7f0e53
improvement: add Ash.Query.around_transaction/2
2023-09-22 16:46:43 -04:00
Dmitry Maganov
1aa0c9c84c
fix: revert :wrap_list
usage for topic
in PubSub, needs recursion ( #702 )
2023-09-22 06:52:53 -04:00
Zach Daniel
1a307385b5
improvement: add sequence
generator utility
2023-09-21 18:51:30 -04:00
Dmitry Maganov
ecd7075fbc
fix: more usages of :wrap_list
type ( #700 )
2023-09-21 08:34:46 -04:00
Zach Daniel
6a2f0e41e5
chore: format
2023-09-20 16:59:56 -04:00
Dmitry Maganov
a0ada2ed7d
fix: add missing usage of :default_belongs_to_type
( #699 )
2023-09-20 16:59:33 -04:00
Zach Daniel
1d43b26127
chore: move validate_relationship_attributes to a verifier
2023-09-20 16:51:38 -04:00
Zach Daniel
3d2c012189
chore: clean up dialyzer errors
2023-09-20 16:39:28 -04:00
Zach Daniel
05b9ac1f86
improvement: make storage_type
overridable by new_types
2023-09-20 16:25:09 -04:00
Zach Daniel
17b1a0b2df
fix: properly wrap [tracer] in Ash.Flow
2023-09-20 13:31:58 -04:00
Dmitry Maganov
e0d5a63c65
fix: use :wrap_list
type where appropriate ( #698 )
2023-09-20 10:58:47 -04:00
Dmitry Maganov
77eae2954f
fix: get_by
option can accept a single atom ( #697 )
2023-09-20 10:39:58 -04:00
Zach Daniel
c8e796fbcb
fix: properly handle nil
values in embedded resources
2023-09-18 20:57:32 -04:00
Zach Daniel
b0bd2d23d9
improvement: support map_with_tag
storage mode for Ash.Union
.
...
closes #694
2023-09-18 10:13:22 -04:00
Zach Daniel
08f56eddf4
improvement: if no authorizers are set, anyone can do anything
2023-09-17 16:05:02 -04:00
Zach Daniel
38dc478719
fix: ensure that can
always returns an error when asked
2023-09-17 16:03:25 -04:00
Zach Daniel
76e744a54a
improvement: explicit error on after_action hook mismatch
2023-09-16 12:33:25 -04:00
Stefan Wintermeyer
9617fa6910
Improve example update_timestamp docu ( #693 )
2023-09-16 06:48:53 -04:00
Zach Daniel
f6f0a3e26f
fix: get type for manual action at compile time
2023-09-15 13:25:29 -04:00
Zach Daniel
b900290f0d
docs: update custom type docs to handle nil values
2023-09-14 22:36:23 -04:00
Zach Daniel
6a2bb30d1d
improvement: add allow_nil?
to generic actions, defaults to false
2023-09-14 16:52:08 -04:00
Zach Daniel
e7f59862ab
docs: lots of docs improvements
2023-09-13 23:18:14 -04:00
Zach Daniel
654c12cc78
docs: update registry option docs
2023-09-13 22:36:57 -04:00
Zach Daniel
8046bc98b0
docs: remove the registry example from api docs
2023-09-13 22:34:47 -04:00
Zach Daniel
6e2d1fd0ac
docs: greatly improved DSL documentation in hex
2023-09-13 22:17:18 -04:00
Zach Daniel
58e7afde1b
fix: properly handle bubbled up exceptions from type casting
2023-09-13 14:31:25 -04:00
Zach Daniel
0a35989802
fix: typo in new tracer setting logic
2023-09-13 13:58:40 -04:00
Zach Daniel
4804e8eb87
fix: properly expose nested errors on unions
...
closes : #692
2023-09-13 10:31:06 -04:00
Zach Daniel
b4221ecc6d
improvement: set_handled_error/3
for when errors are returned
2023-09-13 00:05:04 -04:00
Zach Daniel
480d55a852
fix: propertly handle configured list of tracers
2023-09-12 21:47:30 -04:00
Zach Daniel
471bf8228c
chore: fix typo properly
2023-09-12 11:56:34 -04:00
Zach Daniel
d1a0108db1
chore: typo
2023-09-12 11:54:55 -04:00
Zach Daniel
1f319faf97
improvement: support trace_type?/2
in tracers
2023-09-12 11:54:04 -04:00
Zach Daniel
91013c2de0
improvement: support stacktraces in set_error
2023-09-12 11:26:11 -04:00
Zach Daniel
47fbf4b35a
improvement: support multiple tracers, instead of just one
2023-09-12 10:54:42 -04:00
Zach Daniel
e2855843ca
improvement: support vector types
2023-09-11 22:28:51 -04:00
Josh Price
cedcda903f
docs(dsl): various doc and formatting improvements
...
Tried removing all triple backticks to fix https://github.com/ash-project/ash/issues/690 but this didn't remove the warning about unclosed backticks.
2023-09-07 07:03:44 -04:00
Josh Price
08081c09ba
docs(changeset): various doc and formatting improvements
...
Conference training driven development.
2023-09-07 07:03:44 -04:00
Zach Daniel
b45174fc54
fix: fix formatting for policies with conditions
2023-09-06 01:56:36 -04:00
Zach Daniel
1fde073bc1
fix: policy mermaid chart fix forbid_unless
behavior
2023-09-06 01:46:22 -04:00
James Harton
5f6920ef92
improvement: Allow resources to opt out of the primary key requirement. ( #687 )
...
This is experimental and will likely cause breakages. It's to support time series tables.
2023-09-06 10:21:42 +12:00
Zach Daniel
567dcf6372
fix: better handling for negate error messages
2023-09-04 16:01:48 -04:00
Zach Daniel
427a42d45b
improvement: raise runtime error on misuse of negate
2023-09-04 15:42:07 -04:00
Zach Daniel
879b52b900
fix: compile before ash tasks
2023-09-04 13:38:27 -04:00
Zach Daniel
b9e6327d7f
improvement: add ash.reset
and ash.tear_down
2023-09-04 13:07:14 -04:00
Zach Daniel
c67c77a617
fix: fix no such action error on create changesets
...
fix: remove policy documentation due to compile time links
2023-09-04 11:48:38 -04:00
Zach Daniel
5cd7194e5e
chore: don't explain policy in module docs to test an issue
2023-09-04 11:34:50 -04:00
Zach Daniel
5b5995d783
improvement: show policy mermaid chart in moduledocs
2023-09-04 09:53:55 -04:00
Zach Daniel
967c467f84
chore: only generate for resources w/ policy authorizer
2023-09-04 09:23:22 -04:00
Zach Daniel
655fa42416
chore: clean up flow chart generated Or
edges
2023-09-04 09:19:51 -04:00
Zach Daniel
a131dfeb03
fix: show policy conditions, and fix final destination of last policy condition
2023-09-04 09:03:47 -04:00
Zach Daniel
69623a1efe
chore: cleanups for new mix task
2023-09-04 01:23:57 -04:00
Zach Daniel
8e2396b0b1
improvement: add mix ash.generate_policy_chart
2023-09-04 01:07:12 -04:00
Zach Daniel
030f240273
fix: include path in unique path for anonymous aggregates
2023-09-01 18:39:38 -04:00
Zach Daniel
e423ec5381
fix: give anonymous aggregates constant names
2023-09-01 17:23:04 -04:00
Barnabas Jovanovics
b661022736
fix: sort operator names in keyset ( #684 )
2023-09-01 06:53:01 -04:00
Zach Daniel
c5ea541b2d
chore: rework atomics to atomic_update
change and function
...
improvement: add `Ash.context_to_opts/1-2`
2023-08-29 14:39:38 -04:00
Zach Daniel
18cb24e7f7
improvement: implement atomics, expression-based changes ( #682 )
...
there is still a lot of potential work that needs to be on this front.
1. supporting atomics on create actions.
2. supporting atomics in upserts (this one may actually be much easier than the first one, for postgres specifically, due to ecto implementation details)
3. discovering places atomics can be more nicely integrated into existing changes, validations, policies
2023-08-28 16:05:26 -04:00
Zach Daniel
452ec7df9d
chore: format
2023-08-25 13:57:13 -04:00
Zach Daniel
f05bcec2eb
improvement: hide __order__
and __lateral_join_source__
on records
2023-08-25 13:21:26 -04:00
Zach Daniel
537d25c68d
fix: action.update_default -> field.update_default typo
2023-08-25 12:10:36 -04:00
Zach Daniel
7d5fd04e5c
fix: ensure that errors/records return the proper value in bulk creates
...
closes #681
2023-08-25 08:59:24 -04:00
Zach Daniel
97ab3272db
fix: properly optimized nested get_path
calls
2023-08-23 12:51:35 -04:00
Zach Daniel
221280f1f5
fix: simplify and fix duplicate detection in embedded resources
2023-08-22 19:02:38 -04:00
Zach Daniel
b3f9a359d7
fix: better handling of runtime maps & lists
...
fix: properly handle `as` option for calculations in calculation dependencies
2023-08-22 18:26:20 -04:00
Zach Daniel
83b29f7bbd
fix: handle inline aggregates in calculation resolver
2023-08-22 15:28:50 -04:00
Zach Daniel
95c5f5f1ac
improvement: support in-line aggregates
2023-08-22 14:43:42 -04:00
Zach Daniel
7da453409c
chore: credo
2023-08-22 14:31:32 -04:00
Zach Daniel
56a96f04ed
fix: init validations at runtime not compile time
2023-08-22 14:29:22 -04:00
James Harton
269889c34b
fix(Ash.Filter): Don't overly constrain related references. ( #678 )
...
We now only apply related policies to filter statements based on references
that are explicitly annotated as inputs. This is the same logic that backs
protecting access in filters for field policies.
2023-08-21 19:39:07 -04:00
Zach Daniel
a37c8b17a8
fix: handle nil constraints in cast_input
2023-08-21 19:26:05 -04:00
Zach Daniel
bd0f89c9dd
chore: fix typo
2023-08-21 13:57:10 -04:00
Zach Daniel
34084c52ca
fix: properly handle in-line maps in exprs
2023-08-21 13:56:34 -04:00
Zach Daniel
356fa3a780
fix: don't cast notloaded/forbidden values at runtime
2023-08-21 11:35:00 -04:00
Zach Daniel
4adbd47191
fix: add required errors for missing read arguments
2023-08-21 10:14:10 -04:00
Eduardo B. A
3b67313129
improvement: Set api field for ActionInput when running action ( #676 )
...
Co-authored-by: Eduardo <sezdocs@dev-distrobox.fedora.local>
2023-08-20 10:06:32 -04:00
Alessio Montagnani
6785e30b68
improvement: make resource's DSL attributes section patchable ( #675 )
2023-08-19 14:05:19 -04:00
Tchowa Franck A
7e47bfb60f
improvement: validate all actions and accept/reject fields at once. ( #674 )
2023-08-18 20:47:35 -04:00
Zach Daniel
6136ca693b
fix: don't evaluate unknown types in basic operators
2023-08-18 11:37:20 -04:00
Tchowa Franck A
f302dca003
Feature: Ensure aggregate field is attribute or calculation. ( #671 )
2023-08-17 18:02:05 -04:00
Zach Daniel
50164049df
fix: Enum types only have storage_type/0
still
2023-08-17 17:57:50 -04:00
Zach Daniel
b51dbe49c9
improvement: storage_type/0 -> storage_type/1
2023-08-17 17:52:00 -04:00
James Harton
025f75a1aa
improvement(Ash.Resource.Calculation): set struct defaults. ( #673 )
2023-08-17 18:17:09 +12:00
Zach Daniel
bb8f3334cd
improvement: track invalid keys, don't add required errors for them
2023-08-15 22:25:20 -07:00
Zach Daniel
453655326c
chore: fix dialyzer
2023-08-15 17:10:07 -07:00
Zach Daniel
46e8dd43bd
fix: inspecting a query now only shows arguments explicitly set
2023-08-15 16:52:53 -07:00
Zach Daniel
8233634bb1
improvement: properly set path into error instead of on error messages
...
TBD: this may break some people's tests, and so may need to be
reverted or released as part of 3.0
2023-08-15 16:23:06 -07:00
Zach Daniel
8c1f334075
improvement: expose union errors with path when tag is set
2023-08-15 14:07:28 -07:00
Zach Daniel
5549bbf290
fix: don't set attributes or arguments to invalid values
2023-08-15 11:00:49 -07:00
Zach Daniel
140a1c9ca3
chore: remove all_loaded
2023-08-14 16:57:08 -07:00
Zach Daniel
72fada1bec
improvement: find all installed extensions by default
2023-08-14 16:18:45 -07:00
Zach Daniel
cf9c92f158
improvement: add initial implementation of new mix tasks
2023-08-14 15:30:35 -07:00
Zach Daniel
376ac3889f
improvement: add plural_name
...
fix: handle atomic/string union type identifiers better
2023-08-14 14:09:08 -07:00
Zach Daniel
1291e226c8
fix: handle empty field policy lists better internally
2023-08-11 01:25:50 -07:00
Barnabas Jovanovics
f85bc95ff5
chore: release version v2.14.0 ( #669 )
2023-08-09 19:43:55 +02:00
Zach Daniel
b1acd6b2f8
fix: optimized boolean expression building typo
2023-08-09 09:46:45 -07:00
Zach Daniel
7ae9244d01
fix: don't optimized in/== predicates across incorrect boolean expressions
2023-08-08 12:17:07 -07:00
Zach Daniel
6daae630f4
fix: various fixes with runtime evaluation of aggregates
...
fix: handle mnesia transaction errors properly
2023-08-06 00:41:29 -04:00
Zach Daniel
f22a07d613
improvement: add from_many?
option to has_one
2023-08-04 18:35:56 -04:00
Zach Daniel
32f8224fba
fix: fix badly formatted error message
2023-08-03 20:16:17 -04:00
Zach Daniel
cf99929230
improvement: initialize change opts in bulk actions
...
fix: better error message in `validate_related_resource_inclusion`
test: add test for arguments in bulk create actions
2023-08-02 12:41:54 -04:00
Zach Daniel
d16e290077
improvement: validate resourcesin apis
2023-07-28 11:51:51 -04:00
Zach Daniel
1871e19fa9
improvement: added round/1
and round/2
to expressions
2023-07-27 11:49:02 -04:00
Zach Daniel
7bbc7ba4e3
improvement: add new/1
to all ash errors, because its nicer
2023-07-26 23:01:29 -04:00
Zach Daniel
f1f1aa8a6e
improvement: allow for parent/1
expressions to be resolved "later"
2023-07-26 18:50:20 -04:00
Zach Daniel
bda7c56543
improvement: support parent/1
in relationships
2023-07-26 16:46:22 -04:00
Zach Daniel
b9abe2aa72
fix: handle changeset errors in mnesia transactions
2023-07-24 12:17:06 -04:00
Zach Daniel
78a62feb89
improvement: enrich mnesdia data layer
...
fix: fix builder for action preparations
2023-07-24 10:23:34 -04:00
Zach Daniel
da73502a2f
fix: before/after batch callbacks are no longer broken
...
test: add tests for those callbacks being executed
2023-07-22 19:51:27 -04:00
Zach Daniel
2fe810f3fc
improvement: remove ecto after compile hook
...
chore: file name typo
2023-07-21 09:11:42 -04:00
Zach Daniel
a85809f634
improvement: add aggregate context when adding aggregates
2023-07-20 21:58:13 -04:00
Zach Daniel
751a718925
fix: try to cast_stored expression calculation results
2023-07-20 20:41:24 -04:00
Minsub Kim
f789bde709
feat: validate arg ( #662 )
...
* feat: validate argument unequality
* feat: validate argument in
2023-07-20 08:24:15 -04:00
Rebecca Le
b5edc6fba1
fix: read argument value in ArgumentEquals
validation ( #664 )
2023-07-20 08:04:21 -04:00
Zach Daniel
0d0abf4fda
improvement: support distinct_sort
in Query.build/2
2023-07-19 12:51:37 -04:00
Zach Daniel
20877f18b5
improvement: inspect distinct_sort
2023-07-19 12:27:22 -04:00
Zach Daniel
e5563ce664
fix: Keyword.fetch
on keywords, fix test name
2023-07-19 11:18:20 -04:00
Zach Daniel
7f3ec1b8bf
improvement: support distinct_sort
2023-07-19 11:06:01 -04:00
Spark Kim
3a827c85e4
feat: validate argument equality ( #659 )
2023-07-19 09:49:46 -04:00
Mariusz Morawski
7f165ce99f
chore: Remove leftover commented out debug code ( #658 )
2023-07-19 09:48:59 -04:00
Zach Daniel
ac4d803cc0
chore: fix typo
2023-07-18 15:54:38 -04:00
Zach Daniel
c0eec23abb
improvement: use Comp.equal?
for actor_attribute_equals
check
2023-07-18 15:54:03 -04:00
Zach Daniel
3c42062861
fix: allow the query & related fields to be read before authorization status is complete
2023-07-18 15:23:27 -04:00
Zach Daniel
5b2efe5e5c
improvement: support distincting on calculations
...
improvement: support distinct in ets data layer for testing
2023-07-18 14:35:25 -04:00
Zach Daniel
bae2aa2ad2
fix: only depend on calcs in runtime calcs
2023-07-18 13:02:38 -04:00
Zach Daniel
d98f66da6f
fix: handle manual relationships where source field doesn't exist
2023-07-18 07:49:00 -04:00
Zach Daniel
4508d1d469
improvement: support the -
unary operator
...
yknow, because numbers are negative sometimes
2023-07-17 22:22:09 -04:00
Zach Daniel
3af1b8a994
fix: only error on incorrect destination managed relationships when they are resources
2023-07-14 15:33:54 -04:00
Eliel Gordon
216755b275
fix set_tenant spec ( #655 )
2023-07-14 12:38:56 -04:00
Zach Daniel
fcc319d965
improvement: add ForbiddenField
exception
2023-07-13 09:05:04 -04:00
Zach Daniel
94815605b9
improvement: warn on api missing from config
2023-07-13 08:42:52 -04:00
Zach Daniel
9987cb05e8
chore: better error message on resource in no apis
2023-07-13 08:23:13 -04:00
Zach Daniel
c0d8a86987
improvement: support resources directly in API modules
...
improvement: compile time warning on resources not detected in any apis
2023-07-13 01:38:21 -04:00
Zach Daniel
7114b5efbb
improvement: exists
type aggregate
2023-07-13 00:08:51 -04:00
Zach Daniel
2634d3d830
improvement: add at/2
function
2023-07-12 16:53:43 -04:00
Zach Daniel
d27e871b8f
improvement: add string_split
expression
2023-07-12 15:11:21 -04:00
skanderm
925f5c1f9a
fix: incorrect error for casting binary UUID ( #653 )
2023-07-11 20:35:01 -04:00
Zach Daniel
8e12a14b25
improvement: add field_policy_bypass
...
fix: fix and improve policy breakdown logs
improvement: optimize field selection/loading when possible
2023-07-11 10:28:07 -04:00
Zach Daniel
07d7dd5491
improvement: deselect fields we know statically are not visible
2023-07-11 09:23:25 -04:00
James Harton
ebbbcca301
fix: incorrect typespec for bulk_create/5
. ( #646 )
2023-07-10 19:31:07 -04:00
Zach Daniel
1d2a04d972
chore: optimize replace_dynamic_loads/4
2023-07-10 09:02:53 -04:00
Barnabas Jovanovics
c442d83534
test: add test for aggregate field policy ( #644 )
2023-07-10 09:00:55 -04:00
James Harton
13a14674d0
fix: add handle_change/3
and prepare_change/3
to Ash.Type.Union
( #642 )
2023-07-10 11:55:53 +12:00
Zach Daniel
be75743b13
fix: properly detect selected attributes for changeset field policies
2023-07-06 10:58:09 -04:00
Mariusz Morawski
5ed2109e33
improvement: Add Negate
validation ( #636 )
...
* Add `Negate` validation
---------
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2023-07-05 16:25:51 -04:00