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