Zach Daniel
b900290f0d
docs: update custom type docs to handle nil values
2023-09-14 22:36:23 -04:00
Zach Daniel
6a2bb30d1d
improvement: add allow_nil?
to generic actions, defaults to false
2023-09-14 16:52:08 -04:00
Zach Daniel
e7f59862ab
docs: lots of docs improvements
2023-09-13 23:18:14 -04:00
Zach Daniel
654c12cc78
docs: update registry option docs
2023-09-13 22:36:57 -04:00
Zach Daniel
8046bc98b0
docs: remove the registry example from api docs
2023-09-13 22:34:47 -04:00
Zach Daniel
6e2d1fd0ac
docs: greatly improved DSL documentation in hex
2023-09-13 22:17:18 -04:00
Zach Daniel
58e7afde1b
fix: properly handle bubbled up exceptions from type casting
2023-09-13 14:31:25 -04:00
Zach Daniel
0a35989802
fix: typo in new tracer setting logic
2023-09-13 13:58:40 -04:00
Zach Daniel
4804e8eb87
fix: properly expose nested errors on unions
...
closes : #692
2023-09-13 10:31:06 -04:00
Zach Daniel
b4221ecc6d
improvement: set_handled_error/3
for when errors are returned
2023-09-13 00:05:04 -04:00
Zach Daniel
480d55a852
fix: propertly handle configured list of tracers
2023-09-12 21:47:30 -04:00
Zach Daniel
471bf8228c
chore: fix typo properly
2023-09-12 11:56:34 -04:00
Zach Daniel
d1a0108db1
chore: typo
2023-09-12 11:54:55 -04:00
Zach Daniel
1f319faf97
improvement: support trace_type?/2
in tracers
2023-09-12 11:54:04 -04:00
Zach Daniel
91013c2de0
improvement: support stacktraces in set_error
2023-09-12 11:26:11 -04:00
Zach Daniel
47fbf4b35a
improvement: support multiple tracers, instead of just one
2023-09-12 10:54:42 -04:00
Zach Daniel
e2855843ca
improvement: support vector types
2023-09-11 22:28:51 -04:00
Josh Price
cedcda903f
docs(dsl): various doc and formatting improvements
...
Tried removing all triple backticks to fix https://github.com/ash-project/ash/issues/690 but this didn't remove the warning about unclosed backticks.
2023-09-07 07:03:44 -04:00
Josh Price
08081c09ba
docs(changeset): various doc and formatting improvements
...
Conference training driven development.
2023-09-07 07:03:44 -04:00
Zach Daniel
b45174fc54
fix: fix formatting for policies with conditions
2023-09-06 01:56:36 -04:00
Zach Daniel
1fde073bc1
fix: policy mermaid chart fix forbid_unless
behavior
2023-09-06 01:46:22 -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
Zach Daniel
427a42d45b
improvement: raise runtime error on misuse of negate
2023-09-04 15:42:07 -04:00
Zach Daniel
879b52b900
fix: compile before ash tasks
2023-09-04 13:38:27 -04:00
Zach Daniel
b9e6327d7f
improvement: add ash.reset
and ash.tear_down
2023-09-04 13:07:14 -04:00
Zach Daniel
c67c77a617
fix: fix no such action error on create changesets
...
fix: remove policy documentation due to compile time links
2023-09-04 11:48:38 -04:00
Zach Daniel
5cd7194e5e
chore: don't explain policy in module docs to test an issue
2023-09-04 11:34:50 -04:00
Zach Daniel
5b5995d783
improvement: show policy mermaid chart in moduledocs
2023-09-04 09:53:55 -04:00
Zach Daniel
967c467f84
chore: only generate for resources w/ policy authorizer
2023-09-04 09:23:22 -04:00
Zach Daniel
655fa42416
chore: clean up flow chart generated Or
edges
2023-09-04 09:19:51 -04:00
Zach Daniel
a131dfeb03
fix: show policy conditions, and fix final destination of last policy condition
2023-09-04 09:03:47 -04:00
Zach Daniel
69623a1efe
chore: cleanups for new mix task
2023-09-04 01:23:57 -04:00
Zach Daniel
8e2396b0b1
improvement: add mix ash.generate_policy_chart
2023-09-04 01:07:12 -04:00
Zach Daniel
030f240273
fix: include path in unique path for anonymous aggregates
2023-09-01 18:39:38 -04:00
Zach Daniel
e423ec5381
fix: give anonymous aggregates constant names
2023-09-01 17:23:04 -04:00
Barnabas Jovanovics
b661022736
fix: sort operator names in keyset ( #684 )
2023-09-01 06:53:01 -04:00
Zach Daniel
c5ea541b2d
chore: rework atomics to atomic_update
change and function
...
improvement: add `Ash.context_to_opts/1-2`
2023-08-29 14:39:38 -04:00
Zach Daniel
18cb24e7f7
improvement: implement atomics, expression-based changes ( #682 )
...
there is still a lot of potential work that needs to be on this front.
1. supporting atomics on create actions.
2. supporting atomics in upserts (this one may actually be much easier than the first one, for postgres specifically, due to ecto implementation details)
3. discovering places atomics can be more nicely integrated into existing changes, validations, policies
2023-08-28 16:05:26 -04:00
Zach Daniel
452ec7df9d
chore: format
2023-08-25 13:57:13 -04:00
Zach Daniel
f05bcec2eb
improvement: hide __order__
and __lateral_join_source__
on records
2023-08-25 13:21:26 -04:00
Zach Daniel
537d25c68d
fix: action.update_default -> field.update_default typo
2023-08-25 12:10:36 -04:00
Zach Daniel
7d5fd04e5c
fix: ensure that errors/records return the proper value in bulk creates
...
closes #681
2023-08-25 08:59:24 -04:00
Zach Daniel
97ab3272db
fix: properly optimized nested get_path
calls
2023-08-23 12:51:35 -04:00
Zach Daniel
221280f1f5
fix: simplify and fix duplicate detection in embedded resources
2023-08-22 19:02:38 -04:00
Zach Daniel
b3f9a359d7
fix: better handling of runtime maps & lists
...
fix: properly handle `as` option for calculations in calculation dependencies
2023-08-22 18:26:20 -04:00
Zach Daniel
83b29f7bbd
fix: handle inline aggregates in calculation resolver
2023-08-22 15:28:50 -04:00
Zach Daniel
95c5f5f1ac
improvement: support in-line aggregates
2023-08-22 14:43:42 -04:00
Zach Daniel
7da453409c
chore: credo
2023-08-22 14:31:32 -04:00
Zach Daniel
56a96f04ed
fix: init validations at runtime not compile time
2023-08-22 14:29:22 -04:00
James Harton
269889c34b
fix(Ash.Filter): Don't overly constrain related references. ( #678 )
...
We now only apply related policies to filter statements based on references
that are explicitly annotated as inputs. This is the same logic that backs
protecting access in filters for field policies.
2023-08-21 19:39:07 -04:00
Zach Daniel
a37c8b17a8
fix: handle nil constraints in cast_input
2023-08-21 19:26:05 -04:00
Zach Daniel
bd0f89c9dd
chore: fix typo
2023-08-21 13:57:10 -04:00
Zach Daniel
34084c52ca
fix: properly handle in-line maps in exprs
2023-08-21 13:56:34 -04:00
Zach Daniel
356fa3a780
fix: don't cast notloaded/forbidden values at runtime
2023-08-21 11:35:00 -04:00
Zach Daniel
4adbd47191
fix: add required errors for missing read arguments
2023-08-21 10:14:10 -04:00
Eduardo B. A
3b67313129
improvement: Set api field for ActionInput when running action ( #676 )
...
Co-authored-by: Eduardo <sezdocs@dev-distrobox.fedora.local>
2023-08-20 10:06:32 -04:00
Alessio Montagnani
6785e30b68
improvement: make resource's DSL attributes section patchable ( #675 )
2023-08-19 14:05:19 -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
Zach Daniel
6136ca693b
fix: don't evaluate unknown types in basic operators
2023-08-18 11:37:20 -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
50164049df
fix: Enum types only have storage_type/0
still
2023-08-17 17:57:50 -04:00
Zach Daniel
b51dbe49c9
improvement: storage_type/0 -> storage_type/1
2023-08-17 17:52:00 -04:00
James Harton
025f75a1aa
improvement(Ash.Resource.Calculation): set struct defaults. ( #673 )
2023-08-17 18:17:09 +12:00
Zach Daniel
bb8f3334cd
improvement: track invalid keys, don't add required errors for them
2023-08-15 22:25:20 -07:00
Zach Daniel
453655326c
chore: fix dialyzer
2023-08-15 17:10:07 -07:00
Zach Daniel
46e8dd43bd
fix: inspecting a query now only shows arguments explicitly set
2023-08-15 16:52:53 -07:00
Zach Daniel
8233634bb1
improvement: properly set path into error instead of on error messages
...
TBD: this may break some people's tests, and so may need to be
reverted or released as part of 3.0
2023-08-15 16:23:06 -07:00
Zach Daniel
8c1f334075
improvement: expose union errors with path when tag is set
2023-08-15 14:07:28 -07:00
Zach Daniel
5549bbf290
fix: don't set attributes or arguments to invalid values
2023-08-15 11:00:49 -07:00
Zach Daniel
140a1c9ca3
chore: remove all_loaded
2023-08-14 16:57:08 -07:00
Zach Daniel
72fada1bec
improvement: find all installed extensions by default
2023-08-14 16:18:45 -07:00
Zach Daniel
cf9c92f158
improvement: add initial implementation of new mix tasks
2023-08-14 15:30:35 -07:00
Zach Daniel
376ac3889f
improvement: add plural_name
...
fix: handle atomic/string union type identifiers better
2023-08-14 14:09:08 -07:00
Zach Daniel
1291e226c8
fix: handle empty field policy lists better internally
2023-08-11 01:25:50 -07:00
Barnabas Jovanovics
f85bc95ff5
chore: release version v2.14.0 ( #669 )
2023-08-09 19:43:55 +02:00
Zach Daniel
b1acd6b2f8
fix: optimized boolean expression building typo
2023-08-09 09:46:45 -07:00
Zach Daniel
7ae9244d01
fix: don't optimized in/== predicates across incorrect boolean expressions
2023-08-08 12:17:07 -07:00
Zach Daniel
6daae630f4
fix: various fixes with runtime evaluation of aggregates
...
fix: handle mnesia transaction errors properly
2023-08-06 00:41:29 -04:00
Zach Daniel
f22a07d613
improvement: add from_many?
option to has_one
2023-08-04 18:35:56 -04:00
Zach Daniel
32f8224fba
fix: fix badly formatted error message
2023-08-03 20:16:17 -04:00
Zach Daniel
cf99929230
improvement: initialize change opts in bulk actions
...
fix: better error message in `validate_related_resource_inclusion`
test: add test for arguments in bulk create actions
2023-08-02 12:41:54 -04:00
Zach Daniel
d16e290077
improvement: validate resourcesin apis
2023-07-28 11:51:51 -04:00
Zach Daniel
1871e19fa9
improvement: added round/1
and round/2
to expressions
2023-07-27 11:49:02 -04:00
Zach Daniel
7bbc7ba4e3
improvement: add new/1
to all ash errors, because its nicer
2023-07-26 23:01:29 -04:00
Zach Daniel
f1f1aa8a6e
improvement: allow for parent/1
expressions to be resolved "later"
2023-07-26 18:50:20 -04:00
Zach Daniel
bda7c56543
improvement: support parent/1
in relationships
2023-07-26 16:46:22 -04:00
Zach Daniel
b9abe2aa72
fix: handle changeset errors in mnesia transactions
2023-07-24 12:17:06 -04:00
Zach Daniel
78a62feb89
improvement: enrich mnesdia data layer
...
fix: fix builder for action preparations
2023-07-24 10:23:34 -04:00
Zach Daniel
da73502a2f
fix: before/after batch callbacks are no longer broken
...
test: add tests for those callbacks being executed
2023-07-22 19:51:27 -04:00
Zach Daniel
2fe810f3fc
improvement: remove ecto after compile hook
...
chore: file name typo
2023-07-21 09:11:42 -04:00
Zach Daniel
a85809f634
improvement: add aggregate context when adding aggregates
2023-07-20 21:58:13 -04:00
Zach Daniel
751a718925
fix: try to cast_stored expression calculation results
2023-07-20 20:41:24 -04:00
Minsub Kim
f789bde709
feat: validate arg ( #662 )
...
* feat: validate argument unequality
* feat: validate argument in
2023-07-20 08:24:15 -04:00
Rebecca Le
b5edc6fba1
fix: read argument value in ArgumentEquals
validation ( #664 )
2023-07-20 08:04:21 -04:00
Zach Daniel
0d0abf4fda
improvement: support distinct_sort
in Query.build/2
2023-07-19 12:51:37 -04:00
Zach Daniel
20877f18b5
improvement: inspect distinct_sort
2023-07-19 12:27:22 -04:00
Zach Daniel
e5563ce664
fix: Keyword.fetch
on keywords, fix test name
2023-07-19 11:18:20 -04:00
Zach Daniel
7f3ec1b8bf
improvement: support distinct_sort
2023-07-19 11:06:01 -04:00
Spark Kim
3a827c85e4
feat: validate argument equality ( #659 )
2023-07-19 09:49:46 -04:00
Mariusz Morawski
7f165ce99f
chore: Remove leftover commented out debug code ( #658 )
2023-07-19 09:48:59 -04:00
Zach Daniel
ac4d803cc0
chore: fix typo
2023-07-18 15:54:38 -04:00
Zach Daniel
c0eec23abb
improvement: use Comp.equal?
for actor_attribute_equals
check
2023-07-18 15:54:03 -04:00
Zach Daniel
3c42062861
fix: allow the query & related fields to be read before authorization status is complete
2023-07-18 15:23:27 -04:00
Zach Daniel
5b2efe5e5c
improvement: support distincting on calculations
...
improvement: support distinct in ets data layer for testing
2023-07-18 14:35:25 -04:00
Zach Daniel
bae2aa2ad2
fix: only depend on calcs in runtime calcs
2023-07-18 13:02:38 -04:00
Zach Daniel
d98f66da6f
fix: handle manual relationships where source field doesn't exist
2023-07-18 07:49:00 -04:00
Zach Daniel
4508d1d469
improvement: support the -
unary operator
...
yknow, because numbers are negative sometimes
2023-07-17 22:22:09 -04:00
Zach Daniel
3af1b8a994
fix: only error on incorrect destination managed relationships when they are resources
2023-07-14 15:33:54 -04:00
Eliel Gordon
216755b275
fix set_tenant spec ( #655 )
2023-07-14 12:38:56 -04:00
Zach Daniel
fcc319d965
improvement: add ForbiddenField
exception
2023-07-13 09:05:04 -04:00
Zach Daniel
94815605b9
improvement: warn on api missing from config
2023-07-13 08:42:52 -04:00
Zach Daniel
9987cb05e8
chore: better error message on resource in no apis
2023-07-13 08:23:13 -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
Zach Daniel
7114b5efbb
improvement: exists
type aggregate
2023-07-13 00:08:51 -04:00
Zach Daniel
2634d3d830
improvement: add at/2
function
2023-07-12 16:53:43 -04:00
Zach Daniel
d27e871b8f
improvement: add string_split
expression
2023-07-12 15:11:21 -04:00
skanderm
925f5c1f9a
fix: incorrect error for casting binary UUID ( #653 )
2023-07-11 20:35:01 -04:00
Zach Daniel
8e12a14b25
improvement: add field_policy_bypass
...
fix: fix and improve policy breakdown logs
improvement: optimize field selection/loading when possible
2023-07-11 10:28:07 -04:00
Zach Daniel
07d7dd5491
improvement: deselect fields we know statically are not visible
2023-07-11 09:23:25 -04:00
James Harton
ebbbcca301
fix: incorrect typespec for bulk_create/5
. ( #646 )
2023-07-10 19:31:07 -04:00
Zach Daniel
1d2a04d972
chore: optimize replace_dynamic_loads/4
2023-07-10 09:02:53 -04:00
Barnabas Jovanovics
c442d83534
test: add test for aggregate field policy ( #644 )
2023-07-10 09:00:55 -04:00
James Harton
13a14674d0
fix: add handle_change/3
and prepare_change/3
to Ash.Type.Union
( #642 )
2023-07-10 11:55:53 +12:00
Zach Daniel
be75743b13
fix: properly detect selected attributes for changeset field policies
2023-07-06 10:58:09 -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
Zach Daniel
93d4f1fd26
fix: run before_action after authorization
2023-07-05 11:51:54 -04:00
Zach Daniel
d9687c7b1f
fix: return accumulator to correct state after altering exists
2023-07-04 09:39:12 -04:00
Alan Heywood
4ab7e84e4f
fix: typo in at_most validation message ( #640 )
2023-07-04 08:59:12 -04:00
Zach Daniel
102522adf7
fix: select attributes in load statement
2023-07-03 22:44:11 -04:00
Zach Daniel
60c96c7a1d
fix: don't loan unless we need to for runtime filters
2023-07-03 12:23:35 -04:00
Zach Daniel
835515ecc6
fix: load after all hooks have completed
2023-06-28 21:04:31 -04:00
Zach Daniel
b86c66b505
fix: don't allow is_nil
as an expression operator
2023-06-28 16:41:34 -04:00
Zach Daniel
692dae153d
fix: proper source field loading on related data
2023-06-28 14:32:05 -04:00
Zach Daniel
4efa2a8ab1
fix: reselect all selected attributes on action loading
2023-06-28 13:31:47 -04:00
Zach Daniel
5abe51070a
improvement: better behavior for invalid filter value errors
...
fix: don't deselect fields on loading for changesets
2023-06-28 13:27:49 -04:00
Zach Daniel
2c129a7ab7
fix: select after setting notification data
...
resolves a bug where attributes were not selected for create notifications
docs: add validations guide
closes #631
2023-06-28 11:03:51 -04:00
Eduardo B. A
5fe72d4703
feat: Adds Ash.Changeset around_transaction ( #632 )
2023-06-27 22:13:50 -04:00
Robert Ellen
924b62130d
docs: add missing argument to calculate example ( #633 )
2023-06-27 21:46:28 -04:00
Zach Daniel
5d20af82c3
improvement: support partial eager evaluation of functions
2023-06-27 19:11:03 -04:00
Zach Daniel
25f899d6f4
improvement: support specifying calculation as an option
2023-06-24 06:55:38 -05:00
Zach Daniel
51a86cd58d
fix: fix field policy expressions
...
fix: handle various inconsistencies in runtime expression runner
2023-06-22 16:26:03 -04:00
Zach Daniel
c93c4b88f7
chore: fix credo/dialyzer
2023-06-22 14:19:40 -04:00
Zach Daniel
0b6d93c7c4
feat: add field_policies
...
see included documentation for more information on how field policies
work.
2023-06-22 14:00:11 -04:00
Zach Daniel
1a9b2c8406
improvement: fix loading w/ only nil values
2023-06-22 10:37:25 -04:00
Spark Kim
843f561bd5
docs: add question mark ( #630 )
2023-06-21 22:49:59 -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
kernel-io
4b08e9865f
updated api functions to use changeset ( #628 )
2023-06-19 00:11:40 -04:00
Zach Daniel
44be22fa73
improvement: fix problems w/ nested loads using relationship load calcs
2023-06-16 15:07:44 -04:00
Zach Daniel
bb7c2d3b48
fix: check paginability before streaming
2023-06-15 16:56:23 -04:00
Zach Daniel
ae430d0b38
docs: update docs for calculate function
2023-06-15 11:00:55 -04:00
Zach Daniel
a7d069ae30
fix: properly set notification_data from loaded record
2023-06-14 20:40:04 -04:00
Zach Daniel
3f3a588df8
fix: properly handle lazy loaded many to many relationships
2023-06-14 19:52:05 -04:00
Dmitry Maganov
bf293a63c3
docs: :maybe
means true in can?
by default, not false ( #624 )
2023-06-14 19:38:03 -04:00
Dmitry Maganov
28dfd0d71c
fix: remove duplicate doc for authorize?
in Query.for_read_opts
( #623 )
2023-06-14 18:37:49 -04:00
Zach Daniel
a451fb9e6b
fix: set notification data with loaded result
2023-06-14 18:25:13 -04:00
Dmitry Maganov
1ca4d9870a
fix: honor not_found_error?: true
opt in code interface get actions ( #620 )
2023-06-14 09:43:51 -04:00
Zach Daniel
11404d896d
fix: typo on keyset refactor
2023-06-14 07:51:13 -04:00
Zach Daniel
0e12686c61
fix: ensure attributes for keyset pagination are selected
2023-06-14 07:38:43 -04:00
Zach Daniel
b3592aecfd
docs: document select
and ensure_selected
to build/2
docs
...
closes #510
2023-06-13 12:06:11 -04:00
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 nil
s 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 or
s
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