Commit graph

4534 commits

Author SHA1 Message Date
Zach Daniel
13a7c87daa fix: honor skip_global_validations? in bulk actions 2024-08-30 17:44:00 -04:00
Zach Daniel
cb80df9ed8 test: test new default keyset pagination 2024-08-30 17:36:10 -04:00
Zach Daniel
f4dc9620ae improvement: make default page type configurable, defaulting to :offset
The getting started guide and ash installer set it to `:keyset`

closes #1413
2024-08-30 17:18:50 -04:00
Zach Daniel
9b0fb15ecb fix: honor the countable option in pagination
the default unfortunately had to be changed to `true`, given that it was being ignored before

chore: clean up error declarations
2024-08-30 15:34:40 -04:00
Zach Daniel
0007d0e60a fix: return proper data shape when doing a read in a transaction
closes #1410
2024-08-30 15:19:38 -04:00
pinetops
3859571fae
Improve caching of relationships and add caching of calculations (#1417)
Note that this likely demonstrates some broken code elsewhere,
demonstrated by the need to accept other types other than string and atoms.
2024-08-30 14:59:35 -04:00
Jinkyou Son
e2731ecd2d
Replace PaginationNotSupported exception with ActionRequiresPagination exception (#1411) 2024-08-30 13:11:46 -04:00
Zach Daniel
c7b861c511 fix: ensure that from is properly set on all notifications
fix: typo in bulk destroy not clearing ash_started_transaction state
2024-08-30 11:46:33 -04:00
dependabot[bot]
7702cdc2f6
chore(deps): bump the production-dependencies group with 3 updates (#1422) 2024-08-30 00:00:19 -04:00
Ben Swift
6c66fcd423
fix typo in Policies doc (#1423) 2024-08-30 00:00:02 -04:00
pinetops
f63e86f9d6
improvement: add pattern for Ash.Query.Call in Filter.map (#1416) 2024-08-28 14:55:55 -04:00
Hannes Wüthrich
4a75743812
Fix generated change/3 function when only implementing batch_change/3 (#1415) 2024-08-28 08:04:52 -04:00
Zach Daniel
55f1ead24f fix: do not add relationship filter when building relationship authorization 2024-08-26 11:49:00 -04:00
Zach Daniel
04382cbc53 fix: don't list telemetry handlers if app is compiling 2024-08-26 10:01:39 -04:00
Zach Daniel
dbe825b504 fix: handle no_attributes when joining lateral join relationship data 2024-08-23 11:27:03 -04:00
dependabot[bot]
6de12a19a4
chore(deps): bump the production-dependencies group with 2 updates (#1404) 2024-08-22 23:40:45 -04:00
Andreas Donig
bc400929fb
docs: Make sure there is a caret in front of each atomic_ref occurence (#1403) 2024-08-22 14:27:47 -04:00
Andreas Donig
986d6e6467
docs: Fix an error in the changeset action lifecycle example (#1402) 2024-08-22 09:15:22 -04:00
Zach Daniel
05feea14ef chore: avoid emitting read spans when only loading data 2024-08-21 20:47:37 -04:00
Dmitry Maganov
8d4a4b055a
fix: do not call tracer set_metadata with span type that it ignores (#1400) 2024-08-21 19:43:40 -04:00
Zach Daniel
1f3059b5bf fix: traverse calculated relationships when rewriting transient calculation values
chore: clean up sort call to `function_exported?`
2024-08-21 19:34:19 -04:00
Zach Daniel
b841eaf54c chore: add tests for accept & some opts improvements 2024-08-21 11:58:11 -04:00
Zach Daniel
d593e3cee9 improvement: error at compile for bypasses that will have no effect
chore: remove unused `checks` field from `%Ash.Policy.Authorizer.Policy{}`
2024-08-20 21:30:55 -04:00
Zach Daniel
7cf38273fa improvement: prevent unnecessary calls to Ash.load 2024-08-20 11:55:46 -04:00
Zach Daniel
48507eac13 chore: run proper callback and test that we call the loading callback 2024-08-20 10:25:50 -04:00
Zach Daniel
51f57b6390 chore: pass context to load relationships 2024-08-20 10:18:01 -04:00
Zach Daniel
79c456f9fd chore: properly detect presense of load relationships 2024-08-20 09:39:48 -04:00
Zach Daniel
705e6b56e2 improvement: add load_relationships/5 callback to manual reads 2024-08-20 09:25:21 -04:00
Zach Daniel
f78d3ea7e5 chore: add final clause for uuid cast input 2024-08-19 22:05:30 -04:00
Zach Daniel
5fc5d32508 improvement: cache action known inputs individually
improvement: cache action required inputs all together
2024-08-19 21:49:34 -04:00
Zach Daniel
29e3a35d4c improvement: optimize to avoid inspects in changesets
improvement: optimize to avoid expensive `String.valid?` check in uuid type
2024-08-19 20:59:02 -04:00
Zach Daniel
d2d4be19fe improvement: add async? option to calculations, default to false
the vast majority of calculations will not benefit from being run
in a separate process, so the framework now defaults to running
them synchronously unless explicitly requested
2024-08-19 17:19:21 -04:00
Zach Daniel
a43624c9f3
improvement: add cascade update built in change (#1398)
---------

Co-authored-by: Alykhan Jetha <aj@marketcircle.com>
2024-08-19 11:34:38 -04:00
Zach Daniel
69b5e20b2f improvement: add uuid-v7-primary-key option to mix ash.gen.resource
closes #1396
2024-08-19 11:14:47 -04:00
Rebecca Le
057abfef18
docs: Stop the * in Ash.Type.* italicising everything when converted to Markdown (#1397) 2024-08-19 10:43:57 -04:00
Rebecca Le
4b42ef2e41
docs: Replace incorrect attribute policy check in Policies guide with an expr (#1393)
There is no built-in check for `attribute` - but the same logic can be expressed readably with a call to `expr`.
2024-08-17 11:00:42 -04:00
Zach Daniel
5500d65ddc ci: add optional codegen step to CI 2024-08-16 14:31:41 -04:00
Rebecca Le
707de0d664
docs: Fix code typo in Policies guide (#1392) 2024-08-16 08:15:33 -04:00
Zach Daniel
7071884d05 improvement: optimize field checking for loading fields in query
improvement: allow functions in tracers for lazy loading metadata
2024-08-15 21:19:23 -04:00
Zach Daniel
5a6583a019 fix: optimize filter expr traversal 2024-08-15 19:37:42 -04:00
dependabot[bot]
a86ef00521
chore(deps): bump the production-dependencies group with 2 updates (#1391)
Bumps the production-dependencies group with 2 updates: [ecto](https://github.com/elixir-ecto/ecto) and [reactor](https://github.com/ash-project/reactor).


Updates `ecto` from 3.11.2 to 3.12.1
- [Release notes](https://github.com/elixir-ecto/ecto/releases)
- [Changelog](https://github.com/elixir-ecto/ecto/blob/master/CHANGELOG.md)
- [Commits](https://github.com/elixir-ecto/ecto/compare/v3.11.2...v3.12.1)

Updates `reactor` from 0.9.0 to 0.9.1
- [Changelog](https://github.com/ash-project/reactor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ash-project/reactor/compare/v0.9.0...v0.9.1)

---
updated-dependencies:
- dependency-name: ecto
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: reactor
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-15 19:03:01 -04:00
Zach Daniel
2e13d2b0df improvement: add read_action option to cascade_destroy 2024-08-15 10:49:36 -04:00
Zach Daniel
ce5c080492 improvement: don't start processes for single items in list
chore: add some benchmarks/flame files
2024-08-15 09:14:43 -04:00
Jonatan Männchen
e200b5b9d1
chore: Implement upsert_condition for bulk create (#1389) 2024-08-14 20:26:03 -04:00
Zach Daniel
87d8263abb improvement: support expr and expr_type options when building aggregates
for example:

```elixir
calculate(
  :max_comment_similarity,
  :float,
  expr(max(comments, expr_type: :float, expr: fragment("similarity(?, ?)", title, ^arg(:to))))
) do
  argument(:to, :string, allow_nil?: false)
end
```
2024-08-14 20:11:58 -04:00
Alex Slade
61387e6ba0
docs: using multitenancy with code interfaces (#1388)
---------

Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2024-08-14 18:42:56 -04:00
Zach Daniel
ba30ec880e chore: clean up tests 2024-08-14 11:46:18 -04:00
Zach Daniel
7cb3e04b2a fix: fix ets lateral join source field usage
fix: properly apply distinct in ets
2024-08-14 11:11:03 -04:00
Jonatan Männchen
93775109c7
improvement: Implement condition for upsert (#1386)
Resolves #1385
2024-08-13 19:19:13 -04:00
Zach Daniel
545b7a60f2
improvement: Optimize option validation with compile time validators (#1387)
A user doing load testing of their Ash application is seeing *wildly* significant performance improvements from this change. Unexpected, but naturally very pleasing.
2024-08-13 19:04:58 -04:00