Commit graph

197 commits

Author SHA1 Message Date
Zach Daniel
8e11a63e83 fix: load belongs to relationships before managing them 2021-08-03 03:26:01 -04:00
Zach Daniel
288cf49153 fix: honor on_missing: behavior for belongs_to relationships 2021-07-31 16:07:51 -04:00
Zach Daniel
13e06524a7 improvement: add belongs_to attributes *after* the others 2021-07-26 20:55:44 -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
759ef25577 fix: rename conflicting test name 2021-07-22 13:36:59 -04:00
Zach Daniel
9477f0e82a improvement: add {:arg, :name} input for set_attribute 2021-06-25 13:51:17 -04:00
Zach Daniel
d45a9dbbfa improvement: support calculation sorts 2021-06-05 18:11:09 -04:00
Zach Daniel
d247004610 feat: expression based calculations for filterable/sortable calculations
fix: aggregate authorization issues
improvement: tons of improvements across the board
2021-06-04 01:40:11 -04:00
Zach Daniel
231eeafd30 feat: expression calculations for sorting/filtering
improvement: small improvements/fixes across the board
2021-06-04 01:37:11 -04:00
kernel-io
35af220d9d
feat: add compare validator (#242)
Co-authored-by: David Culina <git@omnium.co>
2021-06-01 13:32:22 -04:00
Zach Daniel
d9debc07f1 fix: properly process managed belongs to relationships 2021-05-28 03:12:14 -04:00
Zach Daniel
4662c23f68 improvement: calculation.select/2 + select calculation option 2021-05-20 16:42:26 -04:00
Zach Daniel
dd40b24bf9 improvement: transactions for reads, notifications from read callbacks 2021-05-14 11:25:42 -04:00
Zach Daniel
69afdfce25 improvement: utility manage_relationship_source context 2021-05-10 18:03:36 -04:00
Frank Dugan III
a796e0d308
refactor: remove references to "side loading" (#236) 2021-05-09 17:24:48 -04:00
Zach Daniel
097447bf38 fix: run action changes on destroy
test: test manual actions
fix: pattern match manage_relationship notifications fix
2021-05-09 16:56:44 -04:00
Zach Daniel
1412052ff6 improvement: fix data-based side loads 2021-05-07 11:57:59 -04:00
Zach Daniel
f8604717bd fix: limit 1 on to one side load queries 2021-05-07 01:07:01 -04:00
Zach Daniel
46fb08f085 improvement: support sorted relationships 2021-05-07 00:28:51 -04:00
Zach Daniel
593b111069 improvement: add read_action option
feat: rework lateral joins for many to many performance boost
2021-05-03 16:21:29 -04:00
Zach Daniel
3de71bc7f1 chore: fix test + compile 2021-04-28 17:43:02 -04:00
Zach Daniel
9da95e6d75 improvement: support relationship filters 2021-04-28 17:39:30 -04:00
Zach Daniel
9df3803492 fix: don't include NotLoaded in manage_relationship 2021-04-25 18:35:19 -04:00
Zach Daniel
53ceb5b753 fix: compile time fixes
improvement: add `require_attributes` to create/update/destroy
2021-04-23 11:41:13 -04:00
Zach Daniel
143557e55c chore: fix lint 2021-04-22 12:03:18 -04:00
Zach Daniel
dd82fcc53b improvement: add first class support for enum types 2021-04-21 13:32:25 -04:00
Jason Axelson
f6fa5a98dd
improvement: Add detailed parameter checking for Api read functions (#229) 2021-04-18 19:45:38 -04:00
Jason Axelson
a4262965ea
chore: Enable Credo's Readability.StrictModuleLayout (#228)
Enforce layout of module parts
2021-04-18 19:41:49 -04:00
Zach Daniel
a6b880ce86 fix: handle no key provided to NotFound
chore: add tests for `get!`
2021-04-14 14:18:05 -04:00
Zach Daniel
e353ea49c3 fix: allow api.load/2 to load calculations
improvement: add `allow_nil_input` to create actions for api layers
improvement: add `load/1` builtin change
feat: change `get?: true` interface functions to raise on `nil`
2021-04-13 15:49:42 -04:00
Michael St Clair
6805d431ac
improvement: add sum aggregate (#221) 2021-04-04 16:00:53 -04:00
Zach Daniel
d6ee71ce53 feat: support Ash.Query.distinct/2
feat: add `build/2` query preparation
fix: manage_relationships *before* after_action callbacks
2021-03-31 17:13:20 -04:00
Zach Daniel
29b2c821fe fix: don't overwrite managed belongs_to relationships 2021-03-29 14:48:42 -04:00
Zach Daniel
11d658d077 fix: fix required relationships and add test 2021-03-28 13:44:21 -04:00
Zach Daniel
2f9fafcbc7 feat: add manage relationship types
improvement: don't accept relationships on actions anymore

improvement: require arguments

This probably broke a lot of people's setups, but it was a
necessary change. Better to get this stuff out while we're
still beta
2021-03-25 11:33:32 -04:00
Zach Daniel
4e8bd5bfbc fix: exception on invalid query arguments 2021-03-21 14:19:45 -04:00
Zach Daniel
b98650aeb7 fix: avoid exception in Changeset.new/2 for bad attribute 2021-03-20 17:16:57 -04:00
Zach Daniel
a1c5f1d06f fix: validate required attributes *after* before_action hooks 2021-03-16 23:09:36 -04:00
Zach Daniel
f6026c6895 fix: allow_nil?: false + default interaction 2021-03-14 23:06:18 -04:00
Zach Daniel
db47a15cf7 fix: properly validate allow_nil?: false on update
fix: properly validate `allow_nil?: false` private attributes
2021-03-13 09:25:13 -05:00
Zach Daniel
72b5a57a25 feat: functional interface on the Api module
feat: resource aliases
improvement: require completely unique action names
2021-03-08 00:59:32 -05:00
Zach Daniel
e90fdad34a feat: support Ash.Query.select/3 and Ash.Changeset.select/3 2021-03-07 14:09:51 -05:00
Zach Daniel
c2cb843be9 improvement: ignore destination field on some relationship inputs 2021-03-05 10:39:06 -05:00
Zach Daniel
e60e5bf281 fix: treat empty string as nil in manage_relationship
fix: be more conservative (and more correct) when optimizing predicates
2021-02-24 11:13:35 -05:00
zimt28
e10b273ce4
Ecto.UUID -> Ash.UUID (#188) 2021-02-23 12:27:49 -05:00
Zach Daniel
d42c778a0d improvement: many compile time fixes via code splitting
feat: refactored manage_relationship options/behavior
2021-02-22 20:44:03 -05:00
zimt28
db533450ed
improvement: Guess destination_field for has many relationships (#187) 2021-02-15 13:32:44 -05:00
Darren Black
983a711837
improvement: Implement string length validation (#183)
Co-authored-by: Darren Black <darren@ifixsystems.com.au>
2021-02-08 18:16:32 -05:00
Zach Daniel
03b6714e6f improvement: set_context change/preparation
fix: support `manage_relationship` for `belongs_to`
2021-02-05 18:56:56 -05:00