Commit graph

1726 commits

Author SHA1 Message Date
Zach Daniel
5005d57b1d fix: add the spark function version of calculations 2023-04-18 20:22:17 -04:00
Zach Daniel
2cbae1bd9a fix: proper error message on invalid inline function calculation 2023-04-18 16:42:26 -04:00
Zach Daniel
6b5a1da66d docs: improve api/interface documentation for aggregates 2023-04-18 12:10:52 -04:00
Mariusz Morawski
ce749072e4
improvement: Add upserts option to flow's create step (#566) 2023-04-16 10:46:38 -04:00
Mariusz Morawski
8686cc9417
Fix: Add tenant attribute to identity attributes on upserts (#565) 2023-04-16 10:44:20 -04:00
George Anderson
54f65b4d6f
improvement: Change storage type of Ash.Type.Term to :binary (#561) 2023-04-13 15:59:34 -04:00
Zach Daniel
13591a4681 chore: docs & deprecations 2023-04-13 09:24:37 -04:00
Zach Daniel
81c9475e2e chore: fix return_notifications? behavior 2023-04-13 01:41:19 -04:00
Zach Daniel
911acdef5b chore: better notification handling 2023-04-12 18:10:17 -04:00
Zach Daniel
dcd8f305b6 chore: only gather notifications if not return_notifications? 2023-04-12 17:38:45 -04:00
Zach Daniel
ba5a7e2cb7 improvement: automatically gather up notifications 2023-04-12 17:35:17 -04:00
Zach Daniel
36d6380c6e fix: properly require attributes on creates 2023-04-11 09:42:11 -04:00
Zach Daniel
92edb11499 improvement: add build_action_metadata to resource builder
improvement: add `Ash.merge_context/1` and `Ash.update_context/1`
2023-04-10 19:03:16 -04:00
Zach Daniel
38cdaa8c88 fix: don't require values if a changeset result has been set 2023-04-08 19:25:26 -04:00
Zach Daniel
29096c27ae fix: properly return errors on invalid calculation arguments 2023-04-08 03:39:41 -04:00
Barnabas Jovanovics
b5e0cbb3cc
improvement: add constraints to maps (#556) 2023-04-07 09:53:41 -04:00
Zach Daniel
be7fa0f898 chore: use unused variable 2023-04-06 12:39:11 -04:00
Zach Daniel
a14d9ab456 fix: user unpaginated_read for read_one 2023-04-06 12:35:30 -04:00
Zach Daniel
f104e155e9 chore: credo 2023-04-06 10:30:58 -04:00
Zach Daniel
a20ee0abf7 chore: fix tests/stacktrace setting 2023-04-06 10:23:17 -04:00
Zach Daniel
80616781d6 Revert "chore: fix tests"
This reverts commit 67305a6ec8.
2023-04-06 09:38:21 -04:00
Zach Daniel
67305a6ec8 chore: fix tests 2023-04-06 09:32:10 -04:00
Zach Daniel
92208d8f84 chore: fix tests and add_expression_part 2023-04-05 20:49:28 -04:00
Zach Daniel
4afe87159b fix: handle strings better in refs 2023-04-05 18:44:24 -04:00
Zach Daniel
66bb01f3bb fix: consider strings in ref 2023-04-05 18:40:00 -04:00
Zach Daniel
cc01bd9b04 chore: fix invalid guard 2023-04-05 18:38:34 -04:00
Zach Daniel
1ecde072f0 chore: consider strings in ref 2023-04-05 18:37:42 -04:00
Zach Daniel
11771c8b02 chore: don't overwrite stacktraces 2023-04-05 18:33:09 -04:00
Zach Daniel
018ecca89e chore: inspect invalid return result 2023-04-05 18:26:12 -04:00
Zach Daniel
a41841940c chore: add error message on return format 2023-04-05 18:25:35 -04:00
Zach Daniel
db508f7038 chore: credo 2023-04-04 16:41:14 -04:00
Zach Daniel
72158a8c9a chore: always raise class errors 2023-04-04 15:53:55 -04:00
Zach Daniel
f177c1cda0 improvement: validate returnable steps in flow returns 2023-04-04 15:46:28 -04:00
Zach Daniel
a6e3ff233e fix: various ash flow return value fixes 2023-04-04 15:36:08 -04:00
Mariusz Morawski
a0287f96a0
fix: Fix set_new_attribute by adding missing option to set_attribute (#553) 2023-04-04 10:35:30 -04:00
Zach Daniel
152a0b185c chore: better error context on resolvers 2023-04-03 23:45:49 -04:00
Zach Daniel
6ba7c76aea fix: show context on all errors 2023-04-03 23:44:16 -04:00
Zach Daniel
30309dac1d fix: include error context in top level of errors 2023-04-03 23:28:55 -04:00
Zach Daniel
6a13903673 chore: add context to resolver errors 2023-04-03 23:16:48 -04:00
James Harton
882747adef
chore: fix various incorrect "context" typespecs. (#547) 2023-04-04 10:49:37 +12:00
Zach Daniel
ff98fe7ed1 improvement: update touched_resources logic 2023-04-03 18:46:16 -04:00
Alan Heywood
698cbd1f4c
improvement: Add :field option to relate_actor change (#546) 2023-04-02 21:50:32 -04:00
Zach Daniel
fd7854acc1 chore: fix build 2023-04-02 21:49:53 -04:00
Zach Daniel
e29ad1fcb1 improvement: thread context through when loading data 2023-04-02 21:42:01 -04:00
kernel-io
3a4b82a41e
remove deprecation warning on aggregate/5 in query.ex (#545) 2023-04-01 18:46:19 -04:00
Zach Daniel
4fd4055e21 chore: fix small lint issue 2023-04-01 18:26:39 -04:00
Zach Daniel
eb2c2de528 chore: a few small error case improvements 2023-04-01 18:19:08 -04:00
Zach Daniel
f832ab3624 improvment: loading data shouldn't call before action hooks
by this, I mean that loading data shouldn't call before action
hooks on the root resource you're loading data on
2023-04-01 01:35:12 -04:00
Zach Daniel
a9db35e79f fix: properly handle nested calculation selects 2023-03-31 12:36:20 -04:00
Zach Daniel
7f1ee67dde improvement: update spark to fix deeply nested DSLs 2023-03-31 11:54:44 -04:00
b8484710bb improvement(read_uses_flow?): Build stub for Ash.Actions.Flows.Read.
Returns an empty result, but at least it returns a result so now we have failing tests with this feature flag, rather than a compile error.
2023-03-31 15:32:47 +13:00
Zach Daniel
9baf9d21ea fix: fix typespecs and not_found_error? code interface option 2023-03-30 16:51:54 -04:00
Zach Daniel
a745939913 fix: typespec support Expr.t() in calculation builder 2023-03-30 12:50:17 -04:00
Zach Daniel
cbc9703cc7 chore: fix NewType dialyzer error 2023-03-30 09:01:59 -04:00
Zach Daniel
648572386a improvement: properly set related resource 2023-03-30 08:27:37 -04:00
Zach Daniel
47468391c2 improvement: simpler required attributes behavior 2023-03-30 01:47:58 -04:00
Zach Daniel
1db7025b41 test: add a test for calc -> calc -> attribute chain
chore: simplify some code
2023-03-29 21:34:50 -04:00
Zach Daniel
bacd54a01b fix: remove bad default for struct constraint 2023-03-29 20:24:45 -04:00
Alan Heywood
6e76a91215
improvement: add :subfield option to relates_to_actor_via (#540) 2023-03-29 12:11:23 -04:00
Zach Daniel
b4163127f9 improvement: add accessing_from/2 builtin check 2023-03-29 09:19:49 -04:00
Zach Daniel
24d802cd4b fix: use values when already loading aggregates 2023-03-29 08:02:10 -04:00
9c5119d8c8 chore: add read_uses_flow? feature flag. 2023-03-29 16:15:59 +13:00
557f60b03b chore: fix dialyzer error in Ash.Query.select_and_load_calc/3 2023-03-29 16:15:59 +13:00
Zach Daniel
ad347ca38b improvement: rewrite calculation loader
Calculation loading is complex because different calculations can
depend on differently parameterized things. FOr example:

```elixir
def load(_, _, _), do: [foo: %{arg: 1}]
def load(_, _, _), do: [foo: %{arg: 2}]
```

The previous naive implementation would simply merge all of the calculation loads, which naturally would not work. Now we ensure that we load each requirement in isolation.
2023-03-28 20:34:15 -04:00
bcksl
de943509f7
improvement: add {set,update,get}_context to Ash.PlugHelpers (#534) 2023-03-23 23:01:27 -04:00
Zach Daniel
5bfc1aeb0c improvement: improve compile times with 🪄 2023-03-23 22:39:56 -04:00
Zach Daniel
de550e7bac improvement: fix action typespecs 2023-03-23 19:13:26 -04:00
bcksl
53c99a0705
improvement: add option set_when_nil? to builtin change set_attribute (#528) 2023-03-22 22:48:06 -04:00
Zach Daniel
e60f255ac9 chore: fix typespec for subtype_constraints/1 2023-03-22 19:40:54 -04:00
bcksl
dc2cb7b86f
improvement: add update_actor to Ash.Plughelpers (#532) 2023-03-22 12:59:54 -04:00
Zach Daniel
d777f2924d fix: use proper arguments for aggregating queries 2023-03-21 15:54:02 -04:00
Zach Daniel
678497b263 chore: fix dialyzer typespec 2023-03-21 15:15:08 -04:00
Zach Daniel
ed45a72ea6 improvement: add skip_global_validations? option for actions 2023-03-21 13:33:48 -04:00
Zach Daniel
65f21e76be fix: datetime_add was actually datetime_subtract in elixir 2023-03-21 09:37:10 -04:00
Alan Heywood
9966274678
fix: prevent exception when describing some checks (#531) 2023-03-21 08:59:05 -04:00
James Harton
171967d6de
improvement: Add get_by option to read actions. (#530) 2023-03-21 18:03:06 +13:00
Zach Daniel
3c464b863f improvement: builder & typespec improvements 2023-03-20 23:11:17 -04:00
James Harton
9dc202ca44
chore: fix incorrect typespec for SimpleCheck.context. (#529) 2023-03-20 13:38:46 +13:00
Zach Daniel
3a82204c8f improvement: better resource detection of transactions in Ash.Flow
fix: properly handle multi-resource transaction return values
improvement: better formatting for branches in flow charts
2023-03-17 18:42:17 -04:00
Zach Daniel
8b722e6460 fix: various fixes in aggregate authorization behavior
improvement: add `:read_action` and `:authorize?` configurations for resource aggregates
2023-03-17 12:02:37 -04:00
Rebecca Le
22cad90ae7
docs: format code blocks appropriately (#527) 2023-03-16 09:42:01 -04:00
Zach Daniel
700b577cb2 fix: use builtin short names for builtin type helper 2023-03-14 13:47:15 -04:00
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
Zach Daniel
f9ed91953b fix: import builtins at the action level, not the section level 2022-12-22 19:09:47 -05:00
Zach Daniel
1ccec692cb chore: docs & info on new deprecation 2022-12-22 01:39:33 -05:00
Zach Daniel
d6f1361979 improvement: fix tests to handle new defaults 2022-12-22 01:28:50 -05:00
Zach Daniel
b515bb258b fix: fix broken default behavior around managing relationships.
Read more: https://github.com/ash-project/ash/issues/469
2022-12-22 01:03:13 -05:00
Zach Daniel
65e9ab70bb improvement: optimize strict checks
by not checking strict checks for policies who's conditions we can
statically confirm don't apply
2022-12-21 14:54:22 -05:00
Zach Daniel
4af5c41cb1 fix: properly include module in doc links 2022-12-20 22:45:48 -05:00
Zach Daniel
8c0102db86 improvement: fix decimal generator to only compare with floats at generation 2022-12-20 22:01:47 -05:00
Zach Daniel
5da64349c6 fix: add test for string generator, and fix it 2022-12-20 20:42:41 -05:00
Zach Daniel
ad2392be99 improvement: filter min_length strings in generators 2022-12-20 20:34:06 -05:00
Zach Daniel
c8eb27050d fix: only allow nil in appropriate circumstances in generator 2022-12-20 03:18:22 -05:00
Barnabas Jovanovics
7689e8e531
fix: respect selects in related_query (#464) 2022-12-20 03:12:40 -05:00
Zach Daniel
e4f30f368e fix: use action name not struct for embedded generators 2022-12-19 12:21:31 -05:00
Zach Daniel
6a5543e291 fix: use create generators for embedded types 2022-12-19 11:06:53 -05:00
Zach Daniel
c4b2701d65 fix: support dependencies on pruned branch steps 2022-12-19 01:49:36 -05:00
Zach Daniel
eb1dd2663b fix: ensure type compiled for generator 2022-12-15 12:25:37 -05:00
Zach Daniel
b73d3a27d4 improvement: better expression detection 2022-12-14 21:20:39 -05:00
Zach Daniel
52fcd4e06d fix: transaction steps use failure_mode: :stop 2022-12-11 02:50:45 -05:00
Zach Daniel
96409416cf improvement: more dependable notifications, support custom notifications better 2022-12-09 22:55:51 -05:00