Commit graph

2070 commits

Author SHA1 Message Date
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