@ptc-org/nestjs-query-graphql 0.30.1 → 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +149 -149
- package/README.md +4 -4
- package/package.json +7 -6
- package/src/auth/authorizer.d.ts +26 -0
- package/src/auth/authorizer.js +12 -0
- package/src/auth/authorizer.js.map +1 -0
- package/src/auth/default-crud.authorizer.d.ts +6 -0
- package/src/auth/default-crud.authorizer.js +74 -0
- package/src/auth/default-crud.authorizer.js.map +1 -0
- package/src/auth/index.d.ts +3 -0
- package/src/auth/index.js +7 -0
- package/src/auth/index.js.map +1 -0
- package/src/auth/tokens.d.ts +3 -0
- package/src/auth/tokens.js +8 -0
- package/src/auth/tokens.js.map +1 -0
- package/src/common/dto.utils.d.ts +15 -0
- package/src/common/dto.utils.js +32 -0
- package/src/common/dto.utils.js.map +1 -0
- package/src/common/external.utils.d.ts +10 -0
- package/src/common/external.utils.js +33 -0
- package/src/common/external.utils.js.map +1 -0
- package/src/common/index.d.ts +4 -0
- package/src/common/index.js +11 -0
- package/src/common/index.js.map +1 -0
- package/src/common/object.utils.d.ts +1 -0
- package/src/common/object.utils.js +14 -0
- package/src/common/object.utils.js.map +1 -0
- package/src/common/resolver.utils.d.ts +2 -0
- package/src/common/resolver.utils.js +19 -0
- package/src/common/resolver.utils.js.map +1 -0
- package/src/decorators/aggregate-query-param.decorator.d.ts +1 -0
- package/src/decorators/aggregate-query-param.decorator.js +21 -0
- package/src/decorators/aggregate-query-param.decorator.js.map +1 -0
- package/src/decorators/authorize-filter.decorator.d.ts +6 -0
- package/src/decorators/authorize-filter.decorator.js +67 -0
- package/src/decorators/authorize-filter.decorator.js.map +1 -0
- package/src/decorators/authorizer.decorator.d.ts +5 -0
- package/src/decorators/authorizer.decorator.js +24 -0
- package/src/decorators/authorizer.decorator.js.map +1 -0
- package/src/decorators/constants.d.ts +8 -0
- package/src/decorators/constants.js +12 -0
- package/src/decorators/constants.js.map +1 -0
- package/src/decorators/decorator.utils.d.ts +3 -0
- package/src/decorators/decorator.utils.js +21 -0
- package/src/decorators/decorator.utils.js.map +1 -0
- package/src/decorators/filterable-field.decorator.d.ts +47 -0
- package/src/decorators/filterable-field.decorator.js +53 -0
- package/src/decorators/filterable-field.decorator.js.map +1 -0
- package/src/decorators/hook-args.decorator.d.ts +3 -0
- package/src/decorators/hook-args.decorator.js +43 -0
- package/src/decorators/hook-args.decorator.js.map +1 -0
- package/src/decorators/hook.decorator.d.ts +13 -0
- package/src/decorators/hook.decorator.js +31 -0
- package/src/decorators/hook.decorator.js.map +1 -0
- package/src/decorators/id-field.decorator.d.ts +32 -0
- package/src/decorators/id-field.decorator.js +48 -0
- package/src/decorators/id-field.decorator.js.map +1 -0
- package/src/decorators/index.d.ts +21 -0
- package/src/decorators/index.js +39 -0
- package/src/decorators/index.js.map +1 -0
- package/src/decorators/inject-authorizer.decorator.d.ts +2 -0
- package/src/decorators/inject-authorizer.decorator.js +8 -0
- package/src/decorators/inject-authorizer.decorator.js.map +1 -0
- package/src/decorators/inject-custom-authorizer.decorator.d.ts +2 -0
- package/src/decorators/inject-custom-authorizer.decorator.js +8 -0
- package/src/decorators/inject-custom-authorizer.decorator.js.map +1 -0
- package/src/decorators/inject-pub-sub.decorator.d.ts +1 -0
- package/src/decorators/inject-pub-sub.decorator.js +8 -0
- package/src/decorators/inject-pub-sub.decorator.js.map +1 -0
- package/src/decorators/key-set.decorator.d.ts +3 -0
- package/src/decorators/key-set.decorator.js +13 -0
- package/src/decorators/key-set.decorator.js.map +1 -0
- package/src/decorators/query-options.decorator.d.ts +5 -0
- package/src/decorators/query-options.decorator.js +16 -0
- package/src/decorators/query-options.decorator.js.map +1 -0
- package/src/decorators/reference.decorator.d.ts +8 -0
- package/src/decorators/reference.decorator.js +36 -0
- package/src/decorators/reference.decorator.js.map +1 -0
- package/src/decorators/relation.decorator.d.ts +16 -0
- package/src/decorators/relation.decorator.js +53 -0
- package/src/decorators/relation.decorator.js.map +1 -0
- package/src/decorators/resolver-field.decorator.d.ts +11 -0
- package/src/decorators/resolver-field.decorator.js +22 -0
- package/src/decorators/resolver-field.decorator.js.map +1 -0
- package/src/decorators/resolver-method.decorator.d.ts +34 -0
- package/src/decorators/resolver-method.decorator.js +35 -0
- package/src/decorators/resolver-method.decorator.js.map +1 -0
- package/src/decorators/resolver-mutation.decorator.d.ts +10 -0
- package/src/decorators/resolver-mutation.decorator.js +21 -0
- package/src/decorators/resolver-mutation.decorator.js.map +1 -0
- package/src/decorators/resolver-query.decorator.d.ts +13 -0
- package/src/decorators/resolver-query.decorator.js +21 -0
- package/src/decorators/resolver-query.decorator.js.map +1 -0
- package/src/decorators/resolver-subscription.decorator.d.ts +7 -0
- package/src/decorators/resolver-subscription.decorator.js +18 -0
- package/src/decorators/resolver-subscription.decorator.js.map +1 -0
- package/src/decorators/skip-if.decorator.d.ts +8 -0
- package/src/decorators/skip-if.decorator.js +18 -0
- package/src/decorators/skip-if.decorator.js.map +1 -0
- package/src/federation/index.d.ts +1 -0
- package/src/federation/index.js +3 -0
- package/src/federation/index.js.map +1 -0
- package/src/federation/representation.type.d.ts +3 -0
- package/src/federation/representation.type.js +3 -0
- package/src/federation/representation.type.js.map +1 -0
- package/src/hooks/default.hook.d.ts +3 -0
- package/src/hooks/default.hook.js +13 -0
- package/src/hooks/default.hook.js.map +1 -0
- package/src/hooks/hooks.d.ts +14 -0
- package/src/hooks/hooks.js +8 -0
- package/src/hooks/hooks.js.map +1 -0
- package/src/hooks/index.d.ts +4 -0
- package/src/hooks/index.js +10 -0
- package/src/hooks/index.js.map +1 -0
- package/src/hooks/tokens.d.ts +3 -0
- package/src/hooks/tokens.js +6 -0
- package/src/hooks/tokens.js.map +1 -0
- package/src/hooks/types.d.ts +10 -0
- package/src/hooks/types.js +15 -0
- package/src/hooks/types.js.map +1 -0
- package/src/index.d.ts +11 -0
- package/src/index.js.map +1 -0
- package/src/interceptors/authorizer.interceptor.d.ts +7 -0
- package/src/interceptors/authorizer.interceptor.js +33 -0
- package/src/interceptors/authorizer.interceptor.js.map +1 -0
- package/src/interceptors/hook.interceptor.d.ts +7 -0
- package/src/interceptors/hook.interceptor.js +44 -0
- package/src/interceptors/hook.interceptor.js.map +1 -0
- package/src/interceptors/index.d.ts +2 -0
- package/src/interceptors/index.js +6 -0
- package/src/interceptors/index.js.map +1 -0
- package/src/loader/aggregate-relations.loader.d.ts +16 -0
- package/src/loader/aggregate-relations.loader.js +43 -0
- package/src/loader/aggregate-relations.loader.js.map +1 -0
- package/src/loader/count-relations.loader.d.ts +15 -0
- package/src/loader/count-relations.loader.js +42 -0
- package/src/loader/count-relations.loader.js.map +1 -0
- package/src/loader/dataloader.factory.d.ts +9 -0
- package/src/loader/dataloader.factory.js +27 -0
- package/src/loader/dataloader.factory.js.map +1 -0
- package/src/loader/find-relations.loader.d.ts +14 -0
- package/src/loader/find-relations.loader.js +42 -0
- package/src/loader/find-relations.loader.js.map +1 -0
- package/src/loader/index.d.ts +5 -0
- package/src/loader/index.js +9 -0
- package/src/loader/index.js.map +1 -0
- package/src/loader/query-relations.loader.d.ts +15 -0
- package/src/loader/query-relations.loader.js +43 -0
- package/src/loader/query-relations.loader.js.map +1 -0
- package/src/loader/relations.loader.d.ts +4 -0
- package/src/loader/relations.loader.js +3 -0
- package/src/loader/relations.loader.js.map +1 -0
- package/src/module.d.ts +31 -0
- package/src/module.js +55 -0
- package/src/module.js.map +1 -0
- package/src/providers/authorizer.provider.d.ts +3 -0
- package/src/providers/authorizer.provider.js +31 -0
- package/src/providers/authorizer.provider.js.map +1 -0
- package/src/providers/hook.provider.d.ts +5 -0
- package/src/providers/hook.provider.js +33 -0
- package/src/providers/hook.provider.js.map +1 -0
- package/src/providers/index.d.ts +3 -0
- package/src/providers/index.js +7 -0
- package/src/providers/index.js.map +1 -0
- package/src/providers/resolver.provider.d.ts +26 -0
- package/src/providers/resolver.provider.js +112 -0
- package/src/providers/resolver.provider.js.map +1 -0
- package/src/resolvers/aggregate.resolver.d.ts +16 -0
- package/src/resolvers/aggregate.resolver.js +56 -0
- package/src/resolvers/aggregate.resolver.js.map +1 -0
- package/src/resolvers/create.resolver.d.ts +57 -0
- package/src/resolvers/create.resolver.js +190 -0
- package/src/resolvers/create.resolver.js.map +1 -0
- package/src/resolvers/crud.resolver.d.ts +52 -0
- package/src/resolvers/crud.resolver.js +68 -0
- package/src/resolvers/crud.resolver.js.map +1 -0
- package/src/resolvers/delete.resolver.d.ts +32 -0
- package/src/resolvers/delete.resolver.js +186 -0
- package/src/resolvers/delete.resolver.js.map +1 -0
- package/src/resolvers/federation/federation.resolver.d.ts +4 -0
- package/src/resolvers/federation/federation.resolver.js +8 -0
- package/src/resolvers/federation/federation.resolver.js.map +1 -0
- package/src/resolvers/federation/index.d.ts +1 -0
- package/src/resolvers/federation/index.js +6 -0
- package/src/resolvers/federation/index.js.map +1 -0
- package/src/resolvers/helpers.d.ts +6 -0
- package/src/resolvers/helpers.js +38 -0
- package/src/resolvers/helpers.js.map +1 -0
- package/src/resolvers/index.d.ts +9 -0
- package/src/resolvers/index.js +20 -0
- package/src/resolvers/index.js.map +1 -0
- package/src/resolvers/read.resolver.d.ts +18 -0
- package/src/resolvers/read.resolver.js +75 -0
- package/src/resolvers/read.resolver.js.map +1 -0
- package/src/resolvers/reference.resolver.d.ts +11 -0
- package/src/resolvers/reference.resolver.js +41 -0
- package/src/resolvers/reference.resolver.js.map +1 -0
- package/src/resolvers/relations/aggregate-relations.resolver.d.ts +11 -0
- package/src/resolvers/relations/aggregate-relations.resolver.js +76 -0
- package/src/resolvers/relations/aggregate-relations.resolver.js.map +1 -0
- package/src/resolvers/relations/helpers.d.ts +4 -0
- package/src/resolvers/relations/helpers.js +10 -0
- package/src/resolvers/relations/helpers.js.map +1 -0
- package/src/resolvers/relations/index.d.ts +7 -0
- package/src/resolvers/relations/index.js +16 -0
- package/src/resolvers/relations/index.js.map +1 -0
- package/src/resolvers/relations/read-relations.resolver.d.ts +8 -0
- package/src/resolvers/relations/read-relations.resolver.js +114 -0
- package/src/resolvers/relations/read-relations.resolver.js.map +1 -0
- package/src/resolvers/relations/references-relation.resolver.d.ts +5 -0
- package/src/resolvers/relations/references-relation.resolver.js +55 -0
- package/src/resolvers/relations/references-relation.resolver.js.map +1 -0
- package/src/resolvers/relations/relations.interface.d.ts +78 -0
- package/src/resolvers/relations/relations.interface.js +3 -0
- package/src/resolvers/relations/relations.interface.js.map +1 -0
- package/src/resolvers/relations/relations.resolver.d.ts +8 -0
- package/src/resolvers/relations/relations.resolver.js +22 -0
- package/src/resolvers/relations/relations.resolver.js.map +1 -0
- package/src/resolvers/relations/remove-relations.resolver.d.ts +5 -0
- package/src/resolvers/relations/remove-relations.resolver.js +107 -0
- package/src/resolvers/relations/remove-relations.resolver.js.map +1 -0
- package/src/resolvers/relations/update-relations.resolver.d.ts +5 -0
- package/src/resolvers/relations/update-relations.resolver.js +138 -0
- package/src/resolvers/relations/update-relations.resolver.js.map +1 -0
- package/src/resolvers/resolver.interface.d.ts +47 -0
- package/src/resolvers/resolver.interface.js +14 -0
- package/src/resolvers/resolver.interface.js.map +1 -0
- package/src/resolvers/update.resolver.d.ts +23 -0
- package/src/resolvers/update.resolver.js +198 -0
- package/src/resolvers/update.resolver.js.map +1 -0
- package/src/subscription/index.d.ts +14 -0
- package/src/subscription/index.js +32 -0
- package/src/subscription/index.js.map +1 -0
- package/src/subscription/pub-sub.interface.d.ts +6 -0
- package/src/subscription/pub-sub.interface.js +3 -0
- package/src/subscription/pub-sub.interface.js.map +1 -0
- package/src/types/aggregate/aggregate-args.type.d.ts +9 -0
- package/src/types/aggregate/aggregate-args.type.js +30 -0
- package/src/types/aggregate/aggregate-args.type.js.map +1 -0
- package/src/types/aggregate/aggregate-response.type.d.ts +5 -0
- package/src/types/aggregate/aggregate-response.type.js +96 -0
- package/src/types/aggregate/aggregate-response.type.js.map +1 -0
- package/src/types/aggregate/index.d.ts +2 -0
- package/src/types/aggregate/index.js +8 -0
- package/src/types/aggregate/index.js.map +1 -0
- package/src/types/connection/array-connection.type.d.ts +4 -0
- package/src/types/connection/array-connection.type.js +20 -0
- package/src/types/connection/array-connection.type.js.map +1 -0
- package/src/types/connection/cursor/cursor-connection.type.d.ts +4 -0
- package/src/types/connection/cursor/cursor-connection.type.js +72 -0
- package/src/types/connection/cursor/cursor-connection.type.js.map +1 -0
- package/src/types/connection/cursor/edge.type.d.ts +7 -0
- package/src/types/connection/cursor/edge.type.js +36 -0
- package/src/types/connection/cursor/edge.type.js.map +1 -0
- package/src/types/connection/cursor/index.d.ts +1 -0
- package/src/types/connection/cursor/index.js +5 -0
- package/src/types/connection/cursor/index.js.map +1 -0
- package/src/types/connection/cursor/page-info.type.d.ts +6 -0
- package/src/types/connection/cursor/page-info.type.js +49 -0
- package/src/types/connection/cursor/page-info.type.js.map +1 -0
- package/src/types/connection/cursor/pager/index.d.ts +7 -0
- package/src/types/connection/cursor/pager/index.js +16 -0
- package/src/types/connection/cursor/pager/index.js.map +1 -0
- package/src/types/connection/cursor/pager/interfaces.d.ts +12 -0
- package/src/types/connection/cursor/pager/interfaces.js +3 -0
- package/src/types/connection/cursor/pager/interfaces.js.map +1 -0
- package/src/types/connection/cursor/pager/pager.d.ts +15 -0
- package/src/types/connection/cursor/pager/pager.js +83 -0
- package/src/types/connection/cursor/pager/pager.js.map +1 -0
- package/src/types/connection/cursor/pager/strategies/helpers.d.ts +6 -0
- package/src/types/connection/cursor/pager/strategies/helpers.js +24 -0
- package/src/types/connection/cursor/pager/strategies/helpers.js.map +1 -0
- package/src/types/connection/cursor/pager/strategies/index.d.ts +4 -0
- package/src/types/connection/cursor/pager/strategies/index.js +8 -0
- package/src/types/connection/cursor/pager/strategies/index.js.map +1 -0
- package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.d.ts +19 -0
- package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.js +123 -0
- package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.js.map +1 -0
- package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.d.ts +15 -0
- package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.js +88 -0
- package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.js.map +1 -0
- package/src/types/connection/cursor/pager/strategies/pager-strategy.d.ts +33 -0
- package/src/types/connection/cursor/pager/strategies/pager-strategy.js +3 -0
- package/src/types/connection/cursor/pager/strategies/pager-strategy.js.map +1 -0
- package/src/types/connection/index.d.ts +4 -0
- package/src/types/connection/index.js +10 -0
- package/src/types/connection/index.js.map +1 -0
- package/src/types/connection/interfaces.d.ts +60 -0
- package/src/types/connection/interfaces.js +3 -0
- package/src/types/connection/interfaces.js.map +1 -0
- package/src/types/connection/offset/index.d.ts +2 -0
- package/src/types/connection/offset/index.js +6 -0
- package/src/types/connection/offset/index.js.map +1 -0
- package/src/types/connection/offset/offset-connection.type.d.ts +4 -0
- package/src/types/connection/offset/offset-connection.type.js +68 -0
- package/src/types/connection/offset/offset-connection.type.js.map +1 -0
- package/src/types/connection/offset/offset-page-info.type.d.ts +5 -0
- package/src/types/connection/offset/offset-page-info.type.js +35 -0
- package/src/types/connection/offset/offset-page-info.type.js.map +1 -0
- package/src/types/connection/offset/pager/index.d.ts +4 -0
- package/src/types/connection/offset/pager/index.js +8 -0
- package/src/types/connection/offset/pager/index.js.map +1 -0
- package/src/types/connection/offset/pager/interfaces.d.ts +12 -0
- package/src/types/connection/offset/pager/interfaces.js +3 -0
- package/src/types/connection/offset/pager/interfaces.js.map +1 -0
- package/src/types/connection/offset/pager/pager.d.ts +12 -0
- package/src/types/connection/offset/pager/pager.js +62 -0
- package/src/types/connection/offset/pager/pager.js.map +1 -0
- package/src/types/create-many-input.type.d.ts +10 -0
- package/src/types/create-many-input.type.js +42 -0
- package/src/types/create-many-input.type.js.map +1 -0
- package/src/types/create-one-input.type.d.ts +11 -0
- package/src/types/create-one-input.type.js +42 -0
- package/src/types/create-one-input.type.js.map +1 -0
- package/src/types/cursor.scalar.d.ts +3 -0
- package/src/types/cursor.scalar.js +21 -0
- package/src/types/cursor.scalar.js.map +1 -0
- package/src/types/delete-many-input.type.d.ts +9 -0
- package/src/types/delete-many-input.type.js +31 -0
- package/src/types/delete-many-input.type.js.map +1 -0
- package/src/types/delete-many-reponse.type.d.ts +2 -0
- package/src/types/delete-many-reponse.type.js +25 -0
- package/src/types/delete-many-reponse.type.js.map +1 -0
- package/src/types/delete-one-input.type.d.ts +8 -0
- package/src/types/delete-one-input.type.js +27 -0
- package/src/types/delete-one-input.type.js.map +1 -0
- package/src/types/find-one-args.type.d.ts +8 -0
- package/src/types/find-one-args.type.js +27 -0
- package/src/types/find-one-args.type.js.map +1 -0
- package/src/types/index.d.ts +18 -0
- package/src/types/index.js +44 -0
- package/src/types/index.js.map +1 -0
- package/src/types/mutation-args.type.d.ts +5 -0
- package/src/types/mutation-args.type.js +24 -0
- package/src/types/mutation-args.type.js.map +1 -0
- package/src/types/query/field-comparison/boolean-field-comparison.type.d.ts +3 -0
- package/src/types/query/field-comparison/boolean-field-comparison.type.js +35 -0
- package/src/types/query/field-comparison/boolean-field-comparison.type.js.map +1 -0
- package/src/types/query/field-comparison/date-field-comparison.type.d.ts +3 -0
- package/src/types/query/field-comparison/date-field-comparison.type.js +112 -0
- package/src/types/query/field-comparison/date-field-comparison.type.js.map +1 -0
- package/src/types/query/field-comparison/field-comparison.factory.d.ts +11 -0
- package/src/types/query/field-comparison/field-comparison.factory.js +166 -0
- package/src/types/query/field-comparison/field-comparison.factory.js.map +1 -0
- package/src/types/query/field-comparison/float-field-comparison.type.d.ts +3 -0
- package/src/types/query/field-comparison/float-field-comparison.type.js +112 -0
- package/src/types/query/field-comparison/float-field-comparison.type.js.map +1 -0
- package/src/types/query/field-comparison/index.d.ts +8 -0
- package/src/types/query/field-comparison/index.js +12 -0
- package/src/types/query/field-comparison/index.js.map +1 -0
- package/src/types/query/field-comparison/int-field-comparison.type.d.ts +3 -0
- package/src/types/query/field-comparison/int-field-comparison.type.js +112 -0
- package/src/types/query/field-comparison/int-field-comparison.type.js.map +1 -0
- package/src/types/query/field-comparison/number-field-comparison.type.d.ts +3 -0
- package/src/types/query/field-comparison/number-field-comparison.type.js +112 -0
- package/src/types/query/field-comparison/number-field-comparison.type.js.map +1 -0
- package/src/types/query/field-comparison/string-field-comparison.type.d.ts +3 -0
- package/src/types/query/field-comparison/string-field-comparison.type.js +108 -0
- package/src/types/query/field-comparison/string-field-comparison.type.js.map +1 -0
- package/src/types/query/field-comparison/timestamp-field-comparison.type.d.ts +3 -0
- package/src/types/query/field-comparison/timestamp-field-comparison.type.js +112 -0
- package/src/types/query/field-comparison/timestamp-field-comparison.type.js.map +1 -0
- package/src/types/query/filter.type.d.ts +14 -0
- package/src/types/query/filter.type.js +103 -0
- package/src/types/query/filter.type.js.map +1 -0
- package/src/types/query/helpers.d.ts +1 -0
- package/src/types/query/helpers.js +6 -0
- package/src/types/query/helpers.js.map +1 -0
- package/src/types/query/index.d.ts +4 -0
- package/src/types/query/index.js +14 -0
- package/src/types/query/index.js.map +1 -0
- package/src/types/query/paging/constants.d.ts +5 -0
- package/src/types/query/paging/constants.js +10 -0
- package/src/types/query/paging/constants.js.map +1 -0
- package/src/types/query/paging/cursor-paging.type.d.ts +3 -0
- package/src/types/query/paging/cursor-paging.type.js +69 -0
- package/src/types/query/paging/cursor-paging.type.js.map +1 -0
- package/src/types/query/paging/index.d.ts +5 -0
- package/src/types/query/paging/index.js +12 -0
- package/src/types/query/paging/index.js.map +1 -0
- package/src/types/query/paging/interfaces.d.ts +13 -0
- package/src/types/query/paging/interfaces.js +3 -0
- package/src/types/query/paging/interfaces.js.map +1 -0
- package/src/types/query/paging/none-paging.type.d.ts +3 -0
- package/src/types/query/paging/none-paging.type.js +18 -0
- package/src/types/query/paging/none-paging.type.js.map +1 -0
- package/src/types/query/paging/offset-paging.type.d.ts +3 -0
- package/src/types/query/paging/offset-paging.type.js +43 -0
- package/src/types/query/paging/offset-paging.type.js.map +1 -0
- package/src/types/query/query-args/constants.d.ts +6 -0
- package/src/types/query/query-args/constants.js +10 -0
- package/src/types/query/query-args/constants.js.map +1 -0
- package/src/types/query/query-args/cursor-query-args.type.d.ts +5 -0
- package/src/types/query/query-args/cursor-query-args.type.js +61 -0
- package/src/types/query/query-args/cursor-query-args.type.js.map +1 -0
- package/src/types/query/query-args/index.d.ts +5 -0
- package/src/types/query/query-args/index.js +9 -0
- package/src/types/query/query-args/index.js.map +1 -0
- package/src/types/query/query-args/interfaces.d.ts +45 -0
- package/src/types/query/query-args/interfaces.js +3 -0
- package/src/types/query/query-args/interfaces.js.map +1 -0
- package/src/types/query/query-args/none-paging-query-args.type.d.ts +5 -0
- package/src/types/query/query-args/none-paging-query-args.type.js +49 -0
- package/src/types/query/query-args/none-paging-query-args.type.js.map +1 -0
- package/src/types/query/query-args/offset-query-args.type.d.ts +5 -0
- package/src/types/query/query-args/offset-query-args.type.js +60 -0
- package/src/types/query/query-args/offset-query-args.type.js.map +1 -0
- package/src/types/query/query-args.type.d.ts +8 -0
- package/src/types/query/query-args.type.js +33 -0
- package/src/types/query/query-args.type.js.map +1 -0
- package/src/types/query/sorting.type.d.ts +2 -0
- package/src/types/query/sorting.type.js +55 -0
- package/src/types/query/sorting.type.js.map +1 -0
- package/src/types/relation-input.type.d.ts +6 -0
- package/src/types/relation-input.type.js +30 -0
- package/src/types/relation-input.type.js.map +1 -0
- package/src/types/relations-input.type.d.ts +6 -0
- package/src/types/relations-input.type.js +31 -0
- package/src/types/relations-input.type.js.map +1 -0
- package/src/types/subscription-args.type.d.ts +5 -0
- package/src/types/subscription-args.type.js +24 -0
- package/src/types/subscription-args.type.js.map +1 -0
- package/src/types/subscription-filter-input.type.d.ts +9 -0
- package/src/types/subscription-filter-input.type.js +32 -0
- package/src/types/subscription-filter-input.type.js.map +1 -0
- package/src/types/type.errors.d.ts +5 -0
- package/src/types/type.errors.js +11 -0
- package/src/types/type.errors.js.map +1 -0
- package/src/types/update-many-input.type.d.ts +11 -0
- package/src/types/update-many-input.type.js +38 -0
- package/src/types/update-many-input.type.js.map +1 -0
- package/src/types/update-many-response.type.d.ts +2 -0
- package/src/types/update-many-response.type.js +25 -0
- package/src/types/update-many-response.type.js.map +1 -0
- package/src/types/update-one-input.type.d.ts +11 -0
- package/src/types/update-one-input.type.js +36 -0
- package/src/types/update-one-input.type.js.map +1 -0
- package/src/types/validators/cannot-use-with.validator.d.ts +6 -0
- package/src/types/validators/cannot-use-with.validator.js +21 -0
- package/src/types/validators/cannot-use-with.validator.js.map +1 -0
- package/src/types/validators/cannot-use-without.validator.d.ts +6 -0
- package/src/types/validators/cannot-use-without.validator.js +22 -0
- package/src/types/validators/cannot-use-without.validator.js.map +1 -0
- package/src/types/validators/index.d.ts +3 -0
- package/src/types/validators/index.js +7 -0
- package/src/types/validators/index.js.map +1 -0
- package/src/types/validators/is-undefined.validator.d.ts +3 -0
- package/src/types/validators/is-undefined.validator.js +11 -0
- package/src/types/validators/is-undefined.validator.js.map +1 -0
- package/src/types/validators/property-max.validator.d.ts +6 -0
- package/src/types/validators/property-max.validator.js +30 -0
- package/src/types/validators/property-max.validator.js.map +1 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { QueryService } from '@ptc-org/nestjs-query-core';
|
|
2
|
+
import { DTONamesOpts } from '../common';
|
|
3
|
+
import { QueryResolverMethodOpts, SubscriptionResolverMethodOpts } from '../decorators';
|
|
4
|
+
import { GraphQLPubSub } from '../subscription';
|
|
5
|
+
import { PagingStrategies, QueryArgsTypeOpts } from '../types';
|
|
6
|
+
declare type NamedEndpoint = {
|
|
7
|
+
/** Specify to override the name of the graphql query or mutation * */
|
|
8
|
+
name?: string;
|
|
9
|
+
/** Specify a description for the graphql query or mutation* */
|
|
10
|
+
description?: string;
|
|
11
|
+
};
|
|
12
|
+
export interface ResolverOpts extends QueryResolverMethodOpts, DTONamesOpts {
|
|
13
|
+
/**
|
|
14
|
+
* Options for single record graphql endpoints
|
|
15
|
+
*/
|
|
16
|
+
one?: QueryResolverMethodOpts & NamedEndpoint;
|
|
17
|
+
/**
|
|
18
|
+
* Options for multiple record graphql endpoints
|
|
19
|
+
*/
|
|
20
|
+
many?: QueryResolverMethodOpts & NamedEndpoint;
|
|
21
|
+
}
|
|
22
|
+
export interface SubscriptionResolverOpts extends SubscriptionResolverMethodOpts, DTONamesOpts {
|
|
23
|
+
one?: SubscriptionResolverMethodOpts & NamedEndpoint;
|
|
24
|
+
many?: SubscriptionResolverMethodOpts & NamedEndpoint;
|
|
25
|
+
}
|
|
26
|
+
/** @internal */
|
|
27
|
+
export interface ServiceResolver<DTO, QS extends QueryService<DTO, unknown, unknown>> {
|
|
28
|
+
service: QS;
|
|
29
|
+
readonly pubSub?: GraphQLPubSub;
|
|
30
|
+
}
|
|
31
|
+
/** @internal */
|
|
32
|
+
export interface ResolverClass<DTO, QS extends QueryService<DTO, unknown, unknown>, Resolver extends ServiceResolver<DTO, QS>> {
|
|
33
|
+
new (service: QS): Resolver;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @internal
|
|
37
|
+
* Base Resolver that takes in a service as a constructor argument.
|
|
38
|
+
*/
|
|
39
|
+
export declare class BaseServiceResolver<DTO, QS extends QueryService<DTO, unknown, unknown>> {
|
|
40
|
+
readonly service: QS;
|
|
41
|
+
constructor(service: QS);
|
|
42
|
+
}
|
|
43
|
+
export declare type ExtractPagingStrategy<DTO, Opts extends QueryArgsTypeOpts<DTO>> = Opts['pagingStrategy'] extends PagingStrategies ? Opts['pagingStrategy'] : PagingStrategies.CURSOR;
|
|
44
|
+
export declare type MergePagingStrategyOpts<DTO, Opts extends QueryArgsTypeOpts<DTO>, S extends PagingStrategies> = Opts['pagingStrategy'] extends PagingStrategies ? Opts : S extends PagingStrategies ? Omit<Opts, 'pagingStrategy'> & {
|
|
45
|
+
pagingStrategy: S;
|
|
46
|
+
} : Opts;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseServiceResolver = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
* Base Resolver that takes in a service as a constructor argument.
|
|
7
|
+
*/
|
|
8
|
+
class BaseServiceResolver {
|
|
9
|
+
constructor(service) {
|
|
10
|
+
this.service = service;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.BaseServiceResolver = BaseServiceResolver;
|
|
14
|
+
//# sourceMappingURL=resolver.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.interface.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/resolver.interface.ts"],"names":[],"mappings":";;;AA4CA;;;GAGG;AACH,MAAa,mBAAmB;IAC9B,YAAqB,OAAW;QAAX,YAAO,GAAP,OAAO,CAAI;IAAG,CAAC;CACrC;AAFD,kDAEC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Class, DeepPartial, DeleteManyResponse, Filter, QueryService, UpdateManyResponse } from '@ptc-org/nestjs-query-core';
|
|
2
|
+
import { MutationArgsType, SubscriptionArgsType, UpdateManyInputType, UpdateOneInputType } from '../types';
|
|
3
|
+
import { ResolverClass, ServiceResolver, SubscriptionResolverOpts } from './resolver.interface';
|
|
4
|
+
export declare type UpdatedEvent<DTO> = {
|
|
5
|
+
[eventName: string]: DTO;
|
|
6
|
+
};
|
|
7
|
+
export interface UpdateResolverOpts<DTO, U = DeepPartial<DTO>> extends SubscriptionResolverOpts {
|
|
8
|
+
UpdateDTOClass?: Class<U>;
|
|
9
|
+
UpdateOneInput?: Class<UpdateOneInputType<U>>;
|
|
10
|
+
UpdateManyInput?: Class<UpdateManyInputType<DTO, U>>;
|
|
11
|
+
}
|
|
12
|
+
export interface UpdateResolver<DTO, U, QS extends QueryService<DTO, unknown, U>> extends ServiceResolver<DTO, QS> {
|
|
13
|
+
updateOne(input: MutationArgsType<UpdateOneInputType<U>>, authFilter?: Filter<DTO>): Promise<DTO>;
|
|
14
|
+
updateMany(input: MutationArgsType<UpdateManyInputType<DTO, U>>, authFilter?: Filter<DTO>): Promise<UpdateManyResponse>;
|
|
15
|
+
updatedOneSubscription(input?: SubscriptionArgsType<DTO>, authFilter?: Filter<DTO>): AsyncIterator<UpdatedEvent<DTO>>;
|
|
16
|
+
updatedManySubscription(authFilter?: Filter<DTO>): AsyncIterator<UpdatedEvent<DeleteManyResponse>>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
* Mixin to add `update` graphql endpoints.
|
|
21
|
+
*/
|
|
22
|
+
export declare const Updateable: <DTO, U, QS extends QueryService<DTO, unknown, U>>(DTOClass: Class<DTO>, opts: UpdateResolverOpts<DTO, U>) => <B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B) => Class<UpdateResolver<DTO, U, QS>> & B;
|
|
23
|
+
export declare const UpdateResolver: <DTO, U = DeepPartial<DTO>, QS extends QueryService<DTO, unknown, U> = QueryService<DTO, unknown, U>>(DTOClass: Class<DTO>, opts?: UpdateResolverOpts<DTO, U>) => ResolverClass<DTO, QS, UpdateResolver<DTO, U, QS>>;
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateResolver = exports.Updateable = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
// eslint-disable-next-line max-classes-per-file
|
|
6
|
+
const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
|
|
7
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
8
|
+
const lodash_omit_1 = (0, tslib_1.__importDefault)(require("lodash.omit"));
|
|
9
|
+
const hooks_1 = require("../hooks");
|
|
10
|
+
const common_1 = require("../common");
|
|
11
|
+
const subscription_1 = require("../subscription");
|
|
12
|
+
const types_1 = require("../types");
|
|
13
|
+
const resolver_interface_1 = require("./resolver.interface");
|
|
14
|
+
const decorators_1 = require("../decorators");
|
|
15
|
+
const helpers_1 = require("./helpers");
|
|
16
|
+
const interceptors_1 = require("../interceptors");
|
|
17
|
+
const auth_1 = require("../auth");
|
|
18
|
+
/** @internal */
|
|
19
|
+
const defaultUpdateInput = (dtoNames, DTOClass) => {
|
|
20
|
+
let UpdateType =
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
class UpdateType extends (0, graphql_1.PartialType)(DTOClass, graphql_1.InputType) {
|
|
24
|
+
};
|
|
25
|
+
UpdateType = (0, tslib_1.__decorate)([
|
|
26
|
+
(0, graphql_1.InputType)(`Update${dtoNames.baseName}`)
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
], UpdateType);
|
|
30
|
+
return UpdateType;
|
|
31
|
+
};
|
|
32
|
+
/** @internal */
|
|
33
|
+
const defaultUpdateOneInput = (dtoNames, DTOClass, UpdateDTO) => {
|
|
34
|
+
const { baseName } = dtoNames;
|
|
35
|
+
let UM = class UM extends (0, types_1.UpdateOneInputType)(DTOClass, UpdateDTO) {
|
|
36
|
+
};
|
|
37
|
+
UM = (0, tslib_1.__decorate)([
|
|
38
|
+
(0, graphql_1.InputType)(`UpdateOne${baseName}Input`)
|
|
39
|
+
], UM);
|
|
40
|
+
return UM;
|
|
41
|
+
};
|
|
42
|
+
/** @internal */
|
|
43
|
+
const defaultUpdateManyInput = (dtoNames, DTOClass, UpdateDTO) => {
|
|
44
|
+
const { pluralBaseName } = dtoNames;
|
|
45
|
+
let UM = class UM extends (0, types_1.UpdateManyInputType)(DTOClass, UpdateDTO) {
|
|
46
|
+
};
|
|
47
|
+
UM = (0, tslib_1.__decorate)([
|
|
48
|
+
(0, graphql_1.InputType)(`UpdateMany${pluralBaseName}Input`)
|
|
49
|
+
], UM);
|
|
50
|
+
return UM;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* @internal
|
|
54
|
+
* Mixin to add `update` graphql endpoints.
|
|
55
|
+
*/
|
|
56
|
+
const Updateable = (DTOClass, opts) => (BaseClass) => {
|
|
57
|
+
const dtoNames = (0, common_1.getDTONames)(DTOClass, opts);
|
|
58
|
+
const { baseName, pluralBaseName } = dtoNames;
|
|
59
|
+
const UMR = (0, types_1.UpdateManyResponseType)();
|
|
60
|
+
const enableSubscriptions = opts.enableSubscriptions === true;
|
|
61
|
+
const enableOneSubscriptions = opts.one?.enableSubscriptions ?? enableSubscriptions;
|
|
62
|
+
const enableManySubscriptions = opts.many?.enableSubscriptions ?? enableSubscriptions;
|
|
63
|
+
const updateOneEvent = (0, subscription_1.getDTOEventName)(subscription_1.EventType.UPDATED_ONE, DTOClass);
|
|
64
|
+
const updateManyEvent = (0, subscription_1.getDTOEventName)(subscription_1.EventType.UPDATED_MANY, DTOClass);
|
|
65
|
+
const { UpdateDTOClass = defaultUpdateInput(dtoNames, DTOClass), UpdateOneInput = defaultUpdateOneInput(dtoNames, DTOClass, UpdateDTOClass), UpdateManyInput = defaultUpdateManyInput(dtoNames, DTOClass, UpdateDTOClass), } = opts;
|
|
66
|
+
const updateOneMutationName = opts.one?.name ?? `updateOne${baseName}`;
|
|
67
|
+
const updateManyMutationName = opts.many?.name ?? `updateMany${pluralBaseName}`;
|
|
68
|
+
const commonResolverOpts = (0, lodash_omit_1.default)(opts, 'dtoName', 'one', 'many', 'UpdateDTOClass', 'UpdateOneInput', 'UpdateManyInput');
|
|
69
|
+
let UO = class UO extends (0, types_1.MutationArgsType)(UpdateOneInput) {
|
|
70
|
+
};
|
|
71
|
+
UO = (0, tslib_1.__decorate)([
|
|
72
|
+
(0, graphql_1.ArgsType)()
|
|
73
|
+
], UO);
|
|
74
|
+
let UM = class UM extends (0, types_1.MutationArgsType)(UpdateManyInput) {
|
|
75
|
+
};
|
|
76
|
+
UM = (0, tslib_1.__decorate)([
|
|
77
|
+
(0, graphql_1.ArgsType)()
|
|
78
|
+
], UM);
|
|
79
|
+
let SI = class SI extends (0, types_1.SubscriptionFilterInputType)(DTOClass) {
|
|
80
|
+
};
|
|
81
|
+
SI = (0, tslib_1.__decorate)([
|
|
82
|
+
(0, graphql_1.InputType)(`UpdateOne${baseName}SubscriptionFilterInput`)
|
|
83
|
+
], SI);
|
|
84
|
+
let UOSA = class UOSA extends (0, types_1.SubscriptionArgsType)(SI) {
|
|
85
|
+
};
|
|
86
|
+
UOSA = (0, tslib_1.__decorate)([
|
|
87
|
+
(0, graphql_1.ArgsType)()
|
|
88
|
+
], UOSA);
|
|
89
|
+
const updateOneSubscriptionFilter = (0, helpers_1.createSubscriptionFilter)(SI, updateOneEvent);
|
|
90
|
+
let UpdateResolverBase = class UpdateResolverBase extends BaseClass {
|
|
91
|
+
async updateOne(input, authorizeFilter) {
|
|
92
|
+
const { id, update } = input.input;
|
|
93
|
+
const updateResult = await this.service.updateOne(id, update, { filter: authorizeFilter ?? {} });
|
|
94
|
+
if (enableOneSubscriptions) {
|
|
95
|
+
await this.publishUpdatedOneEvent(updateResult, authorizeFilter);
|
|
96
|
+
}
|
|
97
|
+
return updateResult;
|
|
98
|
+
}
|
|
99
|
+
async updateMany(input, authorizeFilter) {
|
|
100
|
+
const { update, filter } = input.input;
|
|
101
|
+
const updateManyResponse = await this.service.updateMany(update, (0, nestjs_query_core_1.mergeFilter)(filter, authorizeFilter ?? {}));
|
|
102
|
+
if (enableManySubscriptions) {
|
|
103
|
+
await this.publishUpdatedManyEvent(updateManyResponse, authorizeFilter);
|
|
104
|
+
}
|
|
105
|
+
return updateManyResponse;
|
|
106
|
+
}
|
|
107
|
+
async publishUpdatedOneEvent(dto, authorizeFilter) {
|
|
108
|
+
if (this.pubSub) {
|
|
109
|
+
const eventName = (0, helpers_1.getSubscriptionEventName)(updateOneEvent, authorizeFilter);
|
|
110
|
+
await this.pubSub.publish(eventName, { [updateOneEvent]: dto });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async publishUpdatedManyEvent(umr, authorizeFilter) {
|
|
114
|
+
if (this.pubSub) {
|
|
115
|
+
const eventName = (0, helpers_1.getSubscriptionEventName)(updateManyEvent, authorizeFilter);
|
|
116
|
+
await this.pubSub.publish(eventName, { [updateManyEvent]: umr });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// input required so graphql subscription filtering will work.
|
|
120
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
121
|
+
updatedOneSubscription(input, authorizeFilter) {
|
|
122
|
+
if (!enableOneSubscriptions || !this.pubSub) {
|
|
123
|
+
throw new Error(`Unable to subscribe to ${updateOneEvent}`);
|
|
124
|
+
}
|
|
125
|
+
const eventName = (0, helpers_1.getSubscriptionEventName)(updateOneEvent, authorizeFilter);
|
|
126
|
+
return this.pubSub.asyncIterator(eventName);
|
|
127
|
+
}
|
|
128
|
+
updatedManySubscription(authorizeFilter) {
|
|
129
|
+
if (!enableManySubscriptions || !this.pubSub) {
|
|
130
|
+
throw new Error(`Unable to subscribe to ${updateManyEvent}`);
|
|
131
|
+
}
|
|
132
|
+
const eventName = (0, helpers_1.getSubscriptionEventName)(updateManyEvent, authorizeFilter);
|
|
133
|
+
return this.pubSub.asyncIterator(eventName);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
(0, tslib_1.__decorate)([
|
|
137
|
+
(0, decorators_1.ResolverMutation)(() => DTOClass, { name: updateOneMutationName, description: opts?.one?.description }, {
|
|
138
|
+
interceptors: [
|
|
139
|
+
(0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_UPDATE_ONE, UpdateDTOClass, DTOClass),
|
|
140
|
+
(0, interceptors_1.AuthorizerInterceptor)(DTOClass),
|
|
141
|
+
],
|
|
142
|
+
}, commonResolverOpts, opts.one ?? {}),
|
|
143
|
+
(0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
|
|
144
|
+
(0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
|
|
145
|
+
operationGroup: auth_1.OperationGroup.UPDATE,
|
|
146
|
+
many: false,
|
|
147
|
+
})),
|
|
148
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
|
149
|
+
(0, tslib_1.__metadata)("design:paramtypes", [UO, Object]),
|
|
150
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
|
151
|
+
], UpdateResolverBase.prototype, "updateOne", null);
|
|
152
|
+
(0, tslib_1.__decorate)([
|
|
153
|
+
(0, decorators_1.ResolverMutation)(() => UMR, { name: updateManyMutationName, description: opts?.many?.description }, {
|
|
154
|
+
interceptors: [
|
|
155
|
+
(0, interceptors_1.HookInterceptor)(hooks_1.HookTypes.BEFORE_UPDATE_MANY, UpdateDTOClass, DTOClass),
|
|
156
|
+
(0, interceptors_1.AuthorizerInterceptor)(DTOClass),
|
|
157
|
+
],
|
|
158
|
+
}, commonResolverOpts, opts.many ?? {}),
|
|
159
|
+
(0, tslib_1.__param)(0, (0, decorators_1.MutationHookArgs)()),
|
|
160
|
+
(0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({
|
|
161
|
+
operationGroup: auth_1.OperationGroup.UPDATE,
|
|
162
|
+
many: true,
|
|
163
|
+
})),
|
|
164
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
|
165
|
+
(0, tslib_1.__metadata)("design:paramtypes", [UM, Object]),
|
|
166
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
|
167
|
+
], UpdateResolverBase.prototype, "updateMany", null);
|
|
168
|
+
(0, tslib_1.__decorate)([
|
|
169
|
+
(0, decorators_1.ResolverSubscription)(() => DTOClass, { name: updateOneEvent, filter: updateOneSubscriptionFilter }, commonResolverOpts, {
|
|
170
|
+
enableSubscriptions: enableOneSubscriptions,
|
|
171
|
+
interceptors: [(0, interceptors_1.AuthorizerInterceptor)(DTOClass)],
|
|
172
|
+
}),
|
|
173
|
+
(0, tslib_1.__param)(0, (0, graphql_1.Args)()),
|
|
174
|
+
(0, tslib_1.__param)(1, (0, decorators_1.AuthorizerFilter)({ operationGroup: auth_1.OperationGroup.UPDATE, many: false })),
|
|
175
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
|
176
|
+
(0, tslib_1.__metadata)("design:paramtypes", [UOSA, Object]),
|
|
177
|
+
(0, tslib_1.__metadata)("design:returntype", Object)
|
|
178
|
+
], UpdateResolverBase.prototype, "updatedOneSubscription", null);
|
|
179
|
+
(0, tslib_1.__decorate)([
|
|
180
|
+
(0, decorators_1.ResolverSubscription)(() => UMR, { name: updateManyEvent }, commonResolverOpts, {
|
|
181
|
+
enableSubscriptions: enableManySubscriptions,
|
|
182
|
+
interceptors: [(0, interceptors_1.AuthorizerInterceptor)(DTOClass)],
|
|
183
|
+
}),
|
|
184
|
+
(0, tslib_1.__param)(0, (0, decorators_1.AuthorizerFilter)({ operationGroup: auth_1.OperationGroup.UPDATE, many: true })),
|
|
185
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
|
186
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
|
187
|
+
(0, tslib_1.__metadata)("design:returntype", Object)
|
|
188
|
+
], UpdateResolverBase.prototype, "updatedManySubscription", null);
|
|
189
|
+
UpdateResolverBase = (0, tslib_1.__decorate)([
|
|
190
|
+
(0, graphql_1.Resolver)(() => DTOClass, { isAbstract: true })
|
|
191
|
+
], UpdateResolverBase);
|
|
192
|
+
return UpdateResolverBase;
|
|
193
|
+
};
|
|
194
|
+
exports.Updateable = Updateable;
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
|
|
196
|
+
const UpdateResolver = (DTOClass, opts = {}) => (0, exports.Updateable)(DTOClass, opts)(resolver_interface_1.BaseServiceResolver);
|
|
197
|
+
exports.UpdateResolver = UpdateResolver;
|
|
198
|
+
//# sourceMappingURL=update.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.resolver.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/resolvers/update.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Class } from '@ptc-org/nestjs-query-core';
|
|
2
|
+
import { DTONamesOpts } from '../common';
|
|
3
|
+
import { GraphQLPubSub } from './pub-sub.interface';
|
|
4
|
+
export { GraphQLPubSub } from './pub-sub.interface';
|
|
5
|
+
export declare enum EventType {
|
|
6
|
+
CREATED = "created",
|
|
7
|
+
UPDATED_ONE = "updatedOne",
|
|
8
|
+
UPDATED_MANY = "updatedMany",
|
|
9
|
+
DELETED_ONE = "deletedOne",
|
|
10
|
+
DELETED_MANY = "deletedMany"
|
|
11
|
+
}
|
|
12
|
+
export declare const getDTOEventName: <DTO>(type: EventType, DTOClass: Class<DTO>, opts?: DTONamesOpts) => string;
|
|
13
|
+
export declare const pubSubToken: () => string;
|
|
14
|
+
export declare const defaultPubSub: () => GraphQLPubSub;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultPubSub = exports.pubSubToken = exports.getDTOEventName = exports.EventType = void 0;
|
|
4
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
5
|
+
const common_1 = require("../common");
|
|
6
|
+
var EventType;
|
|
7
|
+
(function (EventType) {
|
|
8
|
+
EventType["CREATED"] = "created";
|
|
9
|
+
EventType["UPDATED_ONE"] = "updatedOne";
|
|
10
|
+
EventType["UPDATED_MANY"] = "updatedMany";
|
|
11
|
+
EventType["DELETED_ONE"] = "deletedOne";
|
|
12
|
+
EventType["DELETED_MANY"] = "deletedMany";
|
|
13
|
+
})(EventType = exports.EventType || (exports.EventType = {}));
|
|
14
|
+
const getDTOEventName = (type, DTOClass, opts) => {
|
|
15
|
+
const { baseName, pluralBaseName } = (0, common_1.getDTONames)(DTOClass, opts);
|
|
16
|
+
if (type === EventType.DELETED_MANY || type === EventType.UPDATED_MANY) {
|
|
17
|
+
return `${type}${pluralBaseName}`;
|
|
18
|
+
}
|
|
19
|
+
return `${type}${baseName}`;
|
|
20
|
+
};
|
|
21
|
+
exports.getDTOEventName = getDTOEventName;
|
|
22
|
+
const pubSubToken = () => 'pub_sub';
|
|
23
|
+
exports.pubSubToken = pubSubToken;
|
|
24
|
+
let pubSub;
|
|
25
|
+
const defaultPubSub = () => {
|
|
26
|
+
if (!pubSub) {
|
|
27
|
+
pubSub = new graphql_subscriptions_1.PubSub();
|
|
28
|
+
}
|
|
29
|
+
return pubSub;
|
|
30
|
+
};
|
|
31
|
+
exports.defaultPubSub = defaultPubSub;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/subscription/index.ts"],"names":[],"mappings":";;;AACA,iEAA+C;AAC/C,sCAAsD;AAKtD,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,uCAA0B,CAAA;IAC1B,yCAA4B,CAAA;IAC5B,uCAA0B,CAAA;IAC1B,yCAA4B,CAAA;AAC9B,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB;AACM,MAAM,eAAe,GAAG,CAAM,IAAe,EAAE,QAAoB,EAAE,IAAmB,EAAU,EAAE;IACzG,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAA,oBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjE,IAAI,IAAI,KAAK,SAAS,CAAC,YAAY,IAAI,IAAI,KAAK,SAAS,CAAC,YAAY,EAAE;QACtE,OAAO,GAAG,IAAI,GAAG,cAAc,EAAE,CAAC;KACnC;IACD,OAAO,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC;AAC9B,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,SAAS,CAAC;AAAtC,QAAA,WAAW,eAA2B;AAEnD,IAAI,MAAqB,CAAC;AACnB,MAAM,aAAa,GAAG,GAAkB,EAAE;IAC/C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,IAAI,8BAAM,EAAE,CAAC;KACvB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface GraphQLPubSub {
|
|
2
|
+
publish(triggerName: string, payload: any): Promise<void>;
|
|
3
|
+
subscribe(triggerName: string, onMessage: Function, options: Object): Promise<number>;
|
|
4
|
+
unsubscribe(subId: number): any;
|
|
5
|
+
asyncIterator<T>(triggers: string | string[]): AsyncIterator<T>;
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub.interface.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/subscription/pub-sub.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Filter, Class } from '@ptc-org/nestjs-query-core';
|
|
2
|
+
export interface AggregateArgsType<DTO> {
|
|
3
|
+
filter?: Filter<DTO>;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* The args type for aggregate queries
|
|
7
|
+
* @param DTOClass - The class the aggregate is for. This will be used to create FilterType.
|
|
8
|
+
*/
|
|
9
|
+
export declare function AggregateArgsType<DTO>(DTOClass: Class<DTO>): Class<AggregateArgsType<DTO>>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AggregateArgsType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
+
const class_validator_1 = require("class-validator");
|
|
7
|
+
const class_transformer_1 = require("class-transformer");
|
|
8
|
+
const query_1 = require("../query");
|
|
9
|
+
/**
|
|
10
|
+
* The args type for aggregate queries
|
|
11
|
+
* @param DTOClass - The class the aggregate is for. This will be used to create FilterType.
|
|
12
|
+
*/
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
|
|
14
|
+
function AggregateArgsType(DTOClass) {
|
|
15
|
+
const F = (0, query_1.AggregateFilterType)(DTOClass);
|
|
16
|
+
let AggregateArgs = class AggregateArgs {
|
|
17
|
+
};
|
|
18
|
+
(0, tslib_1.__decorate)([
|
|
19
|
+
(0, class_transformer_1.Type)(() => F),
|
|
20
|
+
(0, class_validator_1.ValidateNested)(),
|
|
21
|
+
(0, graphql_1.Field)(() => F, { nullable: true, description: 'Filter to find records to aggregate on' }),
|
|
22
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
23
|
+
], AggregateArgs.prototype, "filter", void 0);
|
|
24
|
+
AggregateArgs = (0, tslib_1.__decorate)([
|
|
25
|
+
(0, graphql_1.ArgsType)()
|
|
26
|
+
], AggregateArgs);
|
|
27
|
+
return AggregateArgs;
|
|
28
|
+
}
|
|
29
|
+
exports.AggregateArgsType = AggregateArgsType;
|
|
30
|
+
//# sourceMappingURL=aggregate-args.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregate-args.type.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/aggregate/aggregate-args.type.ts"],"names":[],"mappings":";;;;AACA,6CAAkD;AAClD,qDAAiD;AACjD,yDAAyC;AACzC,oCAA+C;AAM/C;;;GAGG;AACH,0EAA0E;AAC1E,SAAgB,iBAAiB,CAAM,QAAoB;IACzD,MAAM,CAAC,GAAG,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAC;IAExC,IAAM,aAAa,GAAnB,MAAM,aAAa;KAKlB,CAAA;IADC;QAHC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACb,IAAA,gCAAc,GAAE;QAChB,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;;iDACrE;IAJjB,aAAa;QADlB,IAAA,kBAAQ,GAAE;OACL,aAAa,CAKlB;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAVD,8CAUC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AggregateResponse, Class } from '@ptc-org/nestjs-query-core';
|
|
2
|
+
export declare type AggregateResponseOpts = {
|
|
3
|
+
prefix: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function AggregateResponseType<DTO>(DTOClass: Class<DTO>, opts?: AggregateResponseOpts): Class<AggregateResponse<DTO>>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AggregateResponseType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
|
|
6
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
7
|
+
const decorators_1 = require("../../decorators");
|
|
8
|
+
const common_1 = require("../../common");
|
|
9
|
+
const reflector = new nestjs_query_core_1.MapReflector('nestjs-query:aggregate-response-type');
|
|
10
|
+
function NumberAggregatedType(name, fields, NumberType) {
|
|
11
|
+
const fieldNames = fields.map((f) => f.propertyName);
|
|
12
|
+
let Aggregated = class Aggregated {
|
|
13
|
+
};
|
|
14
|
+
Aggregated = (0, tslib_1.__decorate)([
|
|
15
|
+
(0, graphql_1.ObjectType)(name)
|
|
16
|
+
], Aggregated);
|
|
17
|
+
fieldNames.forEach((propertyName) => {
|
|
18
|
+
(0, graphql_1.Field)(() => NumberType, { nullable: true })(Aggregated.prototype, propertyName);
|
|
19
|
+
});
|
|
20
|
+
return Aggregated;
|
|
21
|
+
}
|
|
22
|
+
function AggregateGroupByType(name, fields) {
|
|
23
|
+
let Aggregated = class Aggregated {
|
|
24
|
+
};
|
|
25
|
+
Aggregated = (0, tslib_1.__decorate)([
|
|
26
|
+
(0, graphql_1.ObjectType)(name)
|
|
27
|
+
], Aggregated);
|
|
28
|
+
fields.forEach(({ propertyName, target, returnTypeFunc }) => {
|
|
29
|
+
const rt = returnTypeFunc ? returnTypeFunc() : target;
|
|
30
|
+
(0, graphql_1.Field)(() => rt, { nullable: true })(Aggregated.prototype, propertyName);
|
|
31
|
+
});
|
|
32
|
+
return Aggregated;
|
|
33
|
+
}
|
|
34
|
+
function AggregatedType(name, fields) {
|
|
35
|
+
let Aggregated = class Aggregated {
|
|
36
|
+
};
|
|
37
|
+
Aggregated = (0, tslib_1.__decorate)([
|
|
38
|
+
(0, graphql_1.ObjectType)(name)
|
|
39
|
+
], Aggregated);
|
|
40
|
+
fields.forEach(({ propertyName, target, returnTypeFunc }) => {
|
|
41
|
+
const rt = returnTypeFunc ? returnTypeFunc() : target;
|
|
42
|
+
(0, graphql_1.Field)(() => rt, { nullable: true })(Aggregated.prototype, propertyName);
|
|
43
|
+
});
|
|
44
|
+
return Aggregated;
|
|
45
|
+
}
|
|
46
|
+
function AggregateResponseType(DTOClass, opts) {
|
|
47
|
+
const objName = (0, common_1.getGraphqlObjectName)(DTOClass, 'Unable to make AggregationResponseType.');
|
|
48
|
+
const prefix = opts?.prefix ?? objName;
|
|
49
|
+
const aggName = `${prefix}AggregateResponse`;
|
|
50
|
+
return reflector.memoize(DTOClass, aggName, () => {
|
|
51
|
+
const fields = (0, decorators_1.getFilterableFields)(DTOClass);
|
|
52
|
+
if (!fields.length) {
|
|
53
|
+
throw new Error(`No fields found to create AggregationResponseType for ${DTOClass.name}. Ensure fields are annotated with @FilterableField`);
|
|
54
|
+
}
|
|
55
|
+
const numberFields = fields.filter(({ target }) => target === Number);
|
|
56
|
+
const minMaxFields = fields.filter(({ target }) => target !== Boolean);
|
|
57
|
+
const GroupType = AggregateGroupByType(`${prefix}AggregateGroupBy`, fields);
|
|
58
|
+
const CountType = NumberAggregatedType(`${prefix}CountAggregate`, fields, graphql_1.Int);
|
|
59
|
+
const SumType = NumberAggregatedType(`${prefix}SumAggregate`, numberFields, graphql_1.Float);
|
|
60
|
+
const AvgType = NumberAggregatedType(`${prefix}AvgAggregate`, numberFields, graphql_1.Float);
|
|
61
|
+
const MinType = AggregatedType(`${prefix}MinAggregate`, minMaxFields);
|
|
62
|
+
const MaxType = AggregatedType(`${prefix}MaxAggregate`, minMaxFields);
|
|
63
|
+
let AggResponse = class AggResponse {
|
|
64
|
+
};
|
|
65
|
+
(0, tslib_1.__decorate)([
|
|
66
|
+
(0, graphql_1.Field)(() => GroupType, { nullable: true }),
|
|
67
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
68
|
+
], AggResponse.prototype, "groupBy", void 0);
|
|
69
|
+
(0, tslib_1.__decorate)([
|
|
70
|
+
(0, graphql_1.Field)(() => CountType, { nullable: true }),
|
|
71
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
72
|
+
], AggResponse.prototype, "count", void 0);
|
|
73
|
+
(0, tslib_1.__decorate)([
|
|
74
|
+
(0, decorators_1.SkipIf)(() => numberFields.length === 0, (0, graphql_1.Field)(() => SumType, { nullable: true })),
|
|
75
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
76
|
+
], AggResponse.prototype, "sum", void 0);
|
|
77
|
+
(0, tslib_1.__decorate)([
|
|
78
|
+
(0, decorators_1.SkipIf)(() => numberFields.length === 0, (0, graphql_1.Field)(() => AvgType, { nullable: true })),
|
|
79
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
80
|
+
], AggResponse.prototype, "avg", void 0);
|
|
81
|
+
(0, tslib_1.__decorate)([
|
|
82
|
+
(0, decorators_1.SkipIf)(() => minMaxFields.length === 0, (0, graphql_1.Field)(() => MinType, { nullable: true })),
|
|
83
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
84
|
+
], AggResponse.prototype, "min", void 0);
|
|
85
|
+
(0, tslib_1.__decorate)([
|
|
86
|
+
(0, decorators_1.SkipIf)(() => minMaxFields.length === 0, (0, graphql_1.Field)(() => MaxType, { nullable: true })),
|
|
87
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
88
|
+
], AggResponse.prototype, "max", void 0);
|
|
89
|
+
AggResponse = (0, tslib_1.__decorate)([
|
|
90
|
+
(0, graphql_1.ObjectType)(aggName)
|
|
91
|
+
], AggResponse);
|
|
92
|
+
return AggResponse;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
exports.AggregateResponseType = AggregateResponseType;
|
|
96
|
+
//# sourceMappingURL=aggregate-response.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregate-response.type.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/aggregate/aggregate-response.type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AggregateArgsType = exports.AggregateResponseType = void 0;
|
|
4
|
+
var aggregate_response_type_1 = require("./aggregate-response.type");
|
|
5
|
+
Object.defineProperty(exports, "AggregateResponseType", { enumerable: true, get: function () { return aggregate_response_type_1.AggregateResponseType; } });
|
|
6
|
+
var aggregate_args_type_1 = require("./aggregate-args.type");
|
|
7
|
+
Object.defineProperty(exports, "AggregateArgsType", { enumerable: true, get: function () { return aggregate_args_type_1.AggregateArgsType; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/aggregate/index.ts"],"names":[],"mappings":";;;AAAA,qEAAyF;AAAhF,gIAAA,qBAAqB,OAAA;AAC9B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Class } from '@ptc-org/nestjs-query-core';
|
|
2
|
+
import { PagingStrategies } from '../query';
|
|
3
|
+
import { StaticConnectionType } from './interfaces';
|
|
4
|
+
export declare function getOrCreateArrayConnectionType<DTO>(TItemClass: Class<DTO>): StaticConnectionType<DTO, PagingStrategies.NONE>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOrCreateArrayConnectionType = void 0;
|
|
4
|
+
const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
|
|
5
|
+
const reflector = new nestjs_query_core_1.ValueReflector('nestjs-query:array-connection-type');
|
|
6
|
+
function getOrCreateArrayConnectionType(TItemClass) {
|
|
7
|
+
return reflector.memoize(TItemClass, () => {
|
|
8
|
+
class AbstractConnection extends Array {
|
|
9
|
+
static async createFromPromise(queryMany, query) {
|
|
10
|
+
// remove paging from the query because the ArrayConnection does not support paging.
|
|
11
|
+
const { paging, ...rest } = query;
|
|
12
|
+
return queryMany(rest);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
AbstractConnection.resolveType = [TItemClass];
|
|
16
|
+
return AbstractConnection;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.getOrCreateArrayConnectionType = getOrCreateArrayConnectionType;
|
|
20
|
+
//# sourceMappingURL=array-connection.type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-connection.type.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/connection/array-connection.type.ts"],"names":[],"mappings":";;;AAAA,kEAA0E;AAI1E,MAAM,SAAS,GAAG,IAAI,kCAAc,CAAC,oCAAoC,CAAC,CAAC;AAE3E,SAAgB,8BAA8B,CAC5C,UAAsB;IAEtB,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE;QACxC,MAAM,kBAAmB,SAAQ,KAAU;YAGzC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,SAA4B,EAC5B,KAAQ;gBAER,oFAAoF;gBACpF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;gBAClC,OAAO,SAAS,CAAC,IAAS,CAAC,CAAC;YAC9B,CAAC;;QATM,8BAAW,GAAG,CAAC,UAAU,CAAC,CAAC;QAWpC,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAlBD,wEAkBC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Class } from '@ptc-org/nestjs-query-core';
|
|
2
|
+
import { PagingStrategies } from '../../query';
|
|
3
|
+
import { CursorConnectionOptions, StaticConnectionType } from '../interfaces';
|
|
4
|
+
export declare function getOrCreateCursorConnectionType<DTO>(TItemClass: Class<DTO>, maybeOpts?: CursorConnectionOptions): StaticConnectionType<DTO, PagingStrategies.CURSOR>;
|