Commit graph

4263 commits

Author SHA1 Message Date
Barnabas Jovanovics
00ee13143b
fix: handle resource being passed as query code_interface.ex (#1057)
* handle resource being passed as query code_interface.ex

This bit me today because I had code  like this 

```elixir
                Resource
                |> filter_board_codes(board_codes)
                |> filter_min_price(min_price)
                |> filter_max_price(max_price)
                |> filter_refundable_only(refundable_only)
```

and all the `filter_*` functions looked like this

```elixir
def filter_something(query, nil), do: query

def filter_something(query, something) do
  query
  |> Ash.Query.filter(....)
end
```

* Update lib/ash/code_interface.ex

* add another case

---------

Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
2024-04-25 10:37:44 -04:00
Barnabas Jovanovics
02c10c9216
fix: do not use Enum.map_join (#1058)
values are only a flat list of values, and map_join would need a function as the third argument if you specify a `joiner`
2024-04-25 07:53:52 -04:00
Pierre Le Gall
65e26cbc16
feat: Ash.create and Ash.update oneliner (#1055)
* feat: Ash.create and Ash.update oneliner

See #1015.

* fix: opts dispatch for create and update

* chore: shorten arguments by args
2024-04-24 15:28:26 -04:00
Zach Daniel
0ee07e00ac chore: release version v3.0.0-rc.30 2024-04-24 13:00:51 -04:00
Zach Daniel
f146258159 improvement: remove after_atomic and instead support after_batch
supporting `after_batch` allows things like `archive_related` in `ash_archival`
to dispatch batches of cascading archives
2024-04-24 11:56:36 -04:00
Riccardo Binetti
bae32332b1
docs: add more details on the behavior of accept :* (#1056) 2024-04-24 11:43:04 -04:00
Jechol Lee
56b10be097
fix: use Splode.ErrorClass for error classes (#1054) 2024-04-24 06:14:55 -04:00
Jechol Lee
44c38277e5
improvement: Add attributes_present, attributes_absent. (#1046)
* Add attribute_present, attribute_absent.

* Refactor

* plural name: attributes_present/absent

* Fix conflict
2024-04-23 22:01:35 -04:00
Zach Daniel
4ee15a41e7 chore: release version v3.0.0-rc.29 2024-04-23 14:03:48 -04:00
Zach Daniel
dad4d5effc fix: ensure that errors for nested forms are transformed 2024-04-23 14:03:40 -04:00
Jechol Lee
7ed746990a
Fixed validation tests for embedded (#1049) 2024-04-23 12:38:29 -04:00
Zach Daniel
f0f73cfcaf chore: change default to 14 2024-04-23 12:15:57 -04:00
Zach Daniel
6268afbe5a chore: release version v3.0.0-rc.28 2024-04-23 10:55:15 -04:00
Jechol Lee
184dfb3642
fix: Set tenant for managed relationship changeset (#1044) 2024-04-23 10:40:19 -04:00
Jechol Lee
18af9d7704
docs: Fix typos in docs (#1045) 2024-04-23 10:35:10 -04:00
zimt28
2a940cdecc
Update upgrading-to-3.0.md (#1047) 2024-04-23 10:33:09 -04:00
Zach Daniel
5ff767a1aa fix: don't carry over all changes during atomic upgrade
Doing this was causing us to carry over changes that were produced
as part of running the changes in the original changeset build

fixes #1042
2024-04-22 19:01:05 -04:00
dependabot[bot]
be65cbcf82
chore(deps): bump spark from 2.1.19 to 2.1.20 (#1041)
Bumps [spark](https://github.com/ash-project/spark) from 2.1.19 to 2.1.20.
- [Changelog](https://github.com/ash-project/spark/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ash-project/spark/compare/v2.1.19...v2.1.20)

---
updated-dependencies:
- dependency-name: spark
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 18:59:30 -04:00
Frank Dugan III
35961a793d
feat: leverage resource domain for eager/pre checking (#1040)
closes #1022
2024-04-22 17:15:27 -04:00
Zach Daniel
7e86b971a4 chore: fix migrate task file name 2024-04-22 12:27:43 -04:00
Zach Daniel
34470d4494 improvement: make extension discovery faster 2024-04-21 11:16:33 -04:00
Zach Daniel
1ead655a3a chore: set up security policy 2024-04-21 09:48:14 -04:00
Zach Daniel
b17228e58e improvement: add mix deps.audit task to shared CI 2024-04-21 09:15:51 -04:00
Rebecca Le
628ec452e9
docs: Fix filter semantics examples in Experssions guide (#1038) 2024-04-21 06:54:13 -04:00
Zach Daniel
8317e6fca9 fix: properly pin Enum.join in atomic for enum types
fixes #1033
2024-04-20 15:50:11 +01:00
Zach Daniel
d49f991021 fix: ensure actor is set when building queries in filter 2024-04-20 15:46:49 +01:00
Zach Daniel
fc931ab224 test: add tests for code interfaces that take maps 2024-04-20 15:14:21 +01:00
Zach Daniel
7a8836ec69 chore: release version v3.0.0-rc.27 2024-04-19 16:09:53 +01:00
Zach Daniel
c7991ec8a7 fix: don't eager evaluate type because it breaks data layers 2024-04-19 16:09:42 +01:00
Rebecca Le
7c75e5c102
refactor: Move opt schema definitions for built-in changes and validations to their specific modules (#1036)
* refactor: Move Spark opts definitions for built-in changes to the relevant change modules

This allows the change modules to be read and grokked standalone, without
needing to refer back to the `Builtins` module just for the opts

* refactor: Move Spark opts definitions for built-in validations to the relevant validation modules

This allows the change modules to be read and grokked standalone, without
needing to refer back to the `Builtins` module just for the opts
2024-04-19 15:43:35 +01:00
Zach Daniel
94f319a5f4 chore: invert code interface for simpler checking 2024-04-19 14:19:49 +01:00
Zach Daniel
45967e9d23 chore: release version v3.0.0-rc.26 2024-04-19 13:41:46 +01:00
Zach Daniel
89f15103c8 fix: ensure __union_tag__ is set when calling sub-union types 2024-04-19 13:41:05 +01:00
Zach Daniel
a2ac66093c fix: handle more &Mod.fun/n variations in fragments 2024-04-17 16:12:55 +01:00
Zach Daniel
975a100c15 chore: release version v3.0.0-rc.25 2024-04-17 15:08:39 +01:00
Zach Daniel
28136ec43f chore: format 2024-04-17 15:08:29 +01:00
Zach Daniel
45b66f539b chore: remove atomic
fix: ensure validations are considered atomic
2024-04-17 15:07:15 +01:00
Zach Daniel
8e1fd3b833 improvement: better eager expression parsing and atomic error anticipation 2024-04-17 02:34:33 +01:00
Zach Daniel
ccb06b1628 fix: ensure tenant and actor are properly set in Ash.can?
fixes #1027
2024-04-17 00:14:31 +01:00
Zach Daniel
65d51ac98d chore: release version v3.0.0-rc.24 2024-04-16 21:50:38 +01:00
Zach Daniel
f960e69437 chore: remove IO.inspect 2024-04-16 21:49:59 +01:00
Zach Daniel
70cd40065b fix: ensure changeset filter is parsed for templates 2024-04-16 21:03:25 +01:00
Zach Daniel
65675ef337 fix: properly parse additional changeset expression 2024-04-16 20:45:43 +01:00
Zach Daniel
371c2d1515 fix: properly parse changeset template for filters 2024-04-16 20:41:19 +01:00
Zach Daniel
3044339396 fix: properly parse changeset filter 2024-04-16 20:35:30 +01:00
Zach Daniel
4b50550149 chore: fix typo 2024-04-16 20:31:57 +01:00
Zach Daniel
3ab096258d chore: release version v3.0.0-rc.23 2024-04-16 20:28:50 +01:00
Zach Daniel
3b8a15fd34 fix: ensure changeset filters are applied on bulk destroy/update 2024-04-16 20:27:42 +01:00
Zach Daniel
fb90709f71 chore: release version v3.0.0-rc.22 2024-04-16 18:19:51 +01:00
Zach Daniel
a147062523 improvement: add Ash.read_first 2024-04-16 18:19:20 +01:00