Commit graph

1751 commits

Author SHA1 Message Date
Josh Price
23fae2ee67
docs: fix typo (#455) 2022-11-22 22:06:03 -05:00
Josh Price
692552d09b
docs(policy): fix built_in_checks typo, formatting (#454) 2022-11-22 19:52:19 -05:00
Zach Daniel
3e5b0a8096 fix: fix typespec for Api.Info.trace_name/3
docs: add context to monitoring guide
2022-11-22 13:24:16 -05:00
Robert Ellen
59ddb5f5af
improvement: add error context to error creation / normalisation (#440) 2022-11-21 18:32:25 -05:00
Zach Daniel
d91c3b6d15 improvement: update hexdocs processor to link guides on hexdocs 2022-11-21 18:27:35 -05:00
Zach Daniel
865f9aa253 improvement: return invalid primary key errors for Api.get when the input can't be cast 2022-11-21 02:51:37 -05:00
Zach Daniel
a479970e23 improvement: much more readable errors when building loads 2022-11-21 01:37:58 -05:00
Zach Daniel
d16b7057a3 improvement: better check module validation
docs: add more context to security and policy guides
2022-11-21 00:29:45 -05:00
Zach Daniel
4a6676ffcd fix: reselect relationship source fields when loading relationships 2022-11-20 19:27:45 -05:00
Zach Daniel
5eb051722a fix: fix where and or_where implementation 2022-11-19 14:26:56 -05:00
Zach Daniel
9047fbd2ee improvement: add where and or_where to expr 2022-11-19 13:19:26 -05:00
Zach Daniel
4afc20a274 improvement: mark manual action modules as modules 2022-11-19 03:16:05 -05:00
Zach Daniel
3f95481294 fix: properly pass a map to manual action context 2022-11-19 01:30:48 -05:00
Frank Dugan III
e691222af0
fix: destroy action types default to accepts [] (#453) 2022-11-18 18:40:56 -05:00
Zach Daniel
1fd1d6c82a improvement: improve runtime expression running
fix: various typespec/build fixes
2022-11-18 14:42:53 -05:00
Zach Daniel
2ef7bc6273 docs: improve policy writing guide
improvement: add default description for filter checks
2022-11-17 01:33:38 -05:00
Zach Daniel
c8d08a3265 fix: handle tuples properly in some cases in expression syntax 2022-11-16 12:00:43 -05:00
Rebecca Le
91bb426e7e
fix: Add missing [:ash, :query] telemetry (#451) 2022-11-16 11:41:52 -05:00
Zach Daniel
a2fc21a218 chore: fix dialyzer 2022-11-15 21:39:57 -05:00
Zach Daniel
5090deb202 improvement: validate that modules exist and are documented when referenced 2022-11-15 21:26:25 -05:00
Zach Daniel
b7f4425265 docs: add Ash.Tracer to doc_index 2022-11-15 16:46:40 -05:00
Zach Daniel
d8ae4da1b3 docs: use new spark doc index guide order 2022-11-15 14:47:25 -05:00
Zach Daniel
e62d8e4a13 fix: don't incur compile time dependency for resources used as types 2022-11-15 10:03:34 -05:00
Zach Daniel
43362c7656 fix: allow for not-yet-compiled resources as Ash types 2022-11-15 09:59:04 -05:00
Zach Daniel
665a9fb5c4 improvement: optimize sat solving
1. only convert to CNF once
2. group predicates that only appear in specific combinations to limit amount of variables provided to the sat solver

Number 2 above does technically slow down all cases a bit, but the optimization is really important when it matters. And cases that don't need this optimization still happen on the order microseconds anyway.
2022-11-15 01:45:55 -05:00
Zach Daniel
27ca1d2f3c fix: properly raise error on invalid type.
closes #422
2022-11-03 16:06:26 -07:00
Zach Daniel
1dcb9dd8c4 docs: library links 2022-11-03 08:19:35 -07:00
Zach Daniel
399e6f4a9e docs: fix policies link 2022-11-03 07:29:56 -07:00
Zach Daniel
6840cc4870 chore: fix docs link 2022-11-03 00:51:48 -07:00
Zach Daniel
a0e5b2cb7d docs: small docs tweaks
improvement: update to latest spark
2022-11-03 00:47:24 -07:00
Zach Daniel
a31da97d4c chore: properly set error vars and run spark.formatter 2022-11-02 21:29:12 -07:00
Zach Daniel
ef0407299b improvement: support statically configured upsert actions 2022-11-01 03:13:56 -04:00
Zach Daniel
d23be5e49b improvement: add more builders
docs: fix typo in docs
2022-10-31 21:23:07 -04:00
Zach Daniel
3407d1e2e3 fix: properly set error vars with list constraints
fix: when creating changesets/queries that already have arguments, revalidate arguments
2022-10-31 14:20:13 -04:00
Zach Daniel
6f2c685ae6 fix: fix depend on resources to depend on each resource 2022-10-31 12:30:41 -04:00
Zach Daniel
cb192517c7 fix: allow references on both sides of in 2022-10-31 12:08:24 -04:00
Zach Daniel
6994295a8f fix: properly upsert all explicitly changed fields
fix: traverse maps for `template_references_actor?/1`
docs: various doc fixes
2022-10-31 11:33:51 -04:00
Zach Daniel
113d2452d2 improvement: replace templates in change/preparation/validation opts
Previously, only a few specific changes supported using `arg/1` or `context/1`
in their options. Now, those templates can be used in any change options,
built-in or not.
2022-10-31 02:25:01 -04:00
Zach Daniel
e18a8782c7 chore: remove empty file 2022-10-30 22:20:02 -04:00
Zach Daniel
d41c510f68 improvement: support anonymous functions for various behaviour based options
These include:

- custom create/read/update/destroy actions
- changes
- preparations
- validations
- calculations
- manual relationships

See the respective DSL guides for more.
2022-10-30 21:31:48 -04:00
Zach Daniel
d1c5c32e3f WIP 2022-10-30 21:00:57 -04:00
Zach Daniel
8cbd766172 feat: support anonymous functions in DSL
improvement: add more ergonomic manual action definitions.

The old method will likely be deprecated some time in the future (there is no rush really, they both work).
2022-10-30 21:00:57 -04: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
Zach Daniel
1718314f40 chore: update spark 2022-10-28 10:34:43 -05:00
Zach Daniel
e52d7187d8 improvement: more additions to the resource builder, update spark
test: add a test for loading many to many relationships on code interface actions
2022-10-28 10:18:01 -05:00
James Harton
2d6762ae61
feat(Ash.PlugHelpers): standardise conn interface for actors/tenants. (#432) 2022-10-27 17:52:42 -05:00
Zach Daniel
3c6758fa59 chore: use the tenant from the existing query when reselecting/loading calcs 2022-10-27 07:57:17 -05:00
Zach Daniel
bdb2265196 improvement: pass tenant to calculation query explicitly 2022-10-27 07:51:16 -05:00
James Harton
4917e283cd
fix(DataLayer): incorrect typespec for run_query/2 callback. (#431) 2022-10-26 14:36:57 -05:00
Zach Daniel
39ea911d33 docs: various guide/documentation updates 2022-10-25 23:17:49 -05:00
Zach Daniel
f89fd53806 fix: in Ash.Seed, don't try to update a non-loaded record 2022-10-25 22:30:00 -05:00
Zach Daniel
1a1714a37c docs: add resource builder to doc index 2022-10-24 12:05:41 -06:00
Zach Daniel
6b9cff5d43 feat: add Ash.Resource.Builder, the start of DSL builder utilities of rextension writing 2022-10-24 12:04:56 -06:00
Zach Daniel
72171da732 docs: update some descriptions 2022-10-24 08:57:22 -06:00
Zach Daniel
8c0e4de6bd improvement: allow using get_path/2 by name, as well as bracket access
prior to this, you had to say `map[:foo][:bar]`, but now you can also say
`get_path(map, [:foo, :bar])`. This makes certain things much clearer, i.e
`^arg(:foo)[:foo]`, which is problematic, would normally need to be written
as `(^arg(:foo))[:foo]` so that the pin only applied to the `arg/1` call.
This looks much nicer as `get_path(^arg(:foo), [:foo])`.
2022-10-24 07:57:21 -06:00
Josh Price
3d05bfa95e
improvement: SVG, PDF, PNG, Markdown and plain mermaid formats (#428) 2022-10-24 07:55:05 -06:00
Zach Daniel
3dd16304f7 improvement: optimize nested exists filter statements
i.e `exists(friends, exists(friends, name == ^name))`
will be automatically translated to `exists(friends.friends, name == ^name)`.
2022-10-23 22:16:50 -06:00
Zach Daniel
5e3b71e79b fix: properly load manual to_one relationships 2022-10-23 22:16:50 -06: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
Zach Daniel
87877e7f87 improvement: when returning a page, choose keyset if before or after was supplied
This allows for better pagination experiences because you clearly expect
an `Ash.Page.Keyset` if you are using `before/after`
2022-10-21 08:24:51 -04:00
Zach Daniel
d439ac9cbc improvement: add keysets to records if any action supports keysets
feat: add `Ash.Api.Info.depend_on_resources/1` to get the list of resources at compile time

A common desire is to have modules that validate things across Api modules, however `Ash.Api.Info.resources/1`
is not safe to use at compile time. `Ash.Api.Info.depend_on_resources/1` will set up the proper compile
time dependencies, making it safe to use at compile time
2022-10-20 21:57:51 -04:00
Zach Daniel
d1f05b6c42 fix: don't attempt to re-authorize access to already retrieved records in Api.load/2
improvement: show conditions in policy breakdowns
2022-10-20 13:00:23 -04:00
Zach Daniel
8092cd899a docs: remove more experimental warnings 2022-10-20 02:00:56 -04:00
Zach Daniel
d22cf2714b docs: remove experimental warning from manual relationships 2022-10-20 01:59:52 -04:00
zimt28
9337ed6479
feat: Custom short names for types (#423)
A compile env can be set to allow customizing the available type short names. This supports two things:

1. Adding custom type short names, like `attribute :price, :money` mapping to `MyApp.Type.Money`
2. Overriding the builtin type short names, like `attribute, :price, :string` mapping to a custom string type implementation (there is likely no reason to do this)
2022-10-19 15:24:40 -04:00
Zach Daniel
235e965627 improvement: sort relationship in order of input when managing it
This helps with things like https://github.com/ash-project/ash_phoenix/issues/57
which involve rendering the relationship value after editing it. Retaining
the order allows direct reuse without any gymnastics
2022-10-19 00:39:10 -04:00
Zach Daniel
5a11736931 docs: remove outdated @authorizers reference 2022-10-18 17:43:33 -05:00
Zach Daniel
f774e60749 fix: set defaults before running changes 2022-10-18 14:27:35 -05:00
Zach Daniel
4915e5d583 improvement: add now() to expression syntax 2022-10-18 14:19:28 -05:00
Zach Daniel
8474e60828 chore: more livebook cleanup 2022-10-17 11:04:28 -05:00
Zach Daniel
a365103087 clean up livebook/mermaid diagrams 2022-10-17 10:18:47 -05:00
Josh Price
3f572c65a2
feat: basic livebook generator and mix task (#420) 2022-10-17 08:52:24 -05:00
Zach Daniel
ce35d41ed1 improvement: don't eager evaluate type/2 2022-10-17 08:27:31 -05:00
Zach Daniel
f3a1ee2364 chore: add back private_vars for InvalidAttribute 2022-10-17 08:00:29 -05:00
Josh Price
7db6aa049c
feat: mermaid class diagram mix task (#417) 2022-10-16 19:37:24 -05:00
Josh Price
bb86a13323
docs: refactor diagram, fix doc typos and formatting (#419) 2022-10-16 19:36:37 -05:00
Zach Daniel
6751afc683 improvement: support depending on requests that will be added
docs: improve flow docs

closes: #418
improvement: support dynamic action steps in `Ash.Flow`
2022-10-16 14:07:57 -05:00
Zach Daniel
652342c41d docs: remove the word simply from the docs 2022-10-15 10:16:38 -05:00
Zach Daniel
1e6be17618 fix: properly lateral join when possible
improvement: add `prepend?: true` option to sort
fix: use `prepend?: true` when applying relationship sorts
fix: don't miss dependencies in flow diagrams
improvement: use `simple_equality?/0` to allow for optimized equality checking
2022-10-15 00:03:03 -05:00
Josh Price
5c5ef1976c
refactor: simplify mermaid mix tasks (#416) 2022-10-14 09:32:44 -04:00
Zach Daniel
0534518a35 fix: fix deps finding in flow charts & flows 2022-10-14 01:17:52 -04:00
Josh Price
d1a49276b8
improvement: mermaid mix task for ER diagrams (#415) 2022-10-14 01:07:05 -04:00
Zach Daniel
362180190c fix: properly load calcs/aggs on manual relationships
It needs to be optimized, but it will do the trick for now.
2022-10-13 00:36:29 -04:00
Zach Daniel
48d96fc417 fix: properly load nested manual relationships 2022-10-12 21:30:48 -04:00
Zach Daniel
bd9660503d chore: key private ets tables by the table name 2022-10-12 15:52:59 -04:00
Zach Daniel
7f07f0d173 improvement: try to resolve flaky tests by not using named tables for private ets resources 2022-10-12 15:26:43 -04:00
Zach Daniel
7f209495c3 improvement: better unknown error handling 2022-10-12 14:52:55 -04:00
Rebecca Le
491c88cacd
fix: allow overriding validation message on a list of errors (#412) 2022-10-12 11:44:32 -04:00
Zach Daniel
bbaae20507 fix: reraise errors on task error
chore: remove dead code
2022-10-11 14:31:08 -04:00
Frank Dugan III
62805fcce9
improvement: allow passing query or changeset in can/can?/4 (#410) 2022-10-10 11:50:13 -04:00
Zach Daniel
ae8e0e356b fix: don't show dependencies for run_flow steps in expanded view(they are duplicates) 2022-10-10 01:28:32 -04:00
Zach Daniel
ecd30d944d fix: handle upsert_identity better with ets/mnesia 2022-10-09 22:01:09 -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
Zach Daniel
8d2e9204dd fix: always set source on attributes 2022-10-07 15:45:39 -04:00
Zach Daniel
06d60a3e4e improvement: add type function to ash core 2022-10-07 15:31:39 -04:00
zimt28
fc4c60b125
improvement: Allow a single where condition for validations (#407) 2022-10-07 11:24:04 -04:00
Zach Daniel
b20c4afd9b improvement: haltable flows, branch step type
fix: fix chart links rendering
2022-10-06 17:04:44 -04:00
Ali Ahmed
0b7db5f3fb
feat: list arguments for resource actions in class diagrams (#399) 2022-10-06 02:04:21 -04:00
Zach Daniel
41b4b7fdbb improvement: simplify async task strategy
We now only start tasks once the synchronous work is done as anything
synchronous should be fast, generally.

Additionally, if there is only one task that we are about to start,
we can be confident that all we're going to do is wait for it,
so we can simply run it synchronously
2022-10-06 01:54:44 -04:00
Zach Daniel
a93a89a717 fix: make loading?/2 know about calcs and aggs 2022-10-06 00:12:45 -04:00
Zach Daniel
787cbad605 fix: properly set source on attributes 2022-10-05 20:25:18 -04:00
Zach Daniel
c591bf6746 improvement: clean up new create authorization simplification 2022-10-05 20:08:36 -04:00
Zach Daniel
be68aa041b improvement: remove the need for SetTypes 2022-10-05 19:32:47 -04:00
Frank Dugan III
e805d2a9c4
fix: policy fixes from pair session (#403) 2022-10-05 19:25:12 -04:00
Zach Daniel
3dfabb8879 improvement: add some info to policy errors 2022-10-05 17:48:22 -04:00
Zach Daniel
978e3ef6f0 improvement: experimental support for calcualtions accepting expression arguments 2022-10-05 15:02:45 -04:00
Zach Daniel
0efad5ae4e improvement: various Ash.Flow improvements, including returning the new Ash.Flow.Result 2022-10-04 16:21:38 -04:00
George Rodrigues
1f685a1413
docs: fix typos (#402) 2022-10-04 16:01:42 -04:00
Zach Daniel
c24d8e6d21 Revert "fix: switch from no_depend_modules in most places"
This reverts commit 650d8920e4.
2022-10-04 11:22:24 -04:00
Zach Daniel
03803734f3 fix: don't evaluate expressions incorrectly after casting 2022-10-04 04:10:35 -04:00
Zach Daniel
f60cc5b43d fix: add back in new/2 to Changeset 2022-10-04 01:58:27 -04:00
Zach Daniel
008e3a3751 docs: update docs for Ash.Changeset.new 2022-10-04 01:31:22 -04:00
Zach Daniel
dd6fd1fbc3 improvement: allow select/load callbacks for calcs to return irrelevant keys
test: add a test case for nested required calculations
2022-10-04 00:22:40 -04:00
Zach Daniel
e7847501f7 fix: properly load nested calcs 2022-10-04 00:11:54 -04:00
Zach Daniel
650d8920e4 fix: switch from no_depend_modules in most places 2022-10-03 21:47:45 -04:00
Zach Daniel
ab5cffa371 improvement: optimize load equality matching by not using Comp 2022-10-03 16:35:02 -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
SpaceEEC
14a1b92963
feat: show_private? option for diagrams (#396) 2022-10-03 11:30:10 -04:00
Zach Daniel
2c685a6a2e fix: properly display compare/2 error message 2022-10-02 20:56:18 -04:00
Zach Daniel
c53eae58cd improvement: support zero argument functions in compare/2 2022-10-02 20:46:30 -04:00
Zach Daniel
329dfed138 fix: use the short type for aggregate types 2022-10-01 22:33:08 -04:00
Zach Daniel
ade0031081 fix: kind_to_type/2 returns tagged tuple 2022-10-01 22:25:49 -04:00
Josh Price
3d2f8277ad feat: generate mermaid entity relationship diagrams from a given api (#376) 2022-10-01 22:22:00 -04:00
Zach Daniel
95a4aa3708 improvement: optimize for relates_to_actor_via 2022-09-30 15:13:04 -04:00
Zach Daniel
8dca72c49d chore: fix mix tasks list 2022-09-29 16:26:46 -04:00
Zach Daniel
6f14cf0263 docs: add mix_tasks to doc_index 2022-09-28 20:59:47 -04:00
Zach Daniel
0e13456eb0 improvement: optimize relates_to_actor_via checks 2022-09-28 20:37:19 -04:00
Zach Daniel
6c94e5e578 chore: ensure calc module compiled (shouldn't have to do this) 2022-09-28 18:00:51 -04:00
Zach Daniel
fec01e32fa chore: log at_path in exists error message 2022-09-28 16:56:13 -04:00
Zach Daniel
fdbc5faeea fix: use at_path when parsing Exists 2022-09-28 16:49:11 -04:00
Zach Daniel
b12b5e34bb fix: properly require a condition of a following bypasses 2022-09-28 16:38:32 -04:00
Zach Daniel
6a172cce18 fix: don't transform == nil to is_nil automatically 2022-09-28 12:32:02 -04:00
Zach Daniel
68d0e8f55d fix: pass path down to keyword list errors 2022-09-28 01:52:41 -04:00
Zach Daniel
24bdf9058e improvement: catch more cases in preflight authorization checks 2022-09-27 14:58:48 -04:00
Zach Daniel
bc6daa56dd fix: bad pattern in filter.ex, fix dialyzer 2022-09-27 14:08:29 -04:00
Zach Daniel
8f1a43419b fix: attempt to evaluate filter checks for strict checks
closes: #385
2022-09-26 20:41:53 -04:00
Zach Daniel
f629de6808 fix: only return errors when there actually are errors 2022-09-26 19:18:42 -04:00
Zach Daniel
716fcf7c25 fix: return an error if data_layer_query/2 is given a query with errors 2022-09-26 19:13:08 -04:00
Zach Daniel
dc83e26fd8 chore: remove debugging raise statements 2022-09-26 18:41:39 -04:00
Zach Daniel
dcc6879bc1 chore: better error message for allow_nil? belongs to primary key 2022-09-26 18:09:16 -04:00
Zach Daniel
a8bce0ab23 improvement: lazily set required loads/selects for calcs/sorts 2022-09-26 18:08:18 -04:00
Zach Daniel
fe596db0b8 improvement: reselect any necessary fields when loading calcs
docs: tons of new documentation
improvement: set context when creating related filters allowing checks like `filtering_on`
2022-09-25 23:58:05 -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
8f3e388c27 fix: ensure fields selected in-line when loading calcs 2022-09-23 10:44:29 -04:00
Zach Daniel
8031f1b698 improvement: any filter being statically true means :authorized 2022-09-22 21:06:57 -04:00
Zach Daniel
fbcd745401 improvement: properly mark conditions w/ access_type
fix: handle statically false conditions in filter logic
2022-09-22 21:03:33 -04:00
Zach Daniel
ac30194601 improvement: use IsNil instead of Eq when either side is nil 2022-09-22 18:27:05 -04:00
Zach Daniel
621cb6854e improvement: handle string dates for embeds 2022-09-22 09:42:16 -04:00
Zach Daniel
d4a6feb589 fix: cast embedded datetimes properly 2022-09-22 03:00:06 -04:00
James Harton
479b09951c
fix(Ash.Calculation): fix return type for load/3 callback. (#384) 2022-09-22 00:44:09 -04:00
Zach Daniel
7ef2f4884c improvement: remove __timestamps__ in favor of simpler macro
docs: add extending resources guide
2022-09-21 18:49:59 -04:00
Zach Daniel
739bf52309 fix: warn instead of raise on :replace usage
fix: handle var_args expression with literal args
2022-09-21 13:00:12 -04:00
Zach Daniel
5994c1b51f chore: fix dialyzer, add embedded resources guide back 2022-09-21 12:20:00 -04:00
Zach Daniel
48bcf1ca1f chore: relate_and_unrelate -> append_and_remove everywhere 2022-09-20 22:50:03 -04:00
Zach Daniel
980779fa7d fix: fix replace_relationship type 2022-09-20 22:38:08 -04:00
Zach Daniel
b4766d1ccc chore: set typespec to proper return value 2022-09-20 20:00:30 -04:00
Zach Daniel
39b143e19e chore: undo typespec that is complaining for some reason 2022-09-20 19:48:45 -04:00
Zach Daniel
1f6fb8d7af chore: fix tests 2022-09-20 19:44:04 -04:00
Zach Daniel
3903e36d29 improvement: update to latest spark, support dsls in resource info 2022-09-20 16:09:40 -04:00
Zach Daniel
87f20369bc improvement: deprecate :replace in favor of :relate_and_unrelate 2022-09-19 15:44:06 -04:00
Zach Daniel
2ca0f09444 improvement: add loading?/1 query helper
improvement: add `loading/1` built in check
2022-09-19 10:14:08 -04:00
Zach Daniel
bee3a6ea09 fix: properly handle args/nested expression for tuple calcs 2022-09-16 03:54:17 -04:00
Zach Daniel
003ba3246b fix: add a case for calculations as tuples in expr filters 2022-09-16 03:47:12 -04:00
Zach Daniel
cc5c1b69c0 fix: return count, not {:ok, count} 2022-09-15 17:12:40 -04:00
Zach Daniel
301d5b56d9 fix: bad return value when async fetching counts 2022-09-15 17:06:56 -04:00
Zach Daniel
405019d33b fix: remove dbg() call 2022-09-15 16:54:58 -04:00
Zach Daniel
da282d1193 docs: hide a function from docs 2022-09-15 16:52:06 -04:00
Zach Daniel
266ecc8249 fix: nil casts as any type (sort of) 2022-09-15 02:15:23 -04:00
Zach Daniel
1b2d351721 fix: return nil on nil inputs for length/1 2022-09-15 02:12:51 -04:00
Zach Daniel
d7b446bc7f fix: properly reraise errors raised in tasks 2022-09-15 02:08:30 -04:00
Zach Daniel
f084d346ad fix: properly return errors from tasks 2022-09-15 01:09:12 -04:00
Zach Daniel
2c2c207e68 fix: use Comp.equal?/2 when finding loaded data matches 2022-09-15 00:55:04 -04:00
Darren Black
865d028667
chore: Guard length function for invalid input (#380) 2022-09-15 00:10:01 -04:00
Zach Daniel
a5f51e8f1b fix: properly error on types when evaluating expressions at runtime 2022-09-14 22:31:32 -04:00
Zach Daniel
4b88300e00 fix: properly surface errors all the way from runtime filters 2022-09-14 20:05:51 -04:00
Zach Daniel
3baf2b8c97 fix: properly catch errors when running expressions at runtime 2022-09-14 19:50:07 -04:00
Darren Black
a572099e24
improvement: Implement length function (#379) 2022-09-14 13:28:42 -04:00
Zach Daniel
08642b9123 chore: update typespec for attribute 2022-09-14 13:20:24 -04:00
Zach Daniel
2dae8ffa44 improvement: validate aggregate paths supported 2022-09-13 16:24:55 -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
Zach Daniel
4260b9a1c9 fix: inspect the match for default message 2022-09-13 13:53:05 -04:00
Zach Daniel
827548f737 chore: fix typespec for aggregate_type/2 2022-09-12 13:43:18 -04:00
Zach Daniel
f583ababbc fix: fix keyset pagination ordering bug
fix: short names are snake cased
2022-09-12 11:17:44 -04:00
Zach Daniel
d32efadb62 improvement: add aggregate_type/2 helper 2022-09-12 11:17:44 -04:00
Zach Daniel
5c81d2b4a7 fix: properly do pagination
docs: fix some docs, add some guides
2022-09-11 22:19:37 -04:00
Zach Daniel
3644d05cd6 Revert "improvement: make two queries for full keyset pagination support"
This reverts commit 64b3312cb9.
2022-09-11 18:35:02 -04:00
Zach Daniel
8c7ddf703c chore: warnings 2022-09-11 16:10:11 -04:00
Zach Daniel
64b3312cb9 improvement: make two queries for full keyset pagination support
docs: add store context in process guide
2022-09-11 16:07:21 -04:00
Zach Daniel
fbebcf6670 fix: handle pins in exists 2022-09-07 17:53:18 -04:00
Zach Daniel
1c1c375d66 fix: add better error for exists/2 2022-09-07 17:15:18 -04:00
Zach Daniel
f381014fd1 fix: use root_resource for related path in filter 2022-09-07 17:00:16 -04:00
Zach Daniel
9ddc2aeb0d fix: set root_resource in exists parsing 2022-09-07 16:26:49 -04:00
Zach Daniel
ac60cda9ac docs: add docs for all builtins 2022-09-07 15:03:09 -04:00
Zach Daniel
0368c1a8da fix: error fetching relationships in filter expressions
docs: more docs on upgrade/policies guide
2022-09-07 12:53:29 -04:00
Zach Daniel
12c46a8da9 fix: filter check typespecs
docs: add docs on `expr/1` policies and using `exists/2`
2022-09-06 22:38:56 -04:00
Zach Daniel
171b7bbdf3 fix: runtime filter handle new relationship shape 2022-09-06 18:17:36 -04:00
Zach Daniel
619adcee93 improvement: add exists/2 expression 2022-09-06 18:02:01 -04:00
Zach Daniel
b98dc5ffd5 docs: update moduledocs and types 2022-09-04 00:56:41 -06:00
Zach Daniel
9ac4eafb87 fix: the semantics of forbid_unless were not wrong
docs: remove some formatting
2022-09-04 00:53:52 -06:00
Zach Daniel
31d1d925ef fix: forbid_unless expression compilation
docs: add some more expression template docs
fix: fix runtime filter join simulation for multiple rows
2022-09-03 21:34:55 -06:00
Zach Daniel
5134673fed chore: fix tests 2022-08-31 10:51:12 -06:00
Zach Daniel
4c90ab5d1f chore: fix ets test 2022-08-30 17:00:45 -06:00
Zach Daniel
c380cc1a14 docs: sanitize things for docs 2022-08-30 16:45:55 -06:00
Zach Daniel
bf67aef99f chore: bump pre version
fix: typo in dsl
2022-08-30 12:37:43 -06:00
Zach Daniel
1ff91f303d improvement: update ash docs 2022-08-30 12:27:03 -06:00
Zach Daniel
696f7ca82a fix: small fix to get_path
improvement: support `read_action` in embeddable types, and optimize loading
docs: more documentation
2022-08-30 11:18:10 -06:00
Zach Daniel
85b2d0d50c chore: fix lint 2022-08-30 02:23:13 -06:00
Zach Daniel
ae3f4290d2 docs: update pub_sub example 2022-08-30 02:22:46 -06:00
Zach Daniel
834d99c57e fix: runtime filter checking is unknown for non-selected values
docs: tons of work on docs/guides
2022-08-30 02:22:15 -06:00
Zach Daniel
005bb3ea3c fix: typo on private -> private? 2022-08-29 08:57:52 -06:00
Zach Daniel
54deb28d2e fix: make private:0 overridable 2022-08-29 08:57:25 -06:00
Zach Daniel
89c7f15b85 fix: always select always_select? fields
improvement: add `private?/0` callback to functions
docs: reword some docs
2022-08-29 08:54:11 -06:00
Zach Daniel
7930e3efa1 fix: don't fail to build Phoenix.Socket.Broadcast 2022-08-29 08:05:12 -06:00
Zach Daniel
5924833c1d fix: use ensure_compiled/1 to detect Phoenix.Socket.Broadcast 2022-08-28 22:39:51 -06:00
Zach Daniel
6c40747320 improvement: options for prepending/appending hooks
docs: guides improvements
2022-08-28 19:27:44 -06:00
Zach Daniel
b181a8d4cf improvement: add flow chart generator 2022-08-28 19:27:44 -06:00
Zach Daniel
a262e58ffb fix: validate args in the proper order 2022-08-28 19:27:44 -06:00
Zach Daniel
1bb3468851 improvement: add tracing and telemetry 2022-08-28 19:27:44 -06:00
Zach Daniel
caf9a2340e fix: various issues w/ over/under-selecting data 2022-08-28 19:27:44 -06:00
Zach Daniel
2e6ec5b8b4 docs: total docs reorg 2022-08-28 19:27:44 -06:00
Zach Daniel
603f845952 chore: update spark 2022-08-28 19:27:44 -06:00
Zach Daniel
e37f62284b chore: update doc links 2022-08-28 19:27:44 -06:00
Zach Daniel
0b7f48b7c2 fix: string goes before ci_string in function typings always 2022-08-28 19:27:44 -06:00
Zach Daniel
c7640abfef improvement: better scope simple data layer context
docs: better language around simple data layer in getting started guide
2022-08-28 19:27:44 -06:00
Zach Daniel
feee4516bc fix: properly halt in ets dump_to_native reducer 2022-08-28 19:27:44 -06:00
Zach Daniel
d7a9ff7996 improvement: move docs out of priv, update spark 2022-08-28 19:27:44 -06:00
Zach Daniel
f678c585d6 WIP: on guides 2022-08-28 19:27:44 -06:00
Zach Daniel
87eca9fdcd fix: use proper link identifier 2022-08-28 19:27:44 -06:00
Zach Daniel
edb0887d19 fix: section link format error 2022-08-28 19:27:44 -06:00
Zach Daniel
8786df69f3 fix: fix section docs format 2022-08-28 19:27:44 -06:00
Zach Daniel
a806cac2e2 fix: properly list entries for ensuring no embeds 2022-08-28 19:27:44 -06:00
Zach Daniel
f50484cf98 fix: properly get entries registry DSL structure 2022-08-28 19:27:44 -06:00
Zach Daniel
b5796ff65b fix: typo in rebase 2022-08-28 19:27:44 -06:00
Zach Daniel
6d98b78227 improvement: unlock flow
improvement: pagination as a DSL
improvement: don't block engine on async tasks
2022-08-28 19:27:44 -06:00
Zach Daniel
f9941a6c75 improvement: update spark, use new transformer style 2022-08-28 19:27:44 -06:00
Zach Daniel
656bd22085 docs: docs and links for everything 2022-08-28 19:27:44 -06:00
Zach Daniel
8f2c74da74 docs: fix docs for check/4 2022-08-28 19:27:44 -06:00
Zach Daniel
04744f395f improvement: move functions to more conventional places
improvement: move ash.formatter task to `spark.formatter`
2022-08-28 19:27:44 -06:00
Zach Daniel
6c79519b6c improvement: make long-awaited DSL name changes 2022-08-28 19:27:44 -06:00
Zach Daniel
44adc9a1b8 improvement: upgrade spark, move to its formatter 2022-08-28 19:27:44 -06:00
Zach Daniel
a5f616812b improvement: replace Ash DSL underpinnings with Spark 2022-08-28 19:27:44 -06:00
Zach Daniel
8a87e7c891 fix: don't try to use record as input when updating embed 2022-08-28 18:51:43 -06:00
Zach Daniel
bb4a3b34b3 fix: fix read! typespec 2022-08-24 12:50:26 -04:00
Zach Daniel
18515dd82a fix: don't raise random error :| 2022-08-24 12:00:17 -04:00
Zach Daniel
91d3bf314a fix: properly handle "bare" references, and track it for potential later use 2022-08-24 11:54:12 -04:00
Zach Daniel
80833c3f58 improvement: handle the case where managed relationship input is an embed 2022-08-22 19:48:22 -04:00
Zach Daniel
584a927776 improvement: add value_is_key option for managed relationships 2022-08-22 12:26:31 -04:00
Darren Black
548247a8b7
fix: False default value for argument is nil in changeset (#364) 2022-08-22 10:41:25 -04:00
Zach Daniel
3a69b3104e fix: ignore belongs_to in preflight attribute check 2022-08-17 20:58:11 -04:00
Mike Buhot
150f7178b8
improvement: Replace usage of Timex.shift with builtin Calendar functions (#362) 2022-08-17 19:18:03 -04:00
Zach Daniel
86e171bae9 fix: clean up relationship validation logic 2022-08-17 14:40:20 -04:00
Zach Daniel
91129aac8a fix: clean up logic around preflight belongs_to validation 2022-08-17 14:12:53 -04:00
Zach Daniel
917131c21f improvement: handle required but not accepted values better 2022-08-17 12:58:43 -04:00
Darren Black
c21c5e6ae7
docs: Fix little documentation typo (#361) 2022-08-15 12:29:38 -04:00
Zach Daniel
73124c43fd docs: more DSL docs, create shell guides 2022-08-14 12:49:21 -04:00
Zach Daniel
3bcf731eea fix: persist a nil actor properly 2022-08-09 21:32:32 -04:00
Zach Daniel
b9675295e6 improvement: support authorize? as a changeset option 2022-08-09 20:25:43 -04:00
Zach Daniel
a4770e35fd fix: propery set authorize?: false on runtime filter 2022-08-08 09:56:17 -04:00
Zach Daniel
6f233cd905 chore: remove IO.inspect 2022-08-08 09:47:11 -04:00
Zach Daniel
817336eefc fix: explicitly don't authorize the runtime filter authorization logic 2022-08-08 09:30:44 -04:00
Zach Daniel
dff0c6fc45 fix: fix eager function/operator evaluation 2022-08-07 21:46:35 -04:00
Zach Daniel
234cdc2517 fix: scrub values properly, same as last bug 2022-08-07 20:23:50 -04:00
Zach Daniel
d03915b194 fix: map update bug when sanitizing boolean expressions 2022-08-07 19:46:01 -04:00
Zach Daniel
8a2208601c improvement: add actor_present policy 2022-08-07 01:16:50 -04:00
Zach Daniel
fe12f40056 fix: fixs runtime filter fallbacks
improvement: add `error?` option to get
2022-08-05 11:58:01 -04:00
Zach Daniel
6aaab781e0 chore: remove debug logs 2022-08-04 16:55:53 -04:00
Zach Daniel
10f2b14d97 improvement: fix various operator evaluators
docs: improve docs
2022-08-04 16:50:56 -04:00
Zach Daniel
c8628066de fix: (attempt) to fix calc loading issue 2022-08-03 11:13:02 -04:00
Zach Daniel
f823e35f7d fix: actually use warn_on_empty? config 2022-08-01 19:23:16 -04:00
Zach Daniel
32bab0959d chore: add moduledocs for WarnOnEmpty 2022-08-01 14:52:56 -04:00
Zach Daniel
c0404af740 improvement: add warnings to DSL transformer returns
improvement: warn on empty registries

closes #359
2022-08-01 14:43:38 -04:00
Zach Daniel
285c7db5be docs: small docs updates 2022-07-26 02:46:01 -04:00
Zach Daniel
d94ebf8883 docs: fix guide links 2022-07-25 21:14:32 -04:00
Zach Daniel
a07b8bb2f6 docs: properly format links 2022-07-25 18:53:37 -04:00
Zach Daniel
ca9c80b6b0 improvement: better sanitization around sensitive attributes in filters
docs: general doc improvements
2022-07-25 18:47:30 -04:00
Zach Daniel
0b18be167e docs: improve docs/small error message tweak 2022-07-25 15:56:52 -04:00
Zach Daniel
951c3051b9 fix: check for actor on query/changeset for actor context 2022-07-22 15:21:11 -04:00
zimt28
d24888b0eb
docs: update authorization section examples. 2022-07-22 14:26:26 -04:00
Zach Daniel
026ac43493 fix: pass actor opt down 2022-07-22 00:59:34 -04:00
Zach Daniel
347907029b improvement: change always_authorize? to authorize for multiple options 2022-07-21 22:23:18 -04:00
Zach Daniel
22a598d6d6 fix: don't skip setting tenant when actor is present 2022-07-21 18:24:57 -04:00
Zach Daniel
6c277a1a59 fix: don't use apply/3 on kernel macros 2022-07-21 14:02:56 -04:00
Zach Daniel
552af4b665 fix: small bug in DSL transformer manipulation. 2022-07-21 14:01:44 -04:00
Zach Daniel
331d0cf66c fix: && and || don't short-circuit to nil 2022-07-20 15:46:14 -04:00
Zach Daniel
7b9861dc2c fix: {:ok, _} -> {:known, _} when evaluating operators 2022-07-20 15:44:03 -04:00
Zach Daniel
8036c268d6 fix: fix bad evaluation case for operators 2022-07-20 15:12:37 -04:00
Zach Daniel
ebef8057c8 improvement: add error message for manual action missed 2022-07-20 13:38:26 -04:00
Zach Daniel
75ca760c9f fix: ensure we only take unique related records when lazy loading 2022-07-20 01:12:53 -04:00
Zach Daniel
98a64577d9 improvement: add || and && operators
improvement: sort parsing helpers
test: fix flaky test
2022-07-19 19:15:23 -04:00
Zach Daniel
8f23cc71fb improvement: add Ash.Sort.parse_input!/2 2022-07-19 13:34:01 -04:00
zimt28
81c085b9a3
improvemtn: Add accept_default option (#351)
* Add accept_default option
2022-07-19 10:03:23 -04:00
Zach Daniel
fe27a7f61b improvement: add transfer_context/1 and get_context_for_transfer/0 2022-07-19 09:59:57 -04:00
Zach Daniel
c9f20f1488 improvement: add process-based actor, tenant and query/changeset context
improvement: add `always_authorize?` and `require_actor?` to api config
2022-07-19 00:49:05 -04:00
zimt28
bc05fb5b47
Deprecate option type helper (#352) 2022-07-18 15:22:17 -04:00
Zach Daniel
e83fcf13fb fix: use Map.get/2 when getting paths if the value is a struct 2022-07-15 22:02:59 -04:00
Zach Daniel
594698986e improvement: support paths in actor/1 2022-07-15 21:42:30 -04:00
Zach Daniel
e86887b8b8 improvement: add default guide to doc_index 2022-07-14 11:41:20 -04:00
Zach Daniel
611603c7d3 docs: add info for can/4 2022-07-14 10:45:55 -04:00
Frank Dugan III
3776af9f85
feat: add can?/4 policy utility (#349)
* feat: add can?/4 policy utility

* refactor: change defaults and add can/4

* refactor: add typespecs, rename test
2022-07-14 10:05:51 -04:00
Zach Daniel
a023aaff95 fix: make mnesia and ets work properly when sharing tables
fix: make updates properly merge with mnesia and ets
fix: `attribute_writable?` also makes it public
2022-07-13 15:05:55 -04:00
Zach Daniel
5a4a3009d9 docs: update seed docs on __keep_nil__ 2022-07-12 01:26:13 -04:00
Zach Daniel
ba559936d8 improvement: code_interface optional arguments
test: add some load tests
2022-07-11 22:59:51 -04:00
Zach Daniel
0f3521b2f4 improvement: improve behavior of lazy?: true option
before, any calculation that determined that it needed to load
would always load its dependencies, but now if they are already loaded
then dependencies won't be reloaded
2022-07-11 21:31:50 -04:00
Zach Daniel
a9f93c1ca3 chore: ignore unnecessary sobelow error 2022-07-10 23:45:26 -04:00
Zach Daniel
4d3c393342 docs: small docs tweaks, more modules 2022-07-10 23:39:57 -04:00
Zach Daniel
b7a9cd33ac chore: typo in doc index 2022-07-10 17:05:03 -04:00
Zach Daniel
46a6bb407d chore: docs in priv/ 2022-07-10 16:06:22 -04:00
Zach Daniel
0b158ca487 docs: work on DSL documentation 2022-07-10 15:05:09 -04:00
Maciej Malecki
9707b4b7fe
Use a proper operator in the attribute_does_not_equal validation (#348)
Previously, it was using `if current != expected do raise` while it
needs to do the opposite. Also, simplify the logic by making `update`
work in the same way as `create` (compare upcoming value - not the
original one).
2022-07-07 14:12:32 -04:00
Zach Daniel
f2bf8bccac improvement: add back in DSL docs 2022-07-06 08:37:00 -04:00
Zach Daniel
40904cae80 fix: add back in writable? option to relationships, and add attribute_writable? to belongs_to 2022-07-06 08:30:13 -04:00
Zach Daniel
394e2d089a improvement: add match_other_defaults? to attribute 2022-07-05 10:18:50 -04:00
Zach Daniel
b71aa3ddeb fix: don't rescue arbitrary exception/exits 2022-07-05 09:32:06 -04:00
Zach Daniel
ac4590a0ca improvement: remove relationship writability, as it all happens through arguments now
improvement: repurpose `writable?` on `belongs_to` to make the attribute writable
2022-07-05 08:16:38 -04:00
Zach Daniel
15cd3fb7bc fix: fix return type for dump/3 ecto type 2022-06-30 22:10:37 -04:00
Zach Daniel
dd3b261a69 chore: update error types in Ash.Type 2022-06-30 22:00:24 -04:00
Zach Daniel
8cc6d014e7 fix: load/3 returns {:ok, value} | :error 2022-06-30 13:31:57 -04:00
Zach Daniel
0d9f075c0d fix: ensure type is always set on attributes
docs: add more policy docs
2022-06-28 15:16:29 -04:00
Zach Daniel
f718ee94e7 improvement: new timeout error message and test it 2022-06-27 15:57:30 -04:00
Zach Daniel
5d269d046e fix: don't try to read files that don't exist 2022-06-27 13:36:58 -04:00
Zach Daniel
ef3d1ea398 improvement: Ash.Generator 2022-06-21 21:00:47 -04:00
Zach Daniel
1d50c7aa79 improvement: add Ash.Seed module with seed helpers 2022-06-20 17:01:28 -04:00
Zach Daniel
118f62b55e fix: bad return value for destroy! + return_notifications?: true 2022-06-18 22:46:08 -04:00
Zach Daniel
19fe132717 improvement: add basic type handling for non embedded resources 2022-06-17 15:12:14 -04:00
Zach Daniel
70c6bd64ee improvement: better transformer ordering error
chore: docs
2022-06-17 10:00:04 -04:00
Zach Daniel
1df97999f4 fix: use digraph to order transformers 2022-06-16 04:10:32 -04:00
Zach Daniel
1b6fc035af chore: remove unnecessary change 2022-06-16 02:51:48 -04:00
Zach Daniel
6aa0c0b591 fix: things breaking due to stricter expectations on type function inputs 2022-06-16 01:57:04 -04:00
Zach Daniel
9a60877f22 chore: simplify is?/2 2022-06-16 00:55:07 -04:00
Zach Daniel
0804ad6e85 improvement: don't pay massive costs of a function undefined error 2022-06-16 00:50:02 -04:00
Zach Daniel
abf25dafbb fix: depend on all entries in registry 2022-06-14 20:30:13 -04:00
Zach Daniel
329accd565 improvement: optimize related resource inclusion check 2022-06-14 15:42:38 -04:00
Zach Daniel
5b0a5d238b fix: don't disable lexical tracker for extensions 2022-06-14 14:39:17 -04:00
Zach Daniel
56656deda4 fix: properly set the changed? context 2022-06-10 10:09:49 -04:00
Zach Daniel
4b57bcc8c7 improvement: add resource to notification warning 2022-06-10 09:52:07 -04:00
Zach Daniel
e19ca1ec66 fix: always return all notifications if return_notifications?: true 2022-06-09 13:52:32 -04:00
Zach Daniel
084b998cab improvement: add config :ash, :pub_sub, debug?: true 2022-06-09 11:00:53 -04:00
Zach Daniel
ae823e3539 improvement: add from to notification, and notification_metadata to api 2022-06-08 13:16:42 -04:00
Zach Daniel
74dc200c01 docs: more work on docs 2022-06-07 15:31:09 -04:00
Zach Daniel
dd3b212008 chore: try escaping html 2022-06-07 15:07:11 -04:00
Zach Daniel
df14b30a8a docs: add Ash.DocIndex to doc index 2022-06-07 15:04:42 -04:00
Zach Daniel
ff890e4654 docs: more work on doc replacements/info 2022-06-07 14:57:30 -04:00
Zach Daniel
b0e58ab57d docs: fix route for overview 2022-06-05 15:06:01 -04:00
Zach Daniel
dc2f57423b fix: read file at compile time for doc index 2022-06-05 14:42:03 -04:00
Zach Daniel
091251869f chore: reorder overview 2022-06-05 14:28:51 -04:00
Zach Daniel
dc14f4016a chore: fix guide reference 2022-06-05 13:45:54 -04:00
Zach Daniel
74a1a6c97c docs: work on docs + link structure 2022-06-05 13:05:10 -04:00
Zach Daniel
ae65d09373 docs: work on docs structure 2022-06-05 12:13:29 -04:00
Zach Daniel
0d7eac7829 chore: fix typespec 2022-06-04 17:05:49 -04:00
Zach Daniel
a626f8d92d fix: when casting atom -> string, stringify it first
*duh*
2022-06-03 20:35:36 -04:00
Zach Daniel
bdfdc778e0 fix: move preparation init to runtime 2022-06-02 23:53:38 -04:00
Zach Daniel
571c138140 improvement: add identity_priority and use_identities option to manage_relationship 2022-06-02 02:08:36 -04:00
Zach Daniel
f8164f6745 improvement: support limit in simple data layer 2022-06-01 23:54:01 -04:00
Zach Daniel
393dd7326f fix: don't automatically url encode keyset values 2022-05-31 12:18:52 -04:00
Simon Bergström
71884dfa5f
fix: fixed bug wher embedded resources would always provide defaults, not allowing you to declare your own (primary?) actions (#339) 2022-05-31 11:58:56 -04:00
Zach Daniel
93424fd16a fix: keyset pagination counts all rows 2022-05-31 11:56:15 -04:00
Zach Daniel
6d0cbec244 fix: fetch items closest to cursor by reversing keyset sort 2022-05-31 11:17:14 -04:00
Zach Daniel
669c98b379 fix: keyset + before results must be reversed 2022-05-31 10:34:35 -04:00
Theo Harris
021d859990
docs: Fix code block that wrapped non-code text (#341) 2022-05-31 10:19:10 -04:00
Theo Harris
4aac381cb1
docs: Add clarifying language around the use of the Enum module (#340) 2022-05-31 10:18:42 -04:00
Zach Daniel
067228980e improvement: add key to InvalidKeyset error 2022-05-30 16:41:49 -04:00
Zach Daniel
7a0cfd3ab1 improvement: better error message on invalid keyset
closes #336
2022-05-30 16:32:17 -04:00
Zach Daniel
cc82a1a0cb chore: WIP on documentation push 2022-05-30 15:57:56 -04:00
Zach Daniel
225d4289f6 chore: format 2022-05-28 21:21:36 -04:00
Simon Bergström
4273a5d23a
improvement: added options to the built-in function relate_actor/1 (#332) 2022-05-28 21:21:14 -04:00
Zach Daniel
02b1194062 chore: fix tests/transformers 2022-05-28 11:22:43 -04:00
Zach Daniel
8b10b892ef improvement: add :_pkey shortcut in pub_sub
improvement: validate `pre_check_with` is set for ets/mnesia identities
improvement: clearer and raised error message on changeset action mismatch
2022-05-28 11:12:08 -04:00
Zach Daniel
915209da8f improvement: accept atoms when casting strings 2022-05-25 17:49:48 -04:00
Zach Daniel
3f85d019de chore: some options helper improvements/docs 2022-05-25 12:23:16 -04:00
Zach Daniel
129c3d33e9 fix: rename interval to duration_name 2022-05-23 16:20:02 -04:00
Theo Harris
9b5c713bcd
docs: Spelling fixes, add :upsert_identity example (#327)
* Minor spelling fixes, :upsert_identity example

* Grammatical tweaks in API docs

* Adjust phrasing, consistent formatting
2022-05-20 10:25:23 -04:00
Zach Daniel
ddde776fd0 improvement: specify that upserts could be related at creation 2022-05-20 09:55:17 -04:00
Darren Black
430e6676bd
fix: Fix concat (#326) 2022-05-19 10:24:53 -04:00
Darren Black
35a19f800d
fix: Make get and get! consistent with what they raise when no record found (#325) 2022-05-18 21:37:04 -04:00
Zach Daniel
574e06b583 fix: add resource/action to policy error context 2022-05-18 15:20:05 -04:00
Zach Daniel
44a72226da fix: don't ignore lazy load option 2022-05-18 13:11:30 -04:00
Zach Daniel
64e9ecb0bc fix: return {:ok, nil} on nil cast for strings 2022-05-17 20:00:55 -04:00
Zach Daniel
d3cb202a12 chore: add ash_phoenix to sub-project tests
docs: add `Ash.Policy.Authorizer` to doc index
2022-05-17 16:34:14 -04:00
Zach Daniel
b3e0632792 improvement: move ash_policy_authorizer into core as Ash.Policy.Authorizer 2022-05-17 15:56:40 -04:00
Zach Daniel
0ec5a6d7b0 fix: run after_action in create properly 2022-05-17 12:28:15 -04:00
Zach Daniel
5e270288e6 fix: require calculations specified on resource load 2022-05-17 11:54:02 -04:00
Zach Daniel
f152b4ad36 fix: ensure that the default accept is used 2022-05-12 18:51:05 -04:00
Zach Daniel
5a674c1409 fix: distinct before limit and offset 2022-05-10 16:30:36 -04:00
Zach Daniel
f38b9b8859 improvement: work on module dependencies 2022-05-10 11:33:24 -04:00
Zach Daniel
734f2e0ac6 fix: add distinct in data_layer_query 2022-05-10 10:17:50 -04:00
Zach Daniel
7af5c3c59e chore: take distinct out where necessary 2022-05-10 10:17:02 -04:00
Zach Daniel
c71587642d chore: QoL improvements 2022-05-09 17:48:50 -04:00
Zach Daniel
92609b33ea fix: merge calculations when merging loads
closes #309
2022-05-09 17:47:17 -04:00
Zach Daniel
a39ebd5646 improvement: use new no_depend_modules everywhere 2022-05-08 23:58:06 -04:00
Zach Daniel
d29cc54725 fix: add no_depend_modules for changes/validations 2022-05-08 23:38:01 -04:00
Zach Daniel
904968b936 improvement: add no_fields? relationships 2022-05-03 18:56:37 -04:00
Zach Daniel
98a7ac06b8 fix: match on :unknown not {:ok, :unknown} 2022-04-28 20:19:23 -04:00
Zach Daniel
6e4ecc62e3 fix: run calc in data layer if it returns :unknown 2022-04-28 20:12:54 -04:00
Zach Daniel
74cc7c4ad5 fix: don't ignore lexical tracker on modules in DSL
improvement: add manual read actions
fix: don't treat single actions of a type as primary
2022-04-28 18:08:00 -04:00
Zach Daniel
f6ea11c10f fix: go back to old method of checking for resource 2022-04-27 09:49:18 -04:00
Zach Daniel
e502f51470 fix: properly load from load statement in calculations 2022-04-26 22:57:07 -04:00
Zach Daniel
989cb5d22e improvement: calculation values from requests 2022-04-26 13:02:46 -04:00
Zach Daniel
d3da724422 fix: send notifications in all cases
improvement: small optimizations
2022-04-26 00:16:28 -04:00
Zach Daniel
7a1e32908a improvement: more flow features/fixes, debug step 2022-04-25 17:01:23 -04:00
Zach Daniel
d16432750f fix: use unpaginated read when loading 2022-04-20 19:43:41 -04:00
Zach Daniel
3fc088d1fc fix: properly handle errors in mnesia transactions
improvement: work on transaction flow steps
2022-04-20 14:38:35 -04:00
Frank Dugan III
f291680622
Chore: Fix typo (#318) 2022-04-20 10:17:59 -04:00
Zach Daniel
49929de5a1 fix: default custom steps to be async?: false 2022-04-19 12:04:25 -04:00
Zach Daniel
e7c6ac0f4f fix: get tests/dialyzer passing 2022-04-19 11:29:28 -04:00
Zach Daniel
6f9f0137ec chore: release version v1.52.0-rc.1 2022-04-18 23:50:26 -04:00
Zach Daniel
0de8b7bc2c chore: add flow descriptions 2022-04-18 21:13:36 -04:00
Zach Daniel
61f250d620 improvement: load on cast_stored in embedded type 2022-04-18 17:45:10 -04:00
Zach Daniel
7dc5e54af0 improvement: add descriptions to mermaid charts/flow 2022-04-18 13:39:54 -04:00
Zach Daniel
4e19223173 improvement: tons of engine/timeout improvements 2022-04-17 23:56:01 -04:00
Josh Price
c03c3d6175
improvement: implement NaiveDateTime type (#312) 2022-04-16 22:09:44 -04:00
Josh Price
21eca98530
improvement: Improve usability of finding by primary key (ID) (#294) 2022-04-16 13:25:34 -04:00
Josh Price
6ac4a84ec9
fix: Handle date type cast_input with nil value (#311) 2022-04-16 11:12:20 -04:00
Josh Price
cf314d5a6b
improvement: Add time type matching existing date type (#310) 2022-04-16 09:31:31 -04:00
Zach Daniel
e452c40919 chore: handle non-boolean values from runtime filter 2022-04-10 20:21:36 -04:00
Zach Daniel
9f21435dbf fix: fix expression logic
improvement: flow -> mermaid chart
improvement: flow tenants
improvement: fix nested map statements in flow
2022-04-10 20:00:57 -04:00
Zach Daniel
ea1adcf230 fix: remove IO.inspect 2022-04-08 02:15:46 -04:00
Zach Daniel
25f5a27525 fix: don't throw away timeout exit 2022-04-08 02:12:41 -04:00
Zach Daniel
20a9f76c8d fix: timeouts @ the engine, not the parent process 2022-04-08 02:04:26 -04:00
Zach Daniel
24d9948ddb fix: timeout logic was timing out after the fact 2022-04-08 01:48:45 -04:00
Zach Daniel
868bb9a6e7 fix: uniqueify list_refs even further 2022-04-07 22:53:56 -04:00
Zach Daniel
c98910add6 improvement: add dynamic allow list
improvement: uniqify list_references
2022-04-07 22:33:48 -04:00
Zach Daniel
5bf8c39975 improvement: set default timeout to 30_000 2022-04-07 02:13:41 -04:00
Joe Cole
6dcbe26abe
fix: Enforce unique action names (#308)
Co-authored-by: Joe Cole <{ID}+{username}@users.noreply.github.com>
2022-04-07 01:14:07 -04:00
Zach Daniel
e23f2a705d fix: pass tenant option to requests properly
docs: work on docs
2022-04-06 23:13:21 -04:00
Zach Daniel
0309f7131e improvement: fully deprecate the resource entity 2022-04-06 13:12:22 -04:00
Zach Daniel
be9e564d57 chore: fix identity docs/tests 2022-04-06 12:22:34 -04:00
Zach Daniel
4fc53baf5f improvement: add eager validate identities
improvement: percolate `nil` values in operators in ash expresion language (like SQL)
chore: more docs work
2022-04-06 12:00:32 -04:00
Damir Vandic
3ea7dc2ec0
fix: Fix typespecs in Ash.Api (#307) 2022-04-05 18:11:40 -04:00
Zach Daniel
7c13322aa4 improvement: add return_destroyed? option 2022-04-05 12:42:50 -04:00
Zach Daniel
84ed398980 chore: docs/ci work 2022-04-05 03:59:34 -04:00
Zach Daniel
a012287c3b fix: fix resource relationship validation 2022-04-04 15:18:53 -04:00
Zach Daniel
6c523b9752 continue working on docs 2022-04-04 14:55:05 -04:00
Zach Daniel
022708c6b5 improvement: add api option to relationships
improvement: make default actions and primary actions far more explicit

this begins the official 2.0.0 work
2022-04-04 01:48:37 -04:00
Zach Daniel
8aa71c1e2c fix: fix paths for load in flow
improvement: better error messages on unknown
2022-04-02 02:39:55 -04:00
Zach Daniel
59075efa03 fix: aggregate/calculation filter issues 2022-04-01 19:08:06 -04:00
Zach Daniel
ae630581ea improvement: better loading behavior for managed relationships
improvement: add lazy? option for loading
2022-04-01 15:17:01 -04:00
Zach Daniel
e017722868 improvement: show value in atom error list 2022-03-31 20:54:06 -04:00
Zach Daniel
0db42cb76a chore: update doc index 2022-03-31 20:37:40 -04:00
Zach Daniel
9bdd496688 improvements: remove no_modify? from read 2022-03-30 17:42:07 -04:00
Zach Daniel
c7ff13c2ef chore: build/lint 2022-03-30 11:37:44 -04:00
Zach Daniel
b7c6005acb improvement: add modify_query callback 2022-03-30 11:36:10 -04:00
tlietz
da5306c773
improve: Provide api read error message on no data set (#302) 2022-03-29 21:07:44 -04:00
Zach Daniel
b645b04c1d chore: add code_modules to doc index 2022-03-29 20:43:11 -04:00
Zach Daniel
5ba6439810 fix: show error message in NoSuchResource
improvement: add overview
2022-03-29 11:59:59 -04:00
Zach Daniel
2094c37272 chore: clear documentation out for a fresh start 2022-03-28 20:20:08 -04:00
Zach Daniel
49727a0447 improvement: add build_entity!
improvement: properly parse `{:_ref, path, name}`
improvement: add `deselect` to build
fix: import builtin preparations in global preparations block
2022-03-28 01:14:50 -04:00
tlietz
12cfe0d848
improvement: validates attributes and relationships have unique names (#300) 2022-03-27 20:00:19 -04:00
Zach Daniel
592daaad3f chore: WIP on doc index 2022-03-27 14:32:33 -04:00
Zach Daniel
e83c54a949 chore: add back guides 2022-03-27 13:08:27 -04:00
Zach Daniel
fed4ca7bb2 chore: fix doc index 2022-03-27 12:15:00 -04:00
Zach Daniel
8a5f7b3f84 chore: remove guides 2022-03-27 12:14:28 -04:00
Zach Daniel
d358f4dc49 chore: get started on guides 2022-03-27 00:49:41 -04:00
Zach Daniel
3c8636bc0b chore: update doc index 2022-03-25 16:08:51 -04:00
Zach Daniel
29b9569d15 chore: remove duplicate item from doc index 2022-03-25 00:37:08 -04:00
Zach Daniel
a5106c6095 improvement: validate no embeds in api 2022-03-25 00:18:56 -04:00
Zach Daniel
f9734af48c chore: get final tests passing 2022-03-24 23:36:43 -04:00
Zach Daniel
77bc84194a chore: set proper module for registry docs 2022-03-24 22:38:30 -04:00
Zach Daniel
cc58d7c9ba chore: separate ash doc index from doc index 2022-03-24 22:29:18 -04:00
Zach Daniel
e7f9bfe88c chore: move to a DocIndex pattern 2022-03-24 22:25:14 -04:00
Zach Daniel
90be7959b5 chore: fix syntax error from docs change 2022-03-24 10:02:28 -04:00
Zach Daniel
6ffd216892 chore: more docs tweaks 2022-03-24 01:01:43 -04:00
Zach Daniel
7b02117531 chore: more extension docs for new docs site 2022-03-24 00:27:21 -04:00
Zach Daniel
27df3f0ba8 chore: begin work on extension auto-doc features 2022-03-24 00:02:29 -04:00
Zach Daniel
e10112113c fix: add load option convenience for reads/code interface
fix: handle errors in all action types where `changeset` wasn't resolved
2022-03-23 23:22:03 -04:00
Zach Daniel
b12f12be49 improvement: properly attach authorization_filters to loaded items 2022-03-22 23:19:07 -04:00
Zach Daniel
f5502ff8ff fix: always sanitize requests before we spawn them 2022-03-22 18:40:10 -04:00
Zach Daniel
b5b0067880 fix: context name in loading manual relationships
chore: try setting authorizer? explicitly on engine opts to resolve a bug
2022-03-22 18:34:58 -04:00
Maciej Malecki
e1250b419a
Fix the typespec for the Ash.Changeset.get_data/2 function (#295) 2022-03-22 10:01:19 -04:00
Zach Daniel
880a17f197 fix: get aggregate query from proper engine path 2022-03-20 21:16:46 -04:00
Zach Daniel
23ea0ee056 fix: handle error case in create
improvement: add `ref` template helper
fix: don't require attributes if an argument overrides them
2022-03-20 20:39:47 -04:00
Zach Daniel
7ba9715f27 fix: fix hanging issue when adding engine requests 2022-03-20 01:08:39 -04:00
Zach Daniel
96c45e1a58 improvement: add transaction steps to flow
fix: don't require `writable?: false` attributes
2022-03-19 23:51:45 -04:00
Zach Daniel
920dff7f00 fix: pull aggregate values properly 2022-03-15 19:55:23 -04:00
Zach Daniel
81dcbf1bdf fix: fix nested section configs having wrong path 2022-03-15 18:58:21 -04:00
Zach Daniel
a53b61ddf4 feat: add Ash.Flow
feat: support recursive DSL entities.
improvement: unimport to avoid name collisions in nested DSLs
2022-03-15 17:42:29 -04:00
Zach Daniel
335fa523f2 improvement: disable lexical tracker when expanding aliases 2022-03-02 01:04:57 -05:00
Zach Daniel
b6c16897f3 improvement: temporarily move init to runtime for changes 2022-03-01 21:50:36 -05:00
Zach Daniel
f50cf32b7b fix: don't rescue errors in resource_formatter
fix: add `input/2` to resource modules
2022-02-23 10:37:15 -05:00
Zach Daniel
d38320b00d fix: move back to more efficient formatter
However, we now only format the topmost module of a file, due to
unresolved bugs that happened with multiple nested resources
2022-02-20 23:16:23 -05:00
Zach Daniel
ba1b39536e feat: manual relationships
fix: make the formatter safer, again
2022-02-20 22:46:39 -05:00
kernel-io
7121c56b70
fix: typo in changeset.ex (#291) 2022-02-17 12:55:12 -05:00
Zach Daniel
ab4e724af6 fix: don't blow away sections when formatting 2022-02-17 12:51:21 -05:00
Zach Daniel
f6b71e6b5b fix: properly reorder sections in the formatter 2022-02-17 12:44:30 -05:00
Zach Daniel
268bc39a4c fix: solve reorder bugs in formatter 2022-02-17 02:48:03 -05:00
Zach Daniel
15bdae0d99 feat: add source option to attributes 2022-02-14 11:38:45 -05:00
Zach Daniel
da04a883d9 improvement: add cast_in_query?/0 to Ash.Type 2022-02-14 10:23:17 -05:00
Zach Daniel
ca6a79c360 improvement: small data layer improvements 2022-02-11 15:52:23 -05:00
Zach Daniel
334a73984c improvements: add is_expr?, allow aggregates in aggregates 2022-02-09 12:13:51 -05:00
Zach Daniel
0268c06c63 fix: include a missing module
fix: properly set filterability on attributes
2022-02-07 16:36:51 -05:00
Zach Daniel
079b941e90 chore: release version v1.50.18 2022-02-07 15:39:12 -05:00
Zach Daniel
1b2d28eb90 fix: no IO.inspect, and log errors from formatting 2022-02-02 17:14:29 -05:00
Zach Daniel
4138bd4934 improvement: initial implementation of ash resource formatter 2022-02-02 17:02:43 -05:00
Zach Daniel
9eff65758c improvement: ensure no reserved names can be used as constraints 2022-02-02 17:02:43 -05:00
Zach Daniel
9143cf2359 chore: release version v1.50.17 2022-01-31 15:05:43 -05:00
Zach Daniel
5ba1cf5a1e improvement: optimize if and is_nil functions
chore: change alpha -> beta
2022-01-27 15:17:21 -05:00
Zach Daniel
7a7cb12de7 fix: use ash_struct_fields to accumulate schema struct field defaults 2022-01-24 14:36:08 -05:00
Zach Daniel
7174fa8583 improvement: add where to change 2022-01-19 16:33:01 -05:00
Zach Daniel
501f375e60 fix: don't call add_aggregates w/ a map 2022-01-19 16:32:44 -05:00
Zach Daniel
101628471e improvement: support data layers bulk adding aggregates 2022-01-12 13:47:01 -05:00
Zach Daniel
ef81843240 fix: allow new filter pattern in typespec 2021-12-21 13:06:19 -05:00
Zach Daniel
ce3ae44a4c improvement: add more authorizer state management
Added more opportunities for authorizers to pass back state.
This is being used to ensure that ash policy authorizer errors
can always have enough information to provide a policy breakdown
2021-12-21 12:24:12 -05:00
Zach Daniel
6b95dec339 improvement: customizable exception for authorizers 2021-12-21 01:07:06 -05:00
Zach Daniel
77f5e69c8c fix: fix recursion in do_reverse_relationship_path/3 2021-12-20 22:13:52 -05:00
Zach Daniel
f0870461a4 fix: properly construct reverse relationship paths 2021-12-20 21:13:14 -05:00
Zach Daniel
e40806e021 improvement: cover more potential cases in filter parsing 2021-12-19 15:39:31 -05:00
Zach Daniel
2986838a19 fix: support new versions of ecto's struct fields
fix: fixes for elixir_sense plugin
2021-12-19 00:12:10 -05:00
Zach Daniel
6c5198eea4
improvement: add elixir_sense extension, to be merged when ready (#275) 2021-12-13 18:17:34 -05:00
Zach Daniel
88168de320 improvement: add Ash.DataLayer.Simple.set_data/2
docs: add data-layer-less resource guide
2021-12-07 21:39:07 -05:00
Zach Daniel
3ee5b059b0 improvement: complete mutually_exclusive_and_collectively_exhaustive logic 2021-12-07 15:08:50 -05:00
Zach Daniel
4448a4eeb7 improvement: catch more equivalencey cases around is_nil in sat solver 2021-12-06 16:50:33 -05:00
Zach Daniel
e1cd19950e fix: undo an unnecessary contains change 2021-12-06 00:33:25 -05:00
Zach Daniel
9fdb56587c fix: WIP attempt to resolve ci_string typing errors 2021-12-06 00:25:07 -05:00
Zach Daniel
d9ce401bb4 fix: case clause error in Query.equivalent_to? 2021-12-01 14:59:23 -05:00
Zach Daniel
48d88151ba fix: missing rename on refactor 2021-12-01 14:04:14 -05:00
Zach Daniel
6fcff37659 fix: typo in unquote 2021-12-01 14:03:48 -05:00
Zach Daniel
a5b130e5f4 improvement: expose small filter helpers 2021-12-01 14:02:44 -05:00
Zach Daniel
a46b5268d1 fix: mark contains as a predicate
improvement: make to_simple_filter fail better, add failure option
2021-11-29 14:06:31 -05:00
Zach Daniel
df306ef2ad improvement: add Transformer.eval/3 (for special use cases only) 2021-11-26 14:59:37 -05:00
Zach Daniel
83b2d13910 improvement: track defaults being set 2021-11-24 19:09:39 -05:00
Zach Daniel
2dbdc06536 improvement: add Ash.Query.equivalent_to/2
docs: small documentation tweaks
2021-11-16 22:46:14 -05:00
Zach Daniel
b6094b1e9c improvement: add subset_of? and superset_of? query macros 2021-11-16 19:17:57 -05:00
Zach Daniel
b26e272bb4 fix: run calculations inline by default 2021-11-13 14:43:51 -05:00
Michael St Clair
f9b7223d91
fix: use Date.add when using LessThanOrEqual with date value (#281) 2021-11-13 14:11:32 -05:00
Zach Daniel
7cb4401d8e improvement: support do/else blocks in if
improvement: support `cond`
2021-11-13 13:48:25 -05:00
Zach Daniel
f124e9bf7c fix: cast nil input on strings
docs: add line on multitenancy
2021-11-11 14:27:57 -05:00
Zach Daniel
034ed97efe fix: simplify and improve allow_nil checking 2021-11-09 03:26:50 -05:00
Zach Daniel
f16ffb3782 improvement!: breaking!: explicitly setting a value to nil on create no longer falls back to the default value
This behavior is more expected than silently switching back to the default, but it does have the potential
to cause issues for those relying on the old behavior. To get the *old* behavior, you'd want to add a change
that does something like `if is_nil(Ash.Changeset.get_attribute(changeset, :attribute)) do` to check if
it should set the value, and then uses `Ash.Changeset.change_attribute/2` to make the change
2021-11-09 00:39:19 -05:00
Zach Daniel
1d68df5cd3 improvement: add set_new_attribute/2 2021-11-09 00:01:59 -05:00
Zach Daniel
23dfebc59f chore: add code interface docs 2021-11-07 01:24:45 -04:00
Zach Daniel
629708eecc improvement: still filter in cases w/o a lateral join on load
fix: don't ask the data layer to sort if no sort is applied
2021-11-03 17:21:29 -04:00
kernel-io
3b06998df5
fix: set tenant at start of query build (#278) 2021-11-02 16:59:55 -04:00
Zach Daniel
ca631d27da improvement: only_when_valid? on changes
fix: set storage_type to `:uuid` for Ash.Type.UUID
2021-11-01 04:39:13 -04:00
Zach Daniel
68d7d10877 fix: remove IO.inspect 2021-10-29 19:53:24 -04:00
Zach Daniel
cd70686a4e fix: add changes from last release that I forgot 2021-10-29 18:39:13 -04:00
Zach Daniel
ea73432ff1 improvement: compile time optimizations via configuration
improvement: breaking change! if you were previously relying on the undocumented
ability to configure resources using application config, you will no longer configure
them as `config :ash, DslEntity`, but rather you will set an otp_app on the entity,
e.g `use Ash.Resource, otp_app: :otp_app`, and then you'll configure that via
`config :otp_app, MyApp.Resource, ...`
2021-10-29 17:21:05 -04:00
kernel-io
4113595f69
fix: correctly handle errors in validate_required_belongs_to (#276) 2021-10-28 17:38:14 -04:00
Zach Daniel
9613ab812c fix: set actor when loading to manage belongs_to
improvement: set `action` into data layer context
2021-10-28 16:11:11 -04:00
Zach Daniel
dc25e9d7e4 fix: cast to string before concatenating 2021-10-26 11:54:44 -04:00
Zach Daniel
13cffc852c fix: always lateral join for many to many relationships
improvement: add `default` option for aggregates
2021-10-25 18:48:35 -04:00
Zach Daniel
05d8eb1741 improvement: add allow_async? to calculations, default to false
improvement: add elixir evaluation step to expression calculations
2021-10-25 17:53:51 -04:00
Zach Daniel
e17daf6b02 improvement: global resource preparations
fix: unset `load` when running calculation queries
2021-10-25 16:59:11 -04:00
Zach Daniel
358a1b5cae fix: breaking change! disambiguating functions in keyword filter syntax
it was possible to call functions in the form of `[function_name: [...args]]`,
but if you had relationships that overlapped w/ the function name that would cause problems.
To disambiguate, function arguments must now be provided as a tuple, e.g
`[function_name: {...args}]`.
2021-10-24 14:19:38 -04:00
Zach Daniel
e765eb5e10 fix: use correct typespec for Ash.Sort.parse_input/2 2021-10-23 02:51:49 -04:00
Zach Daniel
8683ca46c9 chore: set default for get? 2021-10-21 22:13:10 -04:00
Zach Daniel
0e66801ebe improvement: add get? metadata 2021-10-21 22:12:28 -04:00
Zach Daniel
f0ab170b5d chore: remove IO.inspect 2021-10-21 18:11:35 -04:00
Zach Daniel
1805c21075 improvement: custom error paths for managed relationships 2021-10-21 18:09:13 -04:00