Zach Daniel
d09c694132
fix: thread context through when setting source constraint on embeds
2023-12-13 17:11:52 -05:00
Robert Graff
e13bb6e0b4
test: Failing test for threading source information through embedded attributes ( #801 )
2023-12-13 16:47:11 -05:00
Zach Daniel
c38cba51b0
fix: test failures and credo issue
2023-12-10 13:13:06 -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
Pierre Le Gall
e14e1b2e29
improvement: set default many to many options ( #737 )
...
Many to many relationship `source_attribute_on_join_resource`
and `destination_attribute_on_join_resource` are now guessed
by there module name if not explicitly set in the relationship.
2023-10-17 10:03:21 -04:00
Zach Daniel
1ab4b6e69a
improvement: support atomics on upserts
2023-10-11 15:09:06 -04:00
Zach Daniel
1d43b26127
chore: move validate_relationship_attributes to a verifier
2023-09-20 16:51:38 -04:00
Zach Daniel
91013c2de0
improvement: support stacktraces in set_error
2023-09-12 11:26:11 -04:00
James Harton
5f6920ef92
improvement: Allow resources to opt out of the primary key requirement. ( #687 )
...
This is experimental and will likely cause breakages. It's to support time series tables.
2023-09-06 10:21:42 +12:00
Zach Daniel
567dcf6372
fix: better handling for negate error messages
2023-09-04 16:01:48 -04:00
Tchowa Franck A
7e47bfb60f
improvement: validate all actions and accept/reject fields at once. ( #674 )
2023-08-18 20:47:35 -04:00
Tchowa Franck A
f302dca003
Feature: Ensure aggregate field is attribute or calculation. ( #671 )
2023-08-17 18:02:05 -04:00
Zach Daniel
c0d8a86987
improvement: support resources directly in API modules
...
improvement: compile time warning on resources not detected in any apis
2023-07-13 01:38:21 -04:00
Mariusz Morawski
5ed2109e33
improvement: Add Negate
validation ( #636 )
...
* Add `Negate` validation
---------
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2023-07-05 16:25:51 -04:00
Alan Heywood
4ab7e84e4f
fix: typo in at_most validation message ( #640 )
2023-07-04 08:59:12 -04:00
Zach Daniel
4376cf9adb
chore: fix reserved name test
2023-06-22 14:24:50 -04:00
Abhishek Tripathi
06329b97cf
improvement: add verifier for identity fields. ( #626 )
...
* improvement: adds verifier for identity fields.
---------
Co-authored-by: abhishek <abhishek.tripathi@tinymesh.in>
2023-06-20 01:05:41 -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
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
Adam Harris
87045f3984
chore: add failing test to illustrate calculation issue
2023-06-07 10:13:08 -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
f04ffd5ebd
improvement: support bulk upserts
2023-05-02 21:56:15 -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
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
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
Mariusz Morawski
a0287f96a0
fix: Fix set_new_attribute by adding missing option to set_attribute ( #553 )
2023-04-04 10:35:30 -04:00
Alan Heywood
698cbd1f4c
improvement: Add :field option to relate_actor change ( #546 )
2023-04-02 21:50:32 -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
James Harton
ee99bf367f
improvement: Add builtin changes for lifecycle hooks. ( #523 )
2023-03-09 19:59:39 -05:00
Zach Daniel
93cfe6c97e
chore: remove test that produces warning because there is no way to silence it
2023-01-03 10:54:35 -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
d6f1361979
improvement: fix tests to handle new defaults
2022-12-22 01:28:50 -05:00
Zach Daniel
34c33c7247
improvement: dep updates & new aggregate types avg/min/max/custom
2022-12-07 20:35:32 -05:00
Frank Dugan III
e691222af0
fix: destroy action types default to accepts [] ( #453 )
2022-11-18 18:40:56 -05:00
Zach Daniel
27ca1d2f3c
fix: properly raise error on invalid type.
...
closes #422
2022-11-03 16:06:26 -07:00
Michael St Clair
5626c8be2c
fix: don't add required belongs_to error if changeset is invalid ( #437 )
2022-10-30 17:40:10 -04:00
Zach Daniel
d70a05c805
fix: don't lazy load when managing relationships
...
if a relationship was loaded previously we were just using that relationship value.
However, this has a chance to cause incorrect behavior in edge cases. One such
edge case is illustrated here: https://github.com/ash-project/ash/pull/434 We can return to the
more optimized behavior when lazy loading is improved via https://github.com/ash-project/ash/issues/438
2022-10-30 10:36:26 -04:00
oco-adam
2c85e325cd
test: Add test demonstrating minimal example of strange upsert behaviour ( #434 )
2022-10-29 19:33:19 -04:00
Zach Daniel
986e08e0c2
fix: properly compare against decimal values
...
improvement: support floats & decimals in the `compare` validation
2022-10-21 10:46:46 -04:00
Nelson Bassett
8378722244
improvement: Improve error when actions reject and accept keys overlap ( #405 )
...
* Test for overlapping action keys, and initial solution.
* Merged ValidateAcceptRejectpOverlap transformer into existing DefaultAccept transformer.
* Corrected formatting using mix format.
2022-10-09 18:05:54 -04:00
Zach Daniel
e9ca762e34
improvement: update to latest spark
...
chore: clean up tests & remove warnings
2022-10-08 14:00:08 -04:00
George Rodrigues
1f685a1413
docs: fix typos ( #402 )
2022-10-04 16:01:42 -04:00
Juha
fdebbeb242
improvement: Forbid reserved field names ( #388 )
...
Co-authored-by: Juha Lehtonen <juha.lehtonen@relexsolutions.com>
2022-10-03 16:19:16 -04:00
SpaceEEC
ace38cd31f
improvement: validate accepted and rejected attributes in actions ( #395 )
2022-10-03 12:16:53 -04:00
Zach Daniel
3b803d4c55
fix: various fixes with complex policy statements
...
improvement: simplify filter statements further
improvement: don't overconstraint filters on related data
test: get started on some more complex policy tests
2022-09-25 13:21:17 -04:00
Zach Daniel
1f6fb8d7af
chore: fix tests
2022-09-20 19:44:04 -04:00
Zach Daniel
e36f8c3e59
improvement: add filterable?
option to relationships
...
improvement: add data layer capability for aggregate relationships & filter relationships
improvement: add guide on manual relationships
2022-09-13 13:53:05 -04:00