Commit graph

191 commits

Author SHA1 Message Date
bcksl
8223797dd6
feat: add filterable_fields to limit generated filters (#69) 2023-04-28 10:04:30 -04:00
Zach Daniel
79a7145c44 improvement: support hiding fields 2023-04-26 23:40:41 -04:00
bcksl
8e6f9b7bd5
improvement: pass description through to Absinthe in more cases (#63) 2023-04-23 07:03:54 -06:00
Zach Daniel
e91001e83f improvement: better union type handling
still need to document this, but adding support for
`graphql_unnested_unions/1` on `NewType` defined unions.

This allows for lifting up union type values to not be nested under `value`
2023-04-21 01:12:20 -06:00
Zach Daniel
e83835cab9 improvement: don't define union input types for calcs/aggregates 2023-04-20 13:30:13 -06:00
Zach Daniel
d4ee7c5ac2 fix: include resource name in managed_relationship types 2023-04-16 18:15:25 -04:00
Zach Daniel
e78a9f7926 improvement: add auto? true option for managed_relationships 2023-04-16 16:52:37 -04:00
Zach Daniel
13910dd0f1 fix: handle certain types in calculations 2023-04-14 10:46:18 -04:00
Zach Daniel
6b7ea9048f fix: unique enum types by name 2023-04-03 11:20:34 -04:00
Mariusz Morawski
513e14f1d6
improvement: Add missing definition for Ash.Type.Time type (#64) 2023-04-03 11:10:55 -04:00
Zach Daniel
c711fa2e9d improvement: add tests & improve behavior of update managed relationships 2023-03-21 23:43:43 -04:00
Zach Daniel
fc1433170e improvement: include primary key when managed relationship can update 2023-03-21 23:20:15 -04:00
Zach Daniel
e4dda5a3d9 improvement: don't add types for resources w/o a GQL type
docs: add config to getting started
2023-03-21 23:06:58 -04:00
Zach Daniel
425aee20fe chore: fix sobelow 2023-03-21 21:27:07 -04:00
Zach Daniel
1bea680af3 feat: change type name generation for managed relationships.
The current type name generation could result in clashes.
We now show a warning explaining how to fix these.
2023-03-21 21:17:53 -04:00
Zach Daniel
b8b5b61786 improvement: supply arguments to relationships on loading 2023-03-17 14:56:06 -04:00
Zach Daniel
d86f6601fb fix: properly filter enum types 2023-03-13 19:13:35 -04:00
Zach Daniel
3cc3c32f45 improvement: add support for Ash.Type.NewType 2023-03-13 18:32:36 -04:00
George Anderson
c0dcd211e7
fix: Typo in name causing Error (#60) 2023-03-03 17:54:45 -05:00
Zach Daniel
9d007a8401 chore: format 2023-02-24 10:00:39 -05:00
Barnabas Jovanovics
e6aadc1221
fix: always return a list from pkey_fields (#59) 2023-02-24 10:00:00 -05:00
Zach Daniel
7083a8363b improvement: build inputs for the underlying get action 2023-02-22 16:25:21 -05:00
Zach Daniel
443e5fd680 improvement: add action_middleware option 2023-02-22 12:19:50 -05:00
Zach Daniel
4c26944f73 fix: don't traverse nested types for auto enums 2023-02-21 08:51:35 -05:00
Zach Daniel
f1d4c1a3cb improvement: better tagged union handling 2023-02-16 23:33:54 -05:00
Zach Daniel
800b7eb25d fix: properly use the nested type name for union inputs 2023-02-15 19:39:41 -05:00
Zach Daniel
b0fc800079 fix: generate proper type name for union inputs 2023-02-15 13:58:53 -05:00
Zach Daniel
ef5559ed51 fix: infinite recursion in filterability checking 2023-02-15 13:37:55 -05:00
Zach Daniel
80ee34de81 fix: pass down attribute for union type generation 2023-02-15 12:03:57 -05:00
Zach Daniel
cf8267123e improvement: support new union types in ash 2023-02-15 08:20:35 -05:00
Zach Daniel
d83dacae54 improvement: make filter & sort generation optional 2023-02-08 15:16:40 -05:00
Zach Daniel
18e5f86fde improvement: add more? (as has_next_page) to pagination info 2023-02-08 11:16:48 -05:00
Zach Daniel
f0836f18b6 improvement: support metadata on read actions
metadata on read actions is merged with the rest of the fields on the query, so must have a name unique from the attributes/calculations/aggregates.

The system will warn you if there is metadata on the underlying action that is being ignored, and will tell you how to fix it.
2023-01-28 12:32:21 -05:00
Alan Heywood
d9e17ed42b
fix: map uuid action arguments to ID type (#52) 2023-01-18 19:07:53 -05:00
Zach Daniel
c0f5f596cb improvement: better error on empty input objects for managed relationships
closes #50
2023-01-09 19:55:35 -05:00
Zach Daniel
a58f3c998e fix: properly generate enum for atom attributes w/ one_of constraint again
closes #49
2023-01-03 10:13:17 -05:00
Zach Daniel
c62d1d50ea docs: fix docs example 2022-12-29 23:38:42 -05:00
Zach Daniel
325ce9c6be improvement: better error message on no type match 2022-12-29 23:36:55 -05:00
Zach Daniel
f259016455 improvement: support naive_datetime out of the box 2022-12-29 23:27:48 -05:00
Zach Daniel
c650126819 fix: resolve issues compiling resources with no type
fix: adding an empty query block is apparently problematic?
2022-10-31 13:07:57 -04:00
Zach Daniel
9ff395711e improvement: handle keyset & offset pagination when combined on an action (by preferring keyset)
improvement: use new `depend_on_resources/` from Ash to remove the need for registry in schema
fix: various pagination fixes
2022-10-21 08:51:31 -04:00
Zach Daniel
c5662e90ba improvement: validate that relay? queries use keyset?: true actions
improvement: only add `count` to pages when one relevant query is countable
2022-10-21 07:38:33 -04:00
Zach Daniel
3be18011ea chore: fix CI from last commit 2022-10-20 17:57:37 -04:00
Zach Daniel
07e0c6170c improvement: split keyset_page_of and page_of types
improvement: add `start_keyset` and `end_keyset` to `keyset_page_of` type
improvement: add `count` to relay fields if there exists a countable relay query
2022-10-20 17:57:27 -04:00
Zach Daniel
75ba47215d improvement: change calculation input type name 2022-10-13 00:53:23 -04:00
Zach Daniel
9cc9da0f2e improvement: support calculation sort input
closes #31
2022-10-12 21:15:42 -04:00
Zach Daniel
3a11d988ab improvement: support encode_primary_key? false, and set single managed relationship primary keys do :id type when its true
closes #28
2022-10-12 19:02:04 -04:00
Zach Daniel
8d79fd7d2a fix: non relay keyset pagination was broken when relay was introduced 2022-10-12 12:11:51 -04:00
Zach Daniel
056e457522 improvement: support only exposing a subset of public relationships 2022-10-11 15:37:19 -04:00
Zach Daniel
a873dfd685 fix: support determining a type for resource calculations 2022-10-03 12:00:28 -04:00
Zach Daniel
57f6315a9a chore: raise on missing mutation 2022-09-29 15:38:38 -04:00
Zach Daniel
43c636253a fix: raise error on missing query action 2022-09-29 15:29:21 -04:00
Zach Daniel
92631f91b6 improvement: add options for remapping field/argument names
fix: use the dataloader for loading calculations, to allow for aliases
2022-09-26 00:12:10 -04:00
Zach Daniel
9095a5ae45 improvement: add attribute_types and attribute_input_types
improvement: require configuration of datetime types
2022-09-22 13:31:40 -04:00
Zach Daniel
d859026ddb fix: only create sort input if type is set 2022-09-21 16:28:20 -04:00
Maxim Martynov
e40e7c573c
improvement: Implement GraphQL Relay support (#36) 2022-09-20 23:07:30 -04:00
Zach Daniel
b2b9e22f7c fix: don't generate duplicate types 2022-09-14 16:50:35 -04:00
Zach Daniel
378892e387 improvement: support latest ash 2022-09-14 12:46:12 -04:00
Zach Daniel
f4cb9213b3 update to latest ash 2022-08-30 19:08:16 -06:00
Zach Daniel
a10f61b9b4 improvement: update to latest ash 2022-08-10 17:34:13 -04:00
Zach Daniel
29909742e2 chore: don't explicitly set type when looking up actions 2022-05-28 21:30:34 -04:00
Zach Daniel
0a241cb26e fix: update to latest ash and use new interval type 2022-05-23 16:33:27 -04:00
Frank Dugan III
62c2e4fecb
fix: Types with no constraints crash (#34) 2022-05-20 12:32:06 -04:00
Michael St Clair
6fb99a3ab0
improvement: setup generate_object? setting on resource (#32) 2022-05-09 21:53:01 -04:00
Zach Daniel
4fb3c7d8c6 fix: bug on enum_definitions/3 call 2022-04-26 12:15:48 -04:00
Zach Daniel
8ed9938201 improvement: fix lint/credo/versions 2022-04-26 11:35:09 -04:00
Zach Daniel
5d35cf092e fix: ignore embedded resources accidentally placed in API 2022-03-25 13:17:35 -04:00
Zach Daniel
34bc363cf5 Revert "improvement: only do auto enums when doing resource types"
This reverts commit 64ef3efb52.
2022-03-24 18:53:46 -04:00
Zach Daniel
64ef3efb52 improvement: only do auto enums when doing resource types 2022-03-24 18:47:56 -04:00
Zach Daniel
191b9b2d80 fix: properly generate types for interval type 2022-01-31 15:06:06 -05:00
Michael St Clair
2348d97534
fix: pass calculation to field type (#29) 2021-10-08 15:59:06 -04:00
Zach Daniel
f9b1b75edc feat: more configurable error behavior
added `root_level_errors?` and `show_raised_errors?`
2021-09-09 11:49:36 -04:00
Zach Daniel
5dfff6a9a2 fix: if no primary key (only embeds support that), don't require id 2021-09-03 14:44:55 -04:00
Zach Daniel
4b78323550 fix: more non null primar keys! 2021-09-03 13:42:00 -04:00
Zach Daniel
91a457ed2e improvement: more non null constraints 2021-09-03 13:30:47 -04:00
Zach Daniel
50a3a1ccda fix: make primary key attributes appropriately non nil 2021-09-03 13:04:52 -04:00
Zach Daniel
d4f97febf5 improvement: support create/update metadata 2021-08-29 15:23:28 -04:00
Zach Daniel
d8a3e1b155 improvement: add groundwork for relay support 2021-08-03 18:56:08 -04:00
Zach Daniel
476888717a improvement: support latest ash 2021-07-04 16:44:36 -04:00
Zach Daniel
6c92a23040 improvement: update to latest ash 2021-07-01 22:59:16 -04:00
Zach Daniel
3a0b0c3f83 improvement: add as_mutation for queries
improvement: support `modify_resolution` for queries
2021-06-29 12:17:33 -04:00
Zach Daniel
5e593ec40c improvement: old json -> json_string
improvement: new json does not stringify outpu
2021-06-15 11:16:10 -04:00
Zach Daniel
0cc81ce9f6 improvement: support expression calculations 2021-06-04 15:07:12 -04:00
Zach Daniel
0aa2787d52 improvement: support identity: false for read
improvement: don't type embedded resources is nullable
2021-05-22 23:49:31 -04:00
Zach Daniel
053cef4a65 fix: destroys can still have input objects 2021-05-21 10:56:10 -04:00
Zach Daniel
3f0aab37e2 improvement: non nullable aggregates where possible 2021-05-15 12:03:58 -04:00
Zach Daniel
8945851fd1 improvement: add stacktraces? option 2021-05-14 12:25:43 -04:00
Zach Daniel
84ca2e7125 chore: format 2021-05-12 06:49:08 -04:00
Simon Bergström
c222e8088a
fix: Check for nil rather than the value as not does not accept a function (#23)
Co-authored-by: Simon Bergström <simon.bergstrom@erlang-solutions.com>
2021-05-12 06:48:58 -04:00
Zach Daniel
2422440da7
test: Added a test case to managed_relationship with a many_to_many resource (#22)
fix: fix compiler warning

Co-authored-by: Simon Bergström <simon.bergstrom@erlang-solutions.com>
2021-05-11 19:35:50 -04:00
Zach Daniel
3215bdbe12 fix: identities -> lookup_identities 2021-05-11 17:36:09 -04:00
Zach Daniel
aed4306fb9 fix: don't require attributes that should not be required 2021-05-11 17:27:26 -04:00
Zach Daniel
5ecf8bf838 improvement: allow customizing identity/pkey on_lookup 2021-05-11 12:12:28 -04:00
Zach Daniel
b8ca64590f fix: support soft destroys
fix: support actions with no input objects
2021-05-10 02:19:47 -04:00
Zach Daniel
83e0e604a7 improvement: support eliding a type from an input object 2021-05-06 17:22:48 -04:00
WolfDan
c530245295
improvement: Add float type (#20) 2021-05-05 16:15:01 -04:00
Zach Daniel
405264911c fix: properly support limit/offset on relationships 2021-05-04 09:31:39 -04:00
Zach Daniel
a8df1da3cd fix: don't require input types for filters 2021-04-30 16:22:21 -04:00
Zach Daniel
13799c37e7 fix: don't raise on missing relationship actions
fix: properly detect selection of count
2021-04-28 16:54:06 -04:00
Zach Daniel
f1f96cebe7 fix: support Has operator 2021-04-27 13:17:16 -04:00