Commit graph

871 commits

Author SHA1 Message Date
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