Commit graph

1999 commits

Author SHA1 Message Date
Dmitry Maganov
984968d8ba
improvement: add support for generic actions in api.can (#617) 2023-06-13 09:35:27 -04:00
Dmitry Maganov
939b25d727
feat: generate some action helpers with code interface (#614) 2023-06-12 22:59:17 -04:00
Zach Daniel
6c4b2fb5ed fix: can_load?/1 -> can_load?/2 2023-06-12 16:57:12 -04:00
Zach Daniel
0eddcda355 fix: handle new load calculations in nested loading? checks 2023-06-12 14:46:36 -04:00
Zach Daniel
0a677ccde1 fix: don't load nil values for runtime types 2023-06-12 12:44:54 -04:00
Zach Daniel
d47dbe239c improvement: properly pass calculation args in keyset filters 2023-06-11 20:48:42 -04:00
Zach Daniel
4ef5911696 fix: properly set upsert_keys on bulk upserts 2023-06-11 20:30:13 -04:00
Dmitry Maganov
b68b816cc7
fix: continue refactor in code interface (#611) 2023-06-11 08:56:23 -04:00
RaspberryLambda
ffaf6d57df
* improvement: add data layer introspection to Ash.Resource.Info (#610)
---------

Co-authored-by: Daniel Stewart <mgdog1@googlemail.com>
2023-06-10 13:17:17 -04:00
Zach Daniel
be57b909b5 fix: honor query limit when streaming 2023-06-10 13:09:45 -04:00
Dmitry Maganov
ab981a79a5
fix: refactor out some repetition in code interface (#609) 2023-06-10 00:02:03 -04:00
Zach Daniel
e804f3c9f9 fix: properly handle loading through list types 2023-06-09 18:21:46 -04:00
Zach Daniel
25acc2d793 improvement: better keyset pagination behavior on first and last pages 2023-06-09 15:08:49 -04:00
Zach Daniel
1442daa667 chore: fix dialyzer 2023-06-09 12:19:02 -04:00
Zach Daniel
f3703f9ebe fix: handle api missing in code interface calls 2023-06-09 12:03:31 -04:00
Zach Daniel
0d32560651 fix: pass empty select statement when loading on changesets
fix: fixes for loading through attributes
2023-06-09 10:18:17 -04:00
Dmitry Maganov
f5238674a4
fix: drop proper opts keys when calling api in code interface (#608) 2023-06-09 10:16:15 -04:00
Zach Daniel
dc58cf8c2e fix: remove validation that was breaking real design patterns 2023-06-09 02:22:56 -04:00
Zach Daniel
d526996669 improvement: optimize LoadRelationship calculation 2023-06-09 00:28:09 -04:00
Zach Daniel
6320dad188 fix: various fixes to data loading
improvement: `Ash.Query.accessing/2` to get a list of fields being accessed
improvement: builting `LoadAttribute` and `LoadRelationship` calculations
2023-06-09 00:16:27 -04:00
Zach Daniel
a52a0a2554 improvement: warn on invalid/impossible policies 2023-06-07 22:35:55 -04:00
Zach Daniel
907aec5e82 improvement: support loading through types
Will document this in a separate PR. The broad strokes are this:

1. to load through an attribtue, `load(attribute: [:nested: :stuff])`
2. to load through a calculation, `load(calculation: {:%{...input}, nested: :stuff})`
3. union types support loading through them, and is done first by keying by the type name, i.e: `load(union: [type_name: [nested: :stuff])`.
4. union types support specifying a load statement for all types with `load(union: [*: [nested: :stuff]])`
2023-06-07 21:54:17 -04:00
Zach Daniel
dfe8bbf5f0 fix: properly set tenant on nested calculation loads 2023-06-07 10:41:33 -04:00
Zach Daniel
0381072c6b fix: properly set calc_name to resource calculation name on aliased calc loads 2023-06-07 10:24:09 -04:00
Zach Daniel
f223855e28 chore: credo/compiler warnings 2023-06-07 10:22:30 -04:00
Zach Daniel
c23cd40ccb chore: continue work on loading through attributes 2023-06-07 10:22:30 -04:00
Zach Daniel
1d6e5b2827 fix: check correct calculation dependency for relationship 2023-06-07 10:11:33 -04:00
Zach Daniel
1e52079416 fix: don't use to_string on the calculation names 2023-06-07 10:05:34 -04:00
Zach Daniel
ffc4ebcff1 chore: output both dependencies in relationship dependency error 2023-06-07 09:33:53 -04:00
Zach Daniel
2eedbdf934 chore: fix debug output from raised error 2023-06-07 09:22:34 -04:00
Zach Daniel
221efb09c9 fix: don't need to check current aggs/calcs in filters anymore 2023-06-07 09:08:29 -04:00
Zach Daniel
cff3c4db91 fix: set query tenant on calc dep loads
chore: set some groundwork for `Ash.Type.load/5`
2023-06-06 14:21:34 -04:00
Zach Daniel
85da9eff6f improvement: properly set tenant from initial data 2023-06-06 11:48:16 -04:00
kernel-io
5b6c81d800
fix: copy tenant to step on flow build (#603) 2023-06-06 09:27:02 -04:00
kernel-io
c4bb198d0c
docs: clarify custom.ex async? documentation (#602) 2023-06-06 09:25:09 -04:00
kernel-io
45dc97cdb4
fix: ensure add_tenant/1 checks the correctkey (#601) 2023-06-06 09:24:30 -04:00
Zach Daniel
c6d1a089a5 fix: properly chain batch to each change in bulk creates 2023-06-05 19:57:36 -04:00
Zach Daniel
aa1f902c50 fix: properly handle failed bulk creates with no errors 2023-06-05 19:07:52 -04:00
Zach Daniel
8e7815388e improvement: handle nils in memory the same way sql would have 2023-06-05 16:50:27 -04:00
Zach Daniel
54569c38e1 improvement: support changeset.load 2023-06-05 13:30:29 -04:00
Barnabas Jovanovics
5477102104
fix: also do not autogenerate values for optional fields that have a generator (#599) 2023-06-05 08:57:22 -04:00
Dmitry Maganov
af307f0504
fix: rename few error files to match module names (#597) 2023-06-03 07:44:33 -04:00
Dmitry Maganov
23bf59822e
chore: remove class and stacktrace from ErrorKind implementations (#596) 2023-06-02 17:57:07 -04:00
Barnabas Jovanovics
1185b615f8
fix: Only create values for attributes that did not get a generator (#595) 2023-06-02 08:18:02 -04:00
Zach Daniel
bf6797619b improvement: verify reserved calc names, support as input 2023-06-01 13:26:54 -04:00
Dmitry Maganov
adb6cefac1
fix: remove field name from string length error message (#594)
* fix: remove field name from string length error message

* fix: remove old unused `Error.Changes.UnknownError`

* fix: do not capitalize ash error messages

* fix: change error kind code for `Ash.Error.Forbidden.Policy`
2023-06-01 02:29:19 -04:00
Zach Daniel
5ab0c08f0f fix: properly load aggregates required for keyset pagination 2023-05-30 22:17:05 -04:00
Zach Daniel
e521048809 fix: properly load depended on source attributes 2023-05-30 21:31:48 -04:00
Zach Daniel
282c8945bb fix: handle pre-hydrated predicates in expressions 2023-05-29 09:57:10 -04:00
Zach Daniel
f6b14d0030 fix: handle nil errors on bulk creates 2023-05-27 20:18:45 -04:00
Dmitry Maganov
77310bb1f6
fix: add :forbidden to error_class, lowercase code for Forbidden (#589) 2023-05-27 11:45:01 -04:00
Zach Daniel
37710af26f fix: proper required value validations in bulk creates
fix: don't use error count in place of errors
2023-05-27 00:22:15 -04:00
Zach Daniel
1ab8d3636e improvement: make loading?/2 smarter 2023-05-26 23:58:35 -04:00
Zach Daniel
6ae41d58e8 fix: properly manage relationships on bulk creates
fix: validations could undo certain changeset changes in bulk creates
2023-05-26 10:25:35 -04:00
Zach Daniel
d2b54fdda9 fix: properly upsert on non batchable rows 2023-05-25 11:34:13 -04:00
Zach Daniel
5af9dc6696 fix: properly honor the return_errors? option 2023-05-25 09:46:27 -04:00
Zach Daniel
958f977139 improvement: better support for multiple code interfaces w/ same name 2023-05-23 19:10:11 -04:00
Zach Daniel
58329a073d fix: properly wrap errored changesets in bulk creates 2023-05-23 13:44:48 -04:00
Zach Daniel
35b1278830 fix: don't notify unless notify?: true in bulk creates 2023-05-23 10:45:31 -04:00
Zach Daniel
d56937aeb6 fix: properly wrap errored changesets in {:error in bulk creates 2023-05-23 10:42:12 -04:00
Zach Daniel
6fb348c162 improvement: handle bulk transaction errors better 2023-05-22 21:01:46 -04:00
Alan Heywood
62ef8ff19c
fix: swap Exception.exception? for Kernel.is_exception (#584) 2023-05-22 16:11:25 -04:00
Shirish Goyal
13f834ad09
docs: Fix for code_interface generated help (#583)
"actor" term was duplicated and one of them was supposed to be "tracer"
2023-05-19 09:06:46 +12:00
739dbb89a1 fix: accidental variable shadowing in calculation loading. 2023-05-18 16:33:01 +12:00
Alan Heywood
1653162041
fix: add missing batch_size opt for bulk_create (#581) 2023-05-18 00:05:29 -04:00
Zach Daniel
6ec06ca867 chore: release version v2.9.9 2023-05-17 22:37:39 -04:00
Zach Daniel
687723730a fix: errors on casting arrays of unions in newtypes 2023-05-17 22:36:47 -04:00
Zach Daniel
66ea912f8c improvement: add unavailable error 2023-05-17 13:15:24 -04:00
Zach Daniel
f7f96bb463 fix: don't require {:data_layer, *} for custom locks 2023-05-16 15:16:40 -04:00
Zach Daniel
c99c36d8c8 docs: update get_and_lock/1 docs 2023-05-16 15:00:16 -04:00
Zach Daniel
7de83e8bb1 improvement: add get_and_lock/1 builtin change 2023-05-16 14:59:47 -04:00
Zach Daniel
ca1769900f fix: don't use :map as storage type for Map 2023-05-15 09:49:30 -04:00
James Harton
7326ca330e
improvement(Ash.Type.Module): Add :module type. (#578) 2023-05-15 07:26:52 -04:00
Zach Daniel
ccacfd78fc improvement: handle ci strings in cast_stored 2023-05-11 15:51:41 -04:00
Zach Daniel
db715f5153 docs: remove reference to filter option in Query.aggregate 2023-05-10 23:17:46 -04:00
Zach Daniel
8fdd319697 chore: small fixes around optimistic locking 2023-05-08 16:10:46 -04:00
Zach Daniel
d1a64a66e5 improvement: better default overflow logic
improvement: custom stale record error
2023-05-08 15:28:50 -04:00
Zach Daniel
4cd5ae2c02 chore: fix dialyzer 2023-05-08 15:16:44 -04:00
Zach Daniel
b09d8781ca improvement: optimistic locking via changeset.filters 2023-05-08 15:13:46 -04:00
bcksl
b9569b57c3 docs: bulk_create does not support automatic upsert_fields 2023-05-08 09:41:21 +12:00
zimt28
7d070e49bb
Correctly map results of inline calculations (#573) 2023-05-06 13:03:40 -04:00
Moxley Stratton
84aff5a999
Improve documentation for Ash.Changeset.add_error/3 (#572) 2023-05-05 20:23:03 -04:00
Zach Daniel
c174713b70 fix: user proper upsert identity for bulk operations 2023-05-04 11:07:44 -04:00
Zach Daniel
ab3267fdc8 chore: credo 2023-05-03 19:58:09 -04:00
Zach Daniel
b376b7267a fix: ecto type of map is just :map 2023-05-03 19:56:42 -04:00
Zach Daniel
f04ffd5ebd improvement: support bulk upserts 2023-05-02 21:56:15 -04:00
Zach Daniel
80820a01fc fix: unbound variable in schema definition 2023-05-02 20:11:31 -04:00
Zach Daniel
e05b5058dc docs: bulk actions docs 2023-05-02 20:08:25 -04:00
Zach Daniel
523452cb94 docs: basic actions -> generic actions 2023-05-02 20:00:18 -04:00
Zach Daniel
5d3235dbf9 fix: fix dialyzer 2023-05-02 19:52:03 -04:00
Zach Daniel
3a6d79e1c6 improvement: bulk create improvements, docs 2023-05-02 19:48:29 -04:00
Zach Daniel
1e61ae2d3c improvement: finishing initial touches on bulk actions 2023-05-02 17:24:24 -04:00
Zach Daniel
0d6a86e54e fix: proper return value for synthesized bulk creates 2023-05-02 14:28:27 -04:00
Zach Daniel
0ced9c7639 fix: assorted bulk create fixes 2023-05-02 14:04:08 -04:00
Zach Daniel
cb99faf918 fix: set upsert context from action on create changesets 2023-05-02 13:37:53 -04:00
Zach Daniel
80f696417d improvement: bulk create actions
This is not currently supported by any data layer other than ETS
2023-05-02 13:19:00 -04:00
Zach Daniel
2843224f06 fix: handle invalid input in basic actions 2023-05-02 02:07:53 -04:00
Zach Daniel
49949ff58f improvement: initial support for basic actions 2023-05-02 01:54:53 -04:00
Zach Daniel
ba4e7b40ae improvement: better messages for missed notifications 2023-05-01 20:39:20 -04:00
Zach Daniel
c6bf1c1fb1 improvement: retain stacktraces from task errors 2023-05-01 13:36:01 -04:00
Zach Daniel
4be823493c chore: format 2023-05-01 09:45:52 -04:00
Zach Daniel
f05527e459
fix: handle map relationship data in lateral join 2023-05-01 01:05:26 -04:00
Zach Daniel
9b323c84ed improvement: error if relationship.api is not an Ash.Api 2023-04-30 22:51:12 -04:00
Zach Daniel
7f460009af fix: proper source path for lateral joined relationships 2023-04-30 22:45:54 -04:00
Zach Daniel
d7aaec7499 feat: attribute_in/2 builtin validation 2023-04-28 16:05:58 -04:00
Zach Daniel
5875496367 improvement: more typespec fixes 2023-04-28 13:46:20 -04:00
Zach Daniel
b28ccf2e3c improvement: support lock option on read
improvement: data layer can? might get a dsl, not a resource
2023-04-28 13:38:03 -04:00
Zach Daniel
a5534397ff improvement: introduce basic locking 2023-04-27 21:28:50 -04:00
Zach Daniel
c83316e88b chore: fix credo 2023-04-27 14:01:02 -04:00
Zach Daniel
fbd2b2f50c fix: set flow argument defaults 2023-04-27 13:42:18 -04:00
Zach Daniel
fbc341b3a0 feat: add Api.stream!/1 2023-04-26 17:12:21 -04:00
Zach Daniel
0398883079 chore: fix error message 2023-04-26 15:19:41 -04:00
Zach Daniel
38ec164e3e improvement: include resource validations by default
improvement: validate explicit api configurations, with good error messages
2023-04-25 21:31:01 -06:00
Zach Daniel
8821736227 fix: handle join relationship in different api 2023-04-25 00:25:09 -06:00
Zach Daniel
97daeeb8fb fix: don't warn on being managed from attribute changing 2023-04-24 07:04:40 -06:00
Zach Daniel
3d8f988e13 fix: don't initially require attributes for belongs to relationships being managed 2023-04-23 22:24:56 -06:00
Zach Daniel
ba1fa4c6d5 fix: simple equality filter should not traverse ors 2023-04-22 08:26:21 -06:00
Zach Daniel
4e5913588a fix: more fixes to optimized boolean filter building 2023-04-21 10:44:22 -06:00
Zach Daniel
b67c2b7f34 fix: don't optimize across or boundaries 2023-04-20 17:31:06 -06:00
Frank Dugan III
2e5f045f72
feat: add fields/1 and public_fields/1 to Ash.Resource.Info (#569) 2023-04-20 12:27:13 -06:00
Zach Daniel
d5074a1dd4 fix: handle calculation deps w/ multiple nested relationship paths 2023-04-20 07:46:42 -06:00
Zach Daniel
84a426c53e chore: don't require action set in run_query/6 2023-04-19 21:03:57 -06:00
Zach Daniel
d1d8deaab3 fix: only do tenant things in ETS if strategy is :context 2023-04-19 20:19:42 -06:00
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
Zach Daniel
9bc7933482 improvement: add more transaction types 2022-12-08 14:40:07 -05:00
Zach Daniel
b94a57d1bd improvement: add :struct (Ash.Type.struct) type 2022-12-08 01:49:05 -05:00
Zach Daniel
d582bcbe07 fix: different formats for extensions 2022-12-07 23:53:33 -05:00
Zach Daniel
ce64fda1e9 improvement: replace doc links in sidebar also 2022-12-07 23:35:00 -05:00
Zach Daniel
f21428ce4d improvement: better doc replacement behavior 2022-12-07 22:38:47 -05:00
Zach Daniel
34c33c7247 improvement: dep updates & new aggregate types avg/min/max/custom 2022-12-07 20:35:32 -05:00
Zach Daniel
98a7485a32 chore: don't use list_of syntax 2022-12-07 17:00:06 -05:00
Zach Daniel
55b3590f42 fix: more matching fixes on manual relationships 2022-12-07 01:10:34 -05:00
Zach Daniel
8173f640f0 fix: handle manual relationship load results when building query 2022-12-07 01:03:29 -05:00
Zach Daniel
3614fce456 improvement: only set defaults when attribute is actually set 2022-12-06 23:20:41 -05:00
James Harton
a5e5db672d
improvement: Pass context into query and changeset for_... functions. (#460) 2022-12-05 20:29:33 -05:00
Zach Daniel
e0cbe591ee improvement: set context once, early 2022-12-04 13:36:08 -05:00
Zach Daniel
a6ca9511c7 fix: set proper types in transaction reasons 2022-12-01 12:06:51 -05:00
Zach Daniel
6f6ff4f318 improvement: support data layers implementing transaction level hooks
we now pass down additional metadata about what is happening in a transaction
2022-11-30 19:07:31 -05:00
Zach Daniel
edcef5eea1 improvement: don't run calculation queries if no records were returned 2022-11-30 02:20:54 -05:00
Zach Daniel
e403728cf4 fix: properly authorize manage relationship calls
improvement: don't run queries with `limit: 0`
2022-11-30 02:18:13 -05:00
Zach Daniel
f2bf99e478 improvement: more readable flow charts
improvement: `not_found_error?` option on `get?: true` `read` flow steps
2022-11-29 23:36:07 -05:00
Zach Daniel
82d3ec3946 improvement: add not_found_error? option to interface builder and when calling 2022-11-29 17:18:57 -05:00
Zach Daniel
113b8740d4 chore: hotfix code_interface change 2022-11-29 16:21:53 -05:00
Zach Daniel
f4b6a43918 fix: properly handle arguments with default values in code interface 2022-11-29 15:52:09 -05:00
Zach Daniel
f0b0accd10 fix: don't raise a backwards incompatible error message on certian changeset functions
now we warn, instead

fix: properly apply managed relationships on manual actions

fix: properly pass `resource` option in filter policies
2022-11-29 14:23:49 -05:00
Zach Daniel
52e7c133a6 fix: don't revisit nodes in the ash engine
fix: properly map to `:destroy` step names
2022-11-25 14:09:30 -05:00
Zach Daniel
49693669dd fix: handle Ash.Flow.Step.Destroy in path matchers 2022-11-25 11:01:31 -05:00
Zach Daniel
2f3fcbad13 improvement: optimize various solver boolean optimizations
improvement: more comprehensively remove unnecessary clauses
fix: resolve issue with `authorize_unless` and filter checks
improvement: prevent changing attributes and arguments after action validation

We allow for these changes inside of `before_action` calls, but otherwise
require that `force_change_attribute` is used, for example. This prevents
accidentally validating a changeset and then changing an attribute.
2022-11-23 03:39:00 -05:00
Zach Daniel
dd1614962b fix: fix pattern match error in manage relationship reduce 2022-11-23 03:39:00 -05:00
Josh Price
23fae2ee67
docs: fix typo (#455) 2022-11-22 22:06:03 -05:00
Josh Price
692552d09b
docs(policy): fix built_in_checks typo, formatting (#454) 2022-11-22 19:52:19 -05:00