Commit graph

663 commits

Author SHA1 Message Date
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
Zach Daniel
73578f6806 chore: remove IO.inspect 2021-07-27 23:04:22 -04:00
Zach Daniel
1f5538c7f0 fix: set source_query tenant in lateral join 2021-07-27 22:58:45 -04:00
Zach Daniel
13e06524a7 improvement: add belongs_to attributes *after* the others 2021-07-26 20:55:44 -04:00
Zach Daniel
8f88cca020 improvement: pull relationship paths out of functions 2021-07-25 17:58:27 -04:00
Zach Daniel
dd7f5a8e8b fix: no need to trap exits anymore 2021-07-23 13:16:42 -04:00
Zach Daniel
80e64ee4ad fix: don't match on explicitly :exit 2021-07-23 12:12:37 -04:00
Zach Daniel
e0605f2bf0 fix: catch normal exit message from engine 2021-07-23 09:53:25 -04:00
Zach Daniel
b2ae6dc3ea fix: flush engine state always 2021-07-23 09:45:47 -04:00
Zach Daniel
4ea0e62a79 chore: ensure compiled in a different place
chore: credo
2021-07-22 16:26:02 -04:00
Frank Dugan III
8ba1a9a4c8
feat(Ash.Resource.Info): add &public_field/2 helper (#254)
feat(Ash.Resource.Info): add &sortable?/3 helper
2021-07-22 16:23:54 -04:00
Zach Daniel
d95a0e1662 fix: load calculations from sorts properly 2021-07-22 15:22:53 -04:00
Zach Daniel
11c1762f82 fix: fix complex attribute check 2021-07-22 13:20:42 -04:00
Zach Daniel
579c83e20c fix: disallow aggregate/calculation sorting w/ keyset pagination
This can be fixed by configuring pagination to fetch the resource by keyset
(so keyset is only ever primary key), but will perform worse because
we have to fetch the record. If someone would like to implement this,
let me know.
2021-07-22 12:47:43 -04:00
Zach Daniel
64568e5526 imrovement: handle sorts w/o an order in keyset pagination 2021-07-22 11:24:42 -04:00
Zach Daniel
0b8b704e2c fix: ensure calculation compiled 2021-07-21 00:07:35 -04:00
Zach Daniel
247abbb833 fix: don't limit/offset aggregate queries 2021-07-19 22:07:00 -04:00
Zach Daniel
857b0d0a12 fix: call get_type in cast_stored again 2021-07-19 20:58:18 -04:00
Zach Daniel
42aa56237b improvement: speed up type loading
improvement: add `__order__` field to be used by data layers
chore: fix typespec for aggregates
2021-07-19 13:52:49 -04:00
Zach Daniel
1df33b7efd improvement: add force? option to apply_attributes/2 2021-07-18 19:25:54 -04:00
Zach Daniel
e306e1d7fc fix: missing apply_attributes clause 2021-07-18 18:22:59 -04:00
Zach Daniel
2d9d96e699 fix: demonitor engine pid after run 2021-07-18 03:26:57 -04:00
Zach Daniel
0427a7a7c4 fix: on_lookup read is always on destination 2021-07-18 02:30:04 -04:00
Zach Daniel
e6010816c3 chore: fix dialyzer 2021-07-16 20:09:40 -04:00
Zach Daniel
03e5ae4a7a fix: set item constraints properly
improvement: add on_lookup_read_action
2021-07-16 20:01:36 -04:00
Zach Daniel
19199f5b00 improvement: add in error paths for managed relationships 2021-07-14 20:14:40 -04:00
Zach Daniel
38a08bf2a6 improvement: set error paths on managed rels 2021-07-14 01:47:45 -04:00
Zach Daniel
409e47e02c fix: fix simple data layer filtering 2021-07-11 19:18:43 -04:00
Zach Daniel
50b23a1656 improvement: always replace error message vars
improvement: minimize relationship source changeset context inspect size
2021-07-09 13:07:49 -04:00
Darren Black
6b6062ace6
Fix atom casting more (#253) 2021-07-08 00:39:01 -04:00