Zach Daniel
9fbc2921f9
fix: remove certain modules from avoiding recompilation
2021-10-07 13:37:37 -04:00
Zach Daniel
ff756b72a7
improvement: deprecation!
...
A deprecation warning will be shown at compile time to illustrate
a change from listing all of your resources in an api to listing
them in a registry and connecting that registry to the api
2021-10-07 02:41:02 -04:00
Zach Daniel
87627993b8
improvement: breaking change! don't define code interface by default
...
In an effort to improve compile times in general, and remove unnecessary
compile time dependencies, the code interface is not defined by default.
It is also now possible to define the code interface directly in the resource module,
via
```elixir
code_interface do
define_for ApiModule
end
```
If you need to reenable the code interface, simply add the following to your api module:
```elixir
resources do
define_interfaces? true
...
end
```
2021-10-06 17:43:22 -04:00
Zach Daniel
a955d89b8f
fix: make arrays default to nil_items?: false
2021-10-04 13:23:23 -04:00
Michael St Clair
8af32a0053
chore: Bring over changes committed to master branch ( #271 )
...
Co-authored-by: kernel-io <git@omnium.co>
Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
Co-authored-by: kernel-io <kernel-io@users.noreply.github.com>
2021-10-01 23:27:35 -04:00
Zach Daniel
c19acf767c
fix: support on
for global changes
...
improvement: skip resource action if no changes have been made
improvement: add `changing_attributes?/1` to determine if any attributes are chaning
2021-09-20 16:30:30 -04:00
Zach Daniel
61dcd56d0e
fix: return proper result when input is struct
2021-09-19 14:17:14 -04:00
Zach Daniel
bead3f528e
improvement: add global changes
2021-09-18 21:57:44 -04:00
Zach Daniel
63b141a0b8
fix: remove File.read! from docs
2021-09-17 17:51:31 -04:00
Zach Daniel
1f47e63c0c
improvement: upgrade docs/tooling for elixir_sense
2021-09-17 17:44:11 -04:00
Zach Daniel
b2fea24a25
improvement: set docs statically
2021-09-17 01:43:18 -04:00
Zach Daniel
294130e3f3
improvement: improvements for elixirsense integration
2021-09-17 01:22:55 -04:00
Zach Daniel
3aaba3f340
improvement: transformer/extension improvements
...
improvement: add path to errors
2021-09-16 03:41:33 -04:00
Zach Daniel
3a284bb644
improvement: remove IO.inspect :*( and fix sobelow
2021-09-15 13:51:46 -04:00
Zach Daniel
c2bd76cba2
fix: set tenant properly on create interface
2021-09-15 13:50:11 -04:00
Zach Daniel
4e23e63428
improvement: support non-endpoint pubsub adapters
2021-09-14 17:17:56 -04:00
kernel-io
63a16be5de
fix: update type spec for Ash.Sort to include single atom instead of only list. ( #263 )
2021-09-13 21:52:48 -04:00
Zach Daniel
78aabebc38
fix: check action type properly in attribute validations
2021-09-13 16:18:17 -04:00
Zach Daniel
05b279a029
improvement: use paramaterized types under the hood
...
improvement!: update ecto version
fix: pass constraints to sub-fields loaded in embeddable resources
2021-09-13 11:46:11 -04:00
Zach Daniel
3ce4e68c80
fix: take creates into account w/ attribute_equals and attribute_does_not_equal
2021-09-12 22:31:11 -04:00
Zach Daniel
86e2648c91
fix: set changeset in destroy authorization request
2021-09-12 16:55:31 -04:00
Zach Daniel
a55696ef57
improvement: add after_action
option to create/update
2021-09-12 02:03:41 -04:00
Zach Daniel
bb0dda0f11
fix: return not found in all cases on get
2021-09-09 00:10:15 -04:00
Zach Daniel
97e08f7b92
fix: don't allow get! to return nil
...
fix: don't do db filters on creation
2021-09-08 23:57:45 -04:00
Zach Daniel
64ec412e5d
improvement: add config :ash, disable_async?: true
2021-09-08 22:55:22 -04:00
Zach Daniel
c7cfa878e7
docs: update description of allow_nil_input
2021-09-08 22:52:18 -04:00
Zach Daniel
d200d354e7
fix: honor allow_nil_input
in required validations
2021-09-08 22:51:22 -04:00
Zach Daniel
008ee84ddb
improvement: add meta[:order]
option for managed relationships
2021-09-02 12:45:38 -04:00
Zach Daniel
541545baa3
fix: hydrate metadata types
2021-08-29 15:14:29 -04:00
Zach Daniel
f4899a72f4
improvement: remove metadata from read actions
2021-08-29 14:20:02 -04:00
Zach Daniel
47bacbfe84
chore: fix lint/format
2021-08-27 20:35:25 -04:00
Zach Daniel
a22b689b07
improvement: support action level metadata
2021-08-27 20:34:20 -04:00
Zach Daniel
d786aadec7
improvement: add on_match: :destroy
option
2021-08-27 01:45:13 -04:00
Zach Daniel
fed720bb59
fix: cast nil
enum values propertly
...
improvement: if a map is given for a list, take it's keys
2021-08-22 03:54:11 -04:00
Zach Daniel
c6cafd94cc
fix: set api in destroy action hooks
...
improvement: set better error paths for invalid relationships
improvement: include api in changeset inspect
2021-08-16 10:55:15 -04:00
Zach Daniel
ad2f678b7e
fix: set argument defaults early
...
fix: don't add indices to non-list inputs in managed relationships
2021-08-11 10:43:21 -04:00
Zach Daniel
7ae048ac9d
fix: stop managed relationships from sourcing wrong data
...
This one took a while to finally figure out! Because belongs_to
relationships are managed *before* the action, and the data coming
into the calls to `manage_relationship` already has the new related
value, we need to use the original data from `changeset.data`. But
when I "fixed" it the first time, I made *everything* do that, which
is not correct, because the original data for the rest of the
relationships has not been loaded at that point yet. So belongs_to
gets its original data from `changeset.data` and the rest gets it
from the result of running the action.
2021-08-05 01:43:40 -04:00
Zach Daniel
1d6d5c8542
fix: redact fields in the resource struct as well
2021-08-04 19:16:49 -04:00
Zach Daniel
1c83f96d27
fix: allow before_action
to manage belongs_to
relationships
2021-08-04 11:35:32 -04:00
Zach Daniel
8e11a63e83
fix: load belongs to relationships before managing them
2021-08-03 03:26:01 -04:00
Zach Daniel
4e11e3f0ac
fix: don't lookup nil input
2021-08-03 00:50:45 -04:00
Zach Daniel
202c3344dc
chore: proper case clause syntax
2021-08-03 00:34:26 -04:00
Zach Daniel
e81028170d
fix: don't look for matches for nil
2021-08-03 00:17:36 -04:00
Zach Daniel
d82ea58dbe
fix: don't accept list inputs for managed belongs_to
2021-08-03 00:12:05 -04:00
Zach Daniel
a382a8ae20
fix: don't use list inputs in belongs_to managed
2021-08-03 00:00:37 -04:00
Zach Daniel
80cedce2a2
fix: remove belongs to related after action
2021-08-02 11:02:38 -04:00
Zach Daniel
a3ee29c433
fix: fix more cases where belongs_to isn't replaced
2021-08-01 18:48:12 -04:00
Zach Daniel
4872e357ed
chore: format code
2021-08-01 14:08:03 -04:00
Zach Daniel
288cf49153
fix: honor on_missing:
behavior for belongs_to relationships
2021-07-31 16:07:51 -04:00
Zach Daniel
9e5e958feb
fix: properly remove old belongs_to records
2021-07-30 12:42:24 -04:00