Commit graph

1651 commits

Author SHA1 Message Date
Zach Daniel
0e12686c61 fix: ensure attributes for keyset pagination are selected 2023-06-14 07:38:43 -04:00
Zach Daniel
b3592aecfd docs: document select and ensure_selected to build/2 docs
closes #510
2023-06-13 12:06:11 -04:00
Dmitry Maganov
984968d8ba
improvement: add support for generic actions in api.can (#617) 2023-06-13 09:35:27 -04:00
Dmitry Maganov
939b25d727
feat: generate some action helpers with code interface (#614) 2023-06-12 22:59:17 -04:00
Zach Daniel
6c4b2fb5ed fix: can_load?/1 -> can_load?/2 2023-06-12 16:57:12 -04:00
Zach Daniel
0eddcda355 fix: handle new load calculations in nested loading? checks 2023-06-12 14:46:36 -04:00
Zach Daniel
0a677ccde1 fix: don't load nil values for runtime types 2023-06-12 12:44:54 -04:00
Zach Daniel
d47dbe239c improvement: properly pass calculation args in keyset filters 2023-06-11 20:48:42 -04:00
Zach Daniel
4ef5911696 fix: properly set upsert_keys on bulk upserts 2023-06-11 20:30:13 -04:00
Dmitry Maganov
b68b816cc7
fix: continue refactor in code interface (#611) 2023-06-11 08:56:23 -04:00
RaspberryLambda
ffaf6d57df
* improvement: add data layer introspection to Ash.Resource.Info (#610)
---------

Co-authored-by: Daniel Stewart <mgdog1@googlemail.com>
2023-06-10 13:17:17 -04:00
Zach Daniel
be57b909b5 fix: honor query limit when streaming 2023-06-10 13:09:45 -04:00
Dmitry Maganov
ab981a79a5
fix: refactor out some repetition in code interface (#609) 2023-06-10 00:02:03 -04:00
Zach Daniel
e804f3c9f9 fix: properly handle loading through list types 2023-06-09 18:21:46 -04:00
Zach Daniel
25acc2d793 improvement: better keyset pagination behavior on first and last pages 2023-06-09 15:08:49 -04:00
Zach Daniel
1442daa667 chore: fix dialyzer 2023-06-09 12:19:02 -04:00
Zach Daniel
f3703f9ebe fix: handle api missing in code interface calls 2023-06-09 12:03:31 -04:00
Zach Daniel
0d32560651 fix: pass empty select statement when loading on changesets
fix: fixes for loading through attributes
2023-06-09 10:18:17 -04:00
Dmitry Maganov
f5238674a4
fix: drop proper opts keys when calling api in code interface (#608) 2023-06-09 10:16:15 -04:00
Zach Daniel
dc58cf8c2e fix: remove validation that was breaking real design patterns 2023-06-09 02:22:56 -04:00
Zach Daniel
d526996669 improvement: optimize LoadRelationship calculation 2023-06-09 00:28:09 -04:00
Zach Daniel
6320dad188 fix: various fixes to data loading
improvement: `Ash.Query.accessing/2` to get a list of fields being accessed
improvement: builting `LoadAttribute` and `LoadRelationship` calculations
2023-06-09 00:16:27 -04:00
Zach Daniel
a52a0a2554 improvement: warn on invalid/impossible policies 2023-06-07 22:35:55 -04:00
Zach Daniel
907aec5e82 improvement: support loading through types
Will document this in a separate PR. The broad strokes are this:

1. to load through an attribtue, `load(attribute: [:nested: :stuff])`
2. to load through a calculation, `load(calculation: {:%{...input}, nested: :stuff})`
3. union types support loading through them, and is done first by keying by the type name, i.e: `load(union: [type_name: [nested: :stuff])`.
4. union types support specifying a load statement for all types with `load(union: [*: [nested: :stuff]])`
2023-06-07 21:54:17 -04:00
Zach Daniel
dfe8bbf5f0 fix: properly set tenant on nested calculation loads 2023-06-07 10:41:33 -04:00
Zach Daniel
0381072c6b fix: properly set calc_name to resource calculation name on aliased calc loads 2023-06-07 10:24:09 -04:00
Zach Daniel
f223855e28 chore: credo/compiler warnings 2023-06-07 10:22:30 -04:00
Zach Daniel
c23cd40ccb chore: continue work on loading through attributes 2023-06-07 10:22:30 -04:00
Zach Daniel
1d6e5b2827 fix: check correct calculation dependency for relationship 2023-06-07 10:11:33 -04:00
Zach Daniel
1e52079416 fix: don't use to_string on the calculation names 2023-06-07 10:05:34 -04:00
Zach Daniel
ffc4ebcff1 chore: output both dependencies in relationship dependency error 2023-06-07 09:33:53 -04:00
Zach Daniel
2eedbdf934 chore: fix debug output from raised error 2023-06-07 09:22:34 -04:00
Zach Daniel
221efb09c9 fix: don't need to check current aggs/calcs in filters anymore 2023-06-07 09:08:29 -04:00
Zach Daniel
cff3c4db91 fix: set query tenant on calc dep loads
chore: set some groundwork for `Ash.Type.load/5`
2023-06-06 14:21:34 -04:00
Zach Daniel
85da9eff6f improvement: properly set tenant from initial data 2023-06-06 11:48:16 -04:00
kernel-io
5b6c81d800
fix: copy tenant to step on flow build (#603) 2023-06-06 09:27:02 -04:00
kernel-io
c4bb198d0c
docs: clarify custom.ex async? documentation (#602) 2023-06-06 09:25:09 -04:00
kernel-io
45dc97cdb4
fix: ensure add_tenant/1 checks the correctkey (#601) 2023-06-06 09:24:30 -04:00
Zach Daniel
c6d1a089a5 fix: properly chain batch to each change in bulk creates 2023-06-05 19:57:36 -04:00
Zach Daniel
aa1f902c50 fix: properly handle failed bulk creates with no errors 2023-06-05 19:07:52 -04:00
Zach Daniel
8e7815388e improvement: handle nils in memory the same way sql would have 2023-06-05 16:50:27 -04:00
Zach Daniel
54569c38e1 improvement: support changeset.load 2023-06-05 13:30:29 -04:00
Barnabas Jovanovics
5477102104
fix: also do not autogenerate values for optional fields that have a generator (#599) 2023-06-05 08:57:22 -04:00
Dmitry Maganov
af307f0504
fix: rename few error files to match module names (#597) 2023-06-03 07:44:33 -04:00
Dmitry Maganov
23bf59822e
chore: remove class and stacktrace from ErrorKind implementations (#596) 2023-06-02 17:57:07 -04:00
Barnabas Jovanovics
1185b615f8
fix: Only create values for attributes that did not get a generator (#595) 2023-06-02 08:18:02 -04:00
Zach Daniel
bf6797619b improvement: verify reserved calc names, support as input 2023-06-01 13:26:54 -04:00
Dmitry Maganov
adb6cefac1
fix: remove field name from string length error message (#594)
* fix: remove field name from string length error message

* fix: remove old unused `Error.Changes.UnknownError`

* fix: do not capitalize ash error messages

* fix: change error kind code for `Ash.Error.Forbidden.Policy`
2023-06-01 02:29:19 -04:00
Zach Daniel
5ab0c08f0f fix: properly load aggregates required for keyset pagination 2023-05-30 22:17:05 -04:00
Zach Daniel
e521048809 fix: properly load depended on source attributes 2023-05-30 21:31:48 -04:00