James Harton
a8346907c1
improvement: Add before_action/1
and after_action/1
to Ash.Resource.Preparations.Builtins
. ( #526 )
2023-03-13 19:20:41 -04:00
Zach Daniel
1f2e8f7a09
fix: properly set builtin types
2023-03-13 18:29:53 -04:00
Zach Daniel
a559a0cd3f
improvement: add Ash.Type.NewType
2023-03-13 17:44:27 -04:00
Zach Daniel
15657f3e51
improvement: add :unknown
for all potential facts
2023-03-10 20:24:36 -05:00
Zach Daniel
b899a6ecf3
improvement: optimize policy check running with laziness
...
Implemented lazy evaluation of individual checks, so that checks that
are demonstrably irrelevant when building policies are not checked at all.
This will often mean no need to visit the sat solver at all, or only with
a very minimal set of filter checks.
2023-03-10 13:29:29 -05:00
Zach Daniel
3233129682
improvement: don't select when running policy queries
2023-03-10 00:17:44 -05:00
Zach Daniel
5723b0447f
fix: remove pre_flight expression checking
2023-03-09 20:57:53 -05:00
James Harton
ee99bf367f
improvement: Add builtin changes for lifecycle hooks. ( #523 )
2023-03-09 19:59:39 -05:00
Zach Daniel
979b4e648d
fix: properly return false
on forbidden errors
2023-03-09 07:55:27 -05:00
Zach Daniel
2fcacc4be6
chore: support data
option for can?
with updates/destroys
2023-03-08 16:41:25 -05:00
Zach Daniel
c643e9a88f
improvement: add Api.can?
and Api.can
2023-03-08 16:34:44 -05:00
Zach Daniel
785af56002
fix: add actor
back to transaction metadata
2023-03-06 08:59:20 -05:00
Juha
2db5de0be7
Fix typo in Ash.Flow moduledoc ( #520 )
2023-03-06 08:05:35 -05:00
Zach Daniel
0715da0aad
improvement: add delay_global_validations?
action option
2023-03-03 13:07:14 -05:00
Zach Daniel
a45267441a
chore: more fluent datetime type casting
2023-03-03 11:59:15 -05:00
Zach Daniel
ccdbafa730
chore: improve inspect protocol
2023-03-03 11:39:50 -05:00
Zach Daniel
44d744daba
improvement: add new date expressions
...
chore: fix dialyzer
2023-03-03 11:08:38 -05:00
Zach Daniel
5addfb37fb
fix: calc loading in keyset pagination
2023-02-28 10:11:48 -05:00
Zach Daniel
5c71e3b6bc
fix: properly handle allow_nil fields in keyset pagination
2023-02-27 12:18:18 -05:00
Zach Daniel
7dddbade5c
fix: don't reselect fields automatically
...
it leads to strange/unpredictable behavior
improvement: introduce `reselect_all?` option for loading
2023-02-24 14:31:37 -05:00
Zach Daniel
c8ca9cd3ce
fix: ensure data layer is compiled
2023-02-24 11:37:01 -05:00
Zach Daniel
119905e5ad
chore: fix call inspects
2023-02-24 11:27:06 -05:00
Zach Daniel
83bd8215b0
fix: only use resource_to_query/2
2023-02-24 11:22:40 -05:00
Zach Daniel
41ea63aed3
improvement: support record's as calculate arguments
2023-02-24 10:54:25 -05:00
Rebecca Le
9105d4f297
docs: Update pubsub docs to be readable on AshHQ ( #517 )
2023-02-24 06:58:09 -05:00
Zach Daniel
f060a2bdc4
improvement: include actor in all calculation context
2023-02-23 09:45:27 -05:00
Zach Daniel
86d2297018
fix: support nil
values in dump_to_native
2023-02-22 22:36:02 -05:00
Zach Daniel
2a6fe49348
fix: properly support calc expansion in policies
...
fix: support `nil` cast for resource type
2023-02-22 22:28:15 -05:00
Zach Daniel
005c1bc6c1
fix: allow argument references in policies
2023-02-22 20:12:08 -05:00
Zach Daniel
007e0fb081
improvement: don't eager load sort data
2023-02-21 19:05:40 -05:00
Zach Daniel
856bfc67a6
fix: properly handle list args for functions
...
chore: fix credo
2023-02-21 09:57:36 -05:00
Darren Black
bc1f8382ab
improvement: Implement string_join expr function ( #515 )
2023-02-21 09:40:58 -05:00
Zach Daniel
f58752353a
fix: set query context from before_action
hooks into initial query
2023-02-21 09:29:08 -05:00
Zach Daniel
14aae0c45b
docs: hide dsl options for special attribute types
2023-02-21 08:51:04 -05:00
Zach Daniel
9d5aaca974
fix: set context into initial_query
2023-02-21 08:15:14 -05:00
Zach Daniel
975d1b3a96
improvement: add force
variations of set arguments
2023-02-20 21:57:00 -05:00
Zach Daniel
fa3dcf2277
fix: make resource diagram task recursive
2023-02-20 13:26:17 -05:00
Zach Daniel
4e0917e368
fix: use private.internal?
to bypass require_actor?
...
fixes #513
2023-02-18 10:56:03 -05:00
Zach Daniel
f002c8a7f2
fix: properly call run_aggregate_query_with_lateral_join
2023-02-18 10:22:16 -05:00
Chris Hopkins
78fa58c2b9
docs: Attribute documentation topic ( #514 )
2023-02-17 10:03:23 -05:00
Zach Daniel
e5df4aefd5
fix: don't overwrite keyset when loading data
2023-02-16 17:29:16 -05:00
Zach Daniel
2abcf14403
fix: properly return {:ok, page}
in all cases
2023-02-16 16:34:03 -05:00
Zach Daniel
b89d6ce8f6
fix: authorize?: true by default on flows, pass actor through
2023-02-16 15:07:24 -05:00
Zach Daniel
af3d416877
fix: pass actor into engine
2023-02-16 14:51:54 -05:00
Zach Daniel
1e76e74f4f
fix: properly handle optional args in code interface
2023-02-14 23:08:51 -05:00
Zach Daniel
83d0e05bdc
fix: handle cases where union type is already atom
2023-02-14 16:26:31 -05:00
Zach Daniel
f53ca78f5c
fix: various union fixes
2023-02-14 13:34:35 -05:00
Zach Daniel
b7c720fb3f
fix: make depend_on_resources
more reliable
2023-02-14 12:30:27 -05:00
Zach Daniel
2342126a2d
chore: fix dialyzer for union types
2023-02-13 23:57:36 -05:00
Zach Daniel
46b509def4
docs: add moduledocs
2023-02-13 23:50:56 -05:00
Zach Daniel
0c767d0fa1
chore: allow page: []
in new pagination error
2023-02-13 23:44:58 -05:00
Zach Daniel
9924cfc7c0
chore: fix page detection error
2023-02-13 23:38:02 -05:00
Zach Daniel
b911d3a334
chore: just check if page
is set to non nil/false value
2023-02-13 23:32:15 -05:00
Kevin Mathew
0e6763d8cc
improvement: Add error message when page is added but pagination is not enabled ( #511 )
2023-02-13 23:20:40 -05:00
Zach Daniel
0de50e132b
improvement: add union type and some tests around it
2023-02-13 22:59:39 -05:00
Zach Daniel
c770e28aa2
improvement: add union short name
2023-02-13 20:40:10 -05:00
Zach Daniel
cbde118903
improvement: add union type
2023-02-13 20:39:45 -05:00
Zach Daniel
d18448f78a
improvement: better operator type casting and expression fixes
2023-02-12 19:14:06 -05:00
Zach Daniel
2c8b07fd0b
docs: add load/3
to calculation docs
2023-02-12 10:52:27 -05:00
Zach Daniel
27e91c4fa4
fix: use load/3
for builtin concat calc
2023-02-12 10:38:13 -05:00
Zach Daniel
f1d61a601b
fix: fix non-optional pagination
2023-02-11 19:33:54 -05:00
Zach Daniel
ef26b122c8
docs: fix unnecessary section in the getting started guide
...
improvement: add warning on usage of transaction hooks when in a surrounding transaction
2023-02-11 16:57:52 -05:00
Zach Daniel
85a66b1d85
improvement: add before_transaction and after_transaction
2023-02-10 14:12:19 -05:00
Zach Daniel
8ad1778763
fix: pagination behavior is incorrect
2023-02-09 21:21:58 -05:00
Zach Daniel
d72e00fc9c
chore: remove bad deprecation warning
...
fix: `nil` as page_opts is acceptable
2023-02-09 17:50:06 -05:00
Zach Daniel
732728236e
fix: fix aggregate.uniq?
2023-02-09 16:04:13 -05:00
Zach Daniel
e4004de15e
improvement: support uniq? for count
/list
attributes
2023-02-09 15:42:43 -05:00
zimt28
91c9b2219f
fix: Type error: Suggest custom short type names as well ( #508 )
2023-02-09 09:21:52 -05:00
Zach Daniel
b425b243f5
improvement: update spark for latest doc improvements
2023-02-05 18:08:01 -05:00
Zach Daniel
ae46b27f04
fix: handle {:ref, ...}
tuple in static syntax
2023-02-05 17:16:59 -05:00
Zach Daniel
2dd54324af
chore: sobelow
2023-02-04 01:54:42 -05:00
Zach Daniel
0eca30fb32
chore: more Api.aggregate fixes
2023-02-04 01:53:33 -05:00
Zach Daniel
4f4bd4a436
fix: various fast follows to api aggregate functions
2023-02-04 01:24:58 -05:00
Zach Daniel
8835924901
fix: pattern match problem in aggregate action
2023-02-04 00:55:10 -05:00
Zach Daniel
30eaf1c6e8
feat: initial (and slightly experimental) Api.aggregate support
2023-02-04 00:47:15 -05:00
Zach Daniel
a043e26116
fix: properly handle nested array type constraint validation
2023-02-03 10:32:05 -05:00
Zach Daniel
33bb4a2861
fixs: don't persist calculations in the db
2023-02-02 11:35:47 -05:00
Zach Daniel
54f3a47326
improvement: better description of action_type
check
2023-02-01 11:37:37 -05:00
Zach Daniel
850b543cc9
improvement: add more builders
...
improvement: stop running preparations if one of them returns an error
2023-02-01 02:02:10 -05:00
Zach Daniel
d51d26a472
chore: fix dsl builder typespecs
2023-02-01 00:30:09 -05:00
Zach Daniel
7bbd5a2162
fix: load lazily after action when results are set
...
When using `Ash.Query.set_result/2` to preempt the data layer action,
we can end up in a position where the action has decided that some number
of aggregates & calculations would be attached to the query. But its
extremely unlikely that the data set with `set_result/2` would actually
have handled loading/calculating things from the query, so we lazily load
it after we get the data if that happens.
2023-01-31 23:43:45 -05:00
Rebecca Le
e8563a03eb
docs: Render api_short_name
visibly in the Monitoring guide ( #500 )
2023-01-31 23:20:51 -05:00
Zach Daniel
bd46571762
docs: remove old documented limitation
2023-01-31 14:42:51 -05:00
Zach Daniel
820d445631
fix: fix typespec for Ash.set_tenant/1
2023-01-31 12:12:04 -05:00
Zach Daniel
e900d00de8
ci: remove tweets/switch to standardized CI pipeline
2023-01-31 11:15:09 -05:00
Zach Daniel
d101c05918
fix: set proper query aggregate when fetching aggregate values
2023-01-30 21:31:16 -05:00
Zach Daniel
ce6b44525f
improvement: registry resource validations transformers -> verifiers
...
improvement: better error message on unknown relationship
2023-01-30 16:10:15 -05:00
Zach Daniel
9f057c057d
fix: use destination query for aggregates, join auth to come later
2023-01-30 13:26:50 -05:00
Zach Daniel
c9d63d2936
fix: check changeset.valid?
properly on destroys
2023-01-30 13:23:35 -05:00
Zach Daniel
dbb9dd4c98
fix: properly halt on action errors in before_action
hooks
2023-01-30 11:52:35 -05:00
Zach Daniel
28b7def5c9
improvement: no async loads except when loading on initial data
2023-01-30 00:06:34 -05:00
Zach Daniel
d7841a90db
improvement: support length constraints on array embeds
2023-01-29 20:46:56 -05:00
Zach Daniel
20a2ed8c1f
improvement: simplify aggregate loading, fix bug with auth query resource
2023-01-29 18:12:05 -05:00
Rebecca Le
2dfff4476a
docs: Policy tweaks ( #490 )
2023-01-28 13:12:23 -05:00
Zach Daniel
7dfcd2d3dd
improvement: support {:ignore, changeset}
from error handlers
...
improvement: add read action metadata
2023-01-28 09:02:21 -05:00
Zach Daniel
167dba67ca
improvement: upgrade to latest spark for compile time improvements
...
improvement: improve compile times by reorienting some compile deps
2023-01-27 15:32:28 -05:00
Zach Daniel
2787b5074b
improvement: add relationships to underlying ecto schemas for better escape hatches
2023-01-27 11:20:08 -05:00
Zach Daniel
eeeab08d32
improvement: reselect explicitly selected queries on reload
2023-01-26 22:13:11 -05:00
Zach Daniel
71dcb17e8b
fix: properly surface errors from embedded attributes
2023-01-22 10:40:38 -05:00
Zach Daniel
0a76ee77da
fix: use original pkey for ets upsert lookup
...
we might be changing the primary key, and that would make
the ets upsert logic fail, this resolves that issue
2023-01-21 21:16:33 -05:00
Zach Daniel
45ad1c6afa
docs: document pub_sub debug option
...
fix: properly prepend the prefix to the topic
2023-01-20 11:31:31 -05:00
Zach Daniel
dc51a961c1
improvement: include value in invalid error messages
2023-01-19 18:04:48 -05:00
Zach Daniel
5b918a0a08
fix: properly load depended on aggregates
...
improvement: cleaner inspect for calculations
2023-01-18 21:58:58 -05:00
James Harton
c142afde5a
docs: fix syntax highlighting in the "Why Ash?" guide. ( #485 )
2023-01-18 17:16:42 -05:00
Zach Daniel
1c6f007368
fix: properly handle functional manual creates
2023-01-18 11:09:14 -05:00
Zach Daniel
e3a4f51d67
improvement: add set_result
for conditional manual actions/caching
2023-01-18 09:57:11 -05:00
Zach Daniel
897308ba3a
improvement: update docs to new links formats for ash_hq ( #483 )
2023-01-18 00:34:20 -05:00
Alessandro Tagliapietra
5bddd175f3
improvement: add nil return type to api get/3, read_one/2 and read_one!/2 ( #482 )
2023-01-17 08:02:40 -05:00
Zach Daniel
22e07c06b5
improvement: don't load dependencies for calcs in query
2023-01-17 01:46:33 -05:00
Zach Daniel
36948d5047
test: created minimal test for the issue ( #481 )
...
Co-authored-by: Tommaso Patrizi <tommasop@gmail.com>
2023-01-16 10:04:09 -05:00
KingdomCoder
64602ad55a
fix: Use proper options in confirm
change.
2023-01-16 09:21:16 -05:00
Zach Daniel
1eaeacc748
docs: add moduledocs
2023-01-12 09:25:43 -05:00
Barnabas Jovanovics
0e2dcd5771
fix: only pass action name in Ash.Changeset.for_action ( #476 )
2023-01-12 09:20:46 -05:00
Zach Daniel
d471a94ccc
fix: properly set the context option on changesets
...
docs: add section on `Ash.CodeInterface.define_interface/2`
improvement: add `action_is/1` builtin validation
2023-01-12 09:18:49 -05:00
Zach Daniel
7202509581
improvement: more compile time optimizations
2023-01-11 15:16:41 -05:00
Zach Daniel
f86ebf8f2b
chore: fix validate condition again
2023-01-10 22:32:13 -05:00
Zach Daniel
9a94e187a9
fix: return proper value from validation
2023-01-10 22:27:12 -05:00
Zach Daniel
78eb069c45
fix: don't depend on check modules at compile time
2023-01-10 21:51:38 -05:00
Zach Daniel
1acd5b05e2
chore: fix docs issue
2023-01-09 14:54:30 -05:00
Zach Daniel
292450bf82
fix: set interface args to empty list by default
2023-01-09 14:46:55 -05:00
Zach Daniel
70bc983b17
improvement: add Api.calculate/3
and define_calculation
code interface builder
2023-01-08 23:39:12 -05:00
Zach Daniel
2770c544a5
fix: properly zip calculation results with primary keys
2023-01-08 18:09:19 -05:00
Zach Daniel
1e49ef12a4
fix: more fixes for synonymous relationship paths
2023-01-06 17:14:24 -05:00
Zach Daniel
aa49bdcb64
fix: stop seeing incorrect relationships as synonymous
2023-01-06 15:21:35 -05:00
Zach Daniel
a234f0b6bf
fix: various filter & expression fixes
2023-01-05 18:18:59 -05:00
Zach Daniel
936dac8627
fix: handle aggregate defaults when evaluating expressions
2023-01-05 13:15:51 -05:00
Zach Daniel
c28138cbce
chore: remove debugging code
2023-01-05 12:33:04 -05:00
Zach Daniel
e804566cbf
improvement: rename this
to parent
for clarity
2023-01-05 12:25:55 -05:00
Zach Daniel
84d9b60290
fix: remove all URI encoding/decoding from core for keysets
2023-01-05 10:25:25 -05:00
Zach Daniel
c962bc7aa7
feat: add this/1
for use inside exists/2
(and other places eventually)
...
fix: various fixes to expression syntax
2023-01-04 12:17:40 -05:00
Zach Daniel
da11749a11
fix: encode the keyset for display in a URI automatically
2023-01-03 19:33:15 -05:00
Zach Daniel
c32d3cc49a
improvement: warn on potentially incompatible relationship attributes
...
improvement: add `default_belongs_to_type` configuration
2023-01-03 10:52:19 -05:00
Zach Daniel
d6348dd825
chore: fix typespec for code_modules/0
again
2023-01-03 10:11:26 -05:00
Zach Daniel
5902d9fdf5
chore: fix typespec
2023-01-03 09:20:40 -05:00
Zach Daniel
569449ce02
docs: add missing modules to docs
2023-01-03 09:10:53 -05:00
kernel-io
21f0088074
fix: fix authorize? method ( #472 )
2022-12-30 17:19:26 -05:00
Zach Daniel
aedad5eae2
improvement: loading an attribute is now equivalent to ensure_selected
...
fix: calculations depending on aggregates were not including those dependencies properly
2022-12-30 14:40:36 -05:00
Zach Daniel
b095e410a4
improvement: support module attributes in exprs
2022-12-29 23:49:05 -05:00
Maxim Martynov
7841075f35
improvement: Add Ash.Error.Invalid.TenantRequired error ( #471 )
2022-12-29 23:05:41 -05:00
Zach Daniel
0f88402224
fix: load types marked with cast_in_query? false
at runtime
...
fix: proper support for nested expressions in calculations
2022-12-29 15:07:56 -05:00
Zach Daniel
11db0aab65
fix: typo in cast_in_query?
2022-12-29 01:52:12 -05:00
Zach Daniel
a8fe63f0a0
chore: always set authorize?
to a boolean when managing relationships
2022-12-29 01:25:52 -05:00
Zach Daniel
093184bb3b
improvement: add constraints to query calculations
2022-12-28 23:10:47 -05:00
Zach Daniel
d577812093
improvement: cast_in_query? takes constraints
2022-12-28 22:38:25 -05:00
Zach Daniel
8cf068d508
improvement: support for calculations in aggregate fields
...
Still must be implemented in respective data layers
2022-12-28 21:59:57 -05:00
Zach Daniel
11956fd62c
fix: allow lists in expr syntax
2022-12-28 16:45:47 -05:00
Zach Daniel
d41d195941
improvement: add simple_notifiers
as a compile time optimization
2022-12-27 18:25:24 -05:00
Zach Daniel
5f3c8dea4a
fix: calculation builder using wrong builder
2022-12-27 17:19:59 -05:00
Zach Daniel
85d346e255
improvement: add calculations to builder
...
fix: handle `nil` constraints in array
2022-12-27 17:07:14 -05:00
Zach Daniel
ded3f67a68
fix: only start transactions for resources not already in one
2022-12-22 23:33:27 -05:00