@commitspark/graphql-api 0.90.0 → 1.0.0-beta.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 +9 -0
- package/README.md +5 -6
- package/dist/cjs/client.js +65 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/graphql/{apollo-config-factory.service.js → apollo-config-factory.js} +12 -17
- package/dist/cjs/graphql/apollo-config-factory.js.map +1 -0
- package/dist/cjs/graphql/input-type-generator.js +94 -0
- package/dist/cjs/graphql/input-type-generator.js.map +1 -0
- package/dist/cjs/graphql/queries-mutations-generator.js +68 -0
- package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -0
- package/dist/cjs/graphql/{resolver-generators/query-all-resolver-generator.js → resolvers/field-resolvers/entry-reference-resolver.js} +11 -15
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +81 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -0
- package/dist/cjs/graphql/{field-resolver/fieldResolver.js → resolvers/field-resolvers/types.js} +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/types.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.js +25 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +53 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +77 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +53 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +56 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -0
- package/dist/cjs/graphql/{resolver-generators/query-count-all-resolver-generator.js → resolvers/query-mutation-resolvers/query-all-resolver.js} +10 -15
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js.map +1 -0
- package/dist/cjs/graphql/{resolver-generators/query-type-by-id-resolver-generator.js → resolvers/query-mutation-resolvers/query-by-id-resolver.js} +8 -13
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -0
- package/dist/cjs/graphql/{resolver-generators/query-by-id-resolver-generator.js → resolvers/query-mutation-resolvers/query-type-by-id-resolver.js} +7 -14
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +27 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/types.js +3 -0
- package/dist/cjs/graphql/resolvers/types.js.map +1 -0
- package/dist/cjs/graphql/schema-analyzer.js +38 -0
- package/dist/cjs/graphql/schema-analyzer.js.map +1 -0
- package/dist/cjs/graphql/schema-generator.js +95 -0
- package/dist/cjs/graphql/schema-generator.js.map +1 -0
- package/dist/cjs/graphql/schema-root-type-generator.js +32 -0
- package/dist/cjs/graphql/schema-root-type-generator.js.map +1 -0
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js +107 -113
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/entry-type-util.js +24 -26
- package/dist/cjs/graphql/schema-utils/entry-type-util.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/union-type-util.js +14 -16
- package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/cjs/graphql/schema-validator.js +23 -26
- package/dist/cjs/graphql/schema-validator.js.map +1 -1
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/persistence/persistence.js +66 -0
- package/dist/cjs/persistence/persistence.js.map +1 -0
- package/dist/esm/client.js +53 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/graphql/apollo-config-factory.js +12 -0
- package/dist/esm/graphql/apollo-config-factory.js.map +1 -0
- package/dist/esm/graphql/input-type-generator.js +89 -0
- package/dist/esm/graphql/input-type-generator.js.map +1 -0
- package/dist/esm/graphql/queries-mutations-generator.js +64 -0
- package/dist/esm/graphql/queries-mutations-generator.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +10 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +68 -0
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/types.js +2 -0
- package/dist/esm/graphql/resolvers/field-resolvers/types.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.js +15 -0
- package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +50 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +70 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +49 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +59 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js +8 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-all-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js +6 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js +5 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +14 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/types.js +2 -0
- package/dist/esm/graphql/resolvers/types.js.map +1 -0
- package/dist/esm/graphql/schema-analyzer.js +34 -0
- package/dist/esm/graphql/schema-analyzer.js.map +1 -0
- package/dist/esm/graphql/schema-generator.js +89 -0
- package/dist/esm/graphql/schema-generator.js.map +1 -0
- package/dist/esm/graphql/schema-root-type-generator.js +29 -0
- package/dist/esm/graphql/schema-root-type-generator.js.map +1 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.js +99 -107
- package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/esm/graphql/schema-utils/entry-type-util.js +20 -23
- package/dist/esm/graphql/schema-utils/entry-type-util.js.map +1 -1
- package/dist/esm/graphql/schema-utils/union-type-util.js +12 -14
- package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/esm/graphql/schema-validator.js +18 -20
- package/dist/esm/graphql/schema-validator.js.map +1 -1
- package/dist/esm/index.js +6 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/persistence/persistence.js +43 -0
- package/dist/esm/persistence/persistence.js.map +1 -0
- package/dist/tsconfig.build.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.build.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.build.types.tsbuildinfo +1 -1
- package/dist/types/client.d.ts +27 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/graphql/apollo-config-factory.d.ts +4 -0
- package/dist/types/graphql/apollo-config-factory.d.ts.map +1 -0
- package/dist/types/graphql/input-type-generator.d.ts +6 -0
- package/dist/types/graphql/input-type-generator.d.ts.map +1 -0
- package/dist/types/graphql/queries-mutations-generator.d.ts +18 -0
- package/dist/types/graphql/queries-mutations-generator.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +3 -0
- package/dist/types/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +3 -0
- package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/field-resolvers/types.d.ts +12 -0
- package/dist/types/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +3 -0
- package/dist/types/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +8 -0
- package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +5 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +5 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +5 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-all-resolver.d.ts +5 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-all-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +5 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +4 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +4 -0
- package/dist/types/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/types.d.ts +8 -0
- package/dist/types/graphql/resolvers/types.d.ts.map +1 -0
- package/dist/types/graphql/{schema-analyzer.service.d.ts → schema-analyzer.d.ts} +3 -5
- package/dist/types/graphql/schema-analyzer.d.ts.map +1 -0
- package/dist/types/graphql/schema-generator.d.ts +4 -0
- package/dist/types/graphql/schema-generator.d.ts.map +1 -0
- package/dist/types/graphql/schema-root-type-generator.d.ts +3 -0
- package/dist/types/graphql/schema-root-type-generator.d.ts.map +1 -0
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +2 -13
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +1 -1
- package/dist/types/graphql/schema-utils/entry-type-util.d.ts +3 -5
- package/dist/types/graphql/schema-utils/entry-type-util.d.ts.map +1 -1
- package/dist/types/graphql/schema-utils/union-type-util.d.ts +2 -4
- package/dist/types/graphql/schema-utils/union-type-util.d.ts.map +1 -1
- package/dist/types/graphql/schema-validator.d.ts +1 -4
- package/dist/types/graphql/schema-validator.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/persistence/persistence.d.ts +6 -0
- package/dist/types/persistence/persistence.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/client.ts +114 -0
- package/src/graphql/apollo-config-factory.ts +17 -0
- package/src/graphql/input-type-generator.ts +126 -0
- package/src/graphql/queries-mutations-generator.ts +136 -0
- package/src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts +22 -0
- package/src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts +107 -0
- package/src/graphql/{field-resolver/fieldResolver.ts → resolvers/field-resolvers/types.ts} +5 -4
- package/src/graphql/resolvers/field-resolvers/union-value-resolver.ts +24 -0
- package/src/graphql/resolvers/object-type-field-default-value-resolver-generator.ts +91 -0
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +108 -0
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +81 -0
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +114 -0
- package/src/graphql/resolvers/query-mutation-resolvers/query-all-resolver.ts +21 -0
- package/src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts +20 -0
- package/src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts +12 -0
- package/src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts +19 -0
- package/src/graphql/resolvers/types.ts +14 -0
- package/src/graphql/schema-analyzer.ts +55 -0
- package/src/graphql/schema-generator.ts +161 -0
- package/src/graphql/schema-root-type-generator.ts +35 -0
- package/src/graphql/schema-utils/entry-reference-util.ts +152 -166
- package/src/graphql/schema-utils/entry-type-util.ts +25 -28
- package/src/graphql/schema-utils/union-type-util.ts +13 -15
- package/src/graphql/schema-validator.ts +29 -31
- package/src/index.ts +26 -5
- package/src/persistence/persistence.ts +72 -0
- package/dist/cjs/app/api.service.js +0 -74
- package/dist/cjs/app/api.service.js.map +0 -1
- package/dist/cjs/container.js +0 -53
- package/dist/cjs/container.js.map +0 -1
- package/dist/cjs/graphql/apollo-config-factory.service.js.map +0 -1
- package/dist/cjs/graphql/field-resolver/entry-reference-resolver.js +0 -26
- package/dist/cjs/graphql/field-resolver/entry-reference-resolver.js.map +0 -1
- package/dist/cjs/graphql/field-resolver/field-default-value-resolver.js +0 -73
- package/dist/cjs/graphql/field-resolver/field-default-value-resolver.js.map +0 -1
- package/dist/cjs/graphql/field-resolver/fieldResolver.js.map +0 -1
- package/dist/cjs/graphql/field-resolver/union-value-resolver.js +0 -21
- package/dist/cjs/graphql/field-resolver/union-value-resolver.js.map +0 -1
- package/dist/cjs/graphql/input-type-generator.service.js +0 -97
- package/dist/cjs/graphql/input-type-generator.service.js.map +0 -1
- package/dist/cjs/graphql/queries-mutations-generator.service.js +0 -82
- package/dist/cjs/graphql/queries-mutations-generator.service.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/mutation-create-resolver-generator.js +0 -83
- package/dist/cjs/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/mutation-delete-resolver-generator.js +0 -60
- package/dist/cjs/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/mutation-update-resolver-generator.js +0 -62
- package/dist/cjs/graphql/resolver-generators/mutation-update-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js +0 -58
- package/dist/cjs/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/resolver-generators/union-type-resolver-generator.js +0 -33
- package/dist/cjs/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
- package/dist/cjs/graphql/schema-analyzer.service.js +0 -41
- package/dist/cjs/graphql/schema-analyzer.service.js.map +0 -1
- package/dist/cjs/graphql/schema-generator.service.js +0 -103
- package/dist/cjs/graphql/schema-generator.service.js.map +0 -1
- package/dist/cjs/graphql/schema-root-type-generator.service.js +0 -39
- package/dist/cjs/graphql/schema-root-type-generator.service.js.map +0 -1
- package/dist/cjs/persistence/persistence.service.js +0 -66
- package/dist/cjs/persistence/persistence.service.js.map +0 -1
- package/dist/esm/app/api.service.js +0 -61
- package/dist/esm/app/api.service.js.map +0 -1
- package/dist/esm/container.js +0 -50
- package/dist/esm/container.js.map +0 -1
- package/dist/esm/graphql/apollo-config-factory.service.js +0 -17
- package/dist/esm/graphql/apollo-config-factory.service.js.map +0 -1
- package/dist/esm/graphql/field-resolver/entry-reference-resolver.js +0 -13
- package/dist/esm/graphql/field-resolver/entry-reference-resolver.js.map +0 -1
- package/dist/esm/graphql/field-resolver/field-default-value-resolver.js +0 -73
- package/dist/esm/graphql/field-resolver/field-default-value-resolver.js.map +0 -1
- package/dist/esm/graphql/field-resolver/fieldResolver.js +0 -2
- package/dist/esm/graphql/field-resolver/fieldResolver.js.map +0 -1
- package/dist/esm/graphql/field-resolver/union-value-resolver.js +0 -22
- package/dist/esm/graphql/field-resolver/union-value-resolver.js.map +0 -1
- package/dist/esm/graphql/input-type-generator.service.js +0 -94
- package/dist/esm/graphql/input-type-generator.service.js.map +0 -1
- package/dist/esm/graphql/queries-mutations-generator.service.js +0 -85
- package/dist/esm/graphql/queries-mutations-generator.service.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/mutation-create-resolver-generator.js +0 -78
- package/dist/esm/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/mutation-delete-resolver-generator.js +0 -58
- package/dist/esm/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/mutation-update-resolver-generator.js +0 -67
- package/dist/esm/graphql/resolver-generators/mutation-update-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js +0 -55
- package/dist/esm/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/query-all-resolver-generator.js +0 -15
- package/dist/esm/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/query-by-id-resolver-generator.js +0 -13
- package/dist/esm/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/query-count-all-resolver-generator.js +0 -14
- package/dist/esm/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/query-type-by-id-resolver-generator.js +0 -12
- package/dist/esm/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/resolver-generators/union-type-resolver-generator.js +0 -22
- package/dist/esm/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
- package/dist/esm/graphql/schema-analyzer.service.js +0 -36
- package/dist/esm/graphql/schema-analyzer.service.js.map +0 -1
- package/dist/esm/graphql/schema-generator.service.js +0 -103
- package/dist/esm/graphql/schema-generator.service.js.map +0 -1
- package/dist/esm/graphql/schema-root-type-generator.service.js +0 -35
- package/dist/esm/graphql/schema-root-type-generator.service.js.map +0 -1
- package/dist/esm/persistence/persistence.service.js +0 -45
- package/dist/esm/persistence/persistence.service.js.map +0 -1
- package/dist/types/app/api.service.d.ts +0 -34
- package/dist/types/app/api.service.d.ts.map +0 -1
- package/dist/types/container.d.ts +0 -3
- package/dist/types/container.d.ts.map +0 -1
- package/dist/types/graphql/apollo-config-factory.service.d.ts +0 -9
- package/dist/types/graphql/apollo-config-factory.service.d.ts.map +0 -1
- package/dist/types/graphql/field-resolver/entry-reference-resolver.d.ts +0 -11
- package/dist/types/graphql/field-resolver/entry-reference-resolver.d.ts.map +0 -1
- package/dist/types/graphql/field-resolver/field-default-value-resolver.d.ts +0 -15
- package/dist/types/graphql/field-resolver/field-default-value-resolver.d.ts.map +0 -1
- package/dist/types/graphql/field-resolver/fieldResolver.d.ts +0 -11
- package/dist/types/graphql/field-resolver/fieldResolver.d.ts.map +0 -1
- package/dist/types/graphql/field-resolver/union-value-resolver.d.ts +0 -11
- package/dist/types/graphql/field-resolver/union-value-resolver.d.ts.map +0 -1
- package/dist/types/graphql/input-type-generator.service.d.ts +0 -12
- package/dist/types/graphql/input-type-generator.service.d.ts.map +0 -1
- package/dist/types/graphql/queries-mutations-generator.service.d.ts +0 -39
- package/dist/types/graphql/queries-mutations-generator.service.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/mutation-create-resolver-generator.d.ts +0 -12
- package/dist/types/graphql/resolver-generators/mutation-create-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/mutation-delete-resolver-generator.d.ts +0 -12
- package/dist/types/graphql/resolver-generators/mutation-delete-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/mutation-update-resolver-generator.d.ts +0 -13
- package/dist/types/graphql/resolver-generators/mutation-update-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts +0 -13
- package/dist/types/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/query-all-resolver-generator.d.ts +0 -10
- package/dist/types/graphql/resolver-generators/query-all-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/query-by-id-resolver-generator.d.ts +0 -10
- package/dist/types/graphql/resolver-generators/query-by-id-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/query-count-all-resolver-generator.d.ts +0 -10
- package/dist/types/graphql/resolver-generators/query-count-all-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/query-type-by-id-resolver-generator.d.ts +0 -9
- package/dist/types/graphql/resolver-generators/query-type-by-id-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolver-generators/union-type-resolver-generator.d.ts +0 -11
- package/dist/types/graphql/resolver-generators/union-type-resolver-generator.d.ts.map +0 -1
- package/dist/types/graphql/schema-analyzer.service.d.ts.map +0 -1
- package/dist/types/graphql/schema-generator.service.d.ts +0 -21
- package/dist/types/graphql/schema-generator.service.d.ts.map +0 -1
- package/dist/types/graphql/schema-root-type-generator.service.d.ts +0 -5
- package/dist/types/graphql/schema-root-type-generator.service.d.ts.map +0 -1
- package/dist/types/persistence/persistence.service.d.ts +0 -8
- package/dist/types/persistence/persistence.service.d.ts.map +0 -1
- package/src/app/api.service.ts +0 -121
- package/src/container.ts +0 -106
- package/src/graphql/apollo-config-factory.service.ts +0 -21
- package/src/graphql/field-resolver/entry-reference-resolver.ts +0 -47
- package/src/graphql/field-resolver/field-default-value-resolver.ts +0 -152
- package/src/graphql/field-resolver/union-value-resolver.ts +0 -46
- package/src/graphql/input-type-generator.service.ts +0 -127
- package/src/graphql/queries-mutations-generator.service.ts +0 -154
- package/src/graphql/resolver-generators/mutation-create-resolver-generator.ts +0 -120
- package/src/graphql/resolver-generators/mutation-delete-resolver-generator.ts +0 -96
- package/src/graphql/resolver-generators/mutation-update-resolver-generator.ts +0 -127
- package/src/graphql/resolver-generators/object-type-field-default-value-resolver-generator.ts +0 -117
- package/src/graphql/resolver-generators/query-all-resolver-generator.ts +0 -29
- package/src/graphql/resolver-generators/query-by-id-resolver-generator.ts +0 -23
- package/src/graphql/resolver-generators/query-count-all-resolver-generator.ts +0 -29
- package/src/graphql/resolver-generators/query-type-by-id-resolver-generator.ts +0 -27
- package/src/graphql/resolver-generators/union-type-resolver-generator.ts +0 -38
- package/src/graphql/schema-analyzer.service.ts +0 -57
- package/src/graphql/schema-generator.service.ts +0 -178
- package/src/graphql/schema-root-type-generator.service.ts +0 -44
- package/src/persistence/persistence.service.ts +0 -74
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { findById, findByTypeId } from '../../../persistence/persistence'
|
|
2
|
+
import { getReferencedEntryIds } from '../../schema-utils/entry-reference-util'
|
|
3
|
+
import { GraphQLFieldResolver, isObjectType } from 'graphql'
|
|
4
|
+
import { EntryData, EntryDraft } from '@commitspark/git-adapter'
|
|
5
|
+
import { QueryMutationResolverContext } from '../types'
|
|
6
|
+
|
|
7
|
+
function mergeData(
|
|
8
|
+
existingEntryData: EntryData,
|
|
9
|
+
updateData: EntryData,
|
|
10
|
+
): EntryData {
|
|
11
|
+
return {
|
|
12
|
+
...existingEntryData,
|
|
13
|
+
...updateData,
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const mutationUpdateResolver: GraphQLFieldResolver<
|
|
18
|
+
any,
|
|
19
|
+
QueryMutationResolverContext,
|
|
20
|
+
any,
|
|
21
|
+
Promise<EntryData>
|
|
22
|
+
> = async (source, args, context, info) => {
|
|
23
|
+
if (!isObjectType(info.returnType)) {
|
|
24
|
+
throw new Error('Expected to update an ObjectType')
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const existingEntry = await findByTypeId(
|
|
28
|
+
context.gitAdapter,
|
|
29
|
+
context.getCurrentRef(),
|
|
30
|
+
context.type.name,
|
|
31
|
+
args.id,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
const existingReferencedEntryIds = await getReferencedEntryIds(
|
|
35
|
+
info.returnType,
|
|
36
|
+
context,
|
|
37
|
+
null,
|
|
38
|
+
info.returnType,
|
|
39
|
+
existingEntry.data,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
const mergedData = mergeData(existingEntry.data ?? null, args.data)
|
|
43
|
+
const updatedReferencedEntryIds = await getReferencedEntryIds(
|
|
44
|
+
info.returnType,
|
|
45
|
+
context,
|
|
46
|
+
null,
|
|
47
|
+
info.returnType,
|
|
48
|
+
mergedData,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
const noLongerReferencedIds = existingReferencedEntryIds.filter(
|
|
52
|
+
(entryId) => !updatedReferencedEntryIds.includes(entryId),
|
|
53
|
+
)
|
|
54
|
+
const newlyReferencedIds = updatedReferencedEntryIds.filter(
|
|
55
|
+
(entryId) => !existingReferencedEntryIds.includes(entryId),
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
const referencedEntryUpdates: EntryDraft[] = []
|
|
59
|
+
for (const noLongerReferencedEntryId of noLongerReferencedIds) {
|
|
60
|
+
const noLongerReferencedEntry = await findById(
|
|
61
|
+
context.gitAdapter,
|
|
62
|
+
context.getCurrentRef(),
|
|
63
|
+
noLongerReferencedEntryId,
|
|
64
|
+
)
|
|
65
|
+
referencedEntryUpdates.push({
|
|
66
|
+
...noLongerReferencedEntry,
|
|
67
|
+
metadata: {
|
|
68
|
+
...noLongerReferencedEntry.metadata,
|
|
69
|
+
referencedBy: noLongerReferencedEntry.metadata.referencedBy?.filter(
|
|
70
|
+
(entryId) => entryId !== args.id,
|
|
71
|
+
),
|
|
72
|
+
},
|
|
73
|
+
deletion: false,
|
|
74
|
+
})
|
|
75
|
+
}
|
|
76
|
+
for (const newlyReferencedEntryId of newlyReferencedIds) {
|
|
77
|
+
const newlyReferencedEntry = await findById(
|
|
78
|
+
context.gitAdapter,
|
|
79
|
+
context.getCurrentRef(),
|
|
80
|
+
newlyReferencedEntryId,
|
|
81
|
+
)
|
|
82
|
+
const updatedReferenceList: string[] =
|
|
83
|
+
newlyReferencedEntry.metadata.referencedBy ?? []
|
|
84
|
+
updatedReferenceList.push(args.id)
|
|
85
|
+
updatedReferenceList.sort()
|
|
86
|
+
referencedEntryUpdates.push({
|
|
87
|
+
...newlyReferencedEntry,
|
|
88
|
+
metadata: {
|
|
89
|
+
...newlyReferencedEntry.metadata,
|
|
90
|
+
referencedBy: updatedReferenceList,
|
|
91
|
+
},
|
|
92
|
+
deletion: false,
|
|
93
|
+
})
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const commit = await context.gitAdapter.createCommit({
|
|
97
|
+
ref: context.branch,
|
|
98
|
+
parentSha: context.getCurrentRef(),
|
|
99
|
+
entries: [
|
|
100
|
+
{ ...existingEntry, data: mergedData, deletion: false },
|
|
101
|
+
...referencedEntryUpdates,
|
|
102
|
+
],
|
|
103
|
+
message: args.commitMessage,
|
|
104
|
+
})
|
|
105
|
+
context.setCurrentRef(commit.ref)
|
|
106
|
+
|
|
107
|
+
const updatedEntry = await findByTypeId(
|
|
108
|
+
context.gitAdapter,
|
|
109
|
+
context.getCurrentRef(),
|
|
110
|
+
context.type.name,
|
|
111
|
+
args.id,
|
|
112
|
+
)
|
|
113
|
+
return { ...updatedEntry.data, id: updatedEntry.id }
|
|
114
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EntryData } from '@commitspark/git-adapter'
|
|
2
|
+
import { findByType } from '../../../persistence/persistence'
|
|
3
|
+
import { GraphQLFieldResolver } from 'graphql'
|
|
4
|
+
import { QueryMutationResolverContext } from '../types'
|
|
5
|
+
|
|
6
|
+
export const queryAllResolver: GraphQLFieldResolver<
|
|
7
|
+
any,
|
|
8
|
+
QueryMutationResolverContext,
|
|
9
|
+
any,
|
|
10
|
+
Promise<EntryData[]>
|
|
11
|
+
> = async (obj, args, context, info) => {
|
|
12
|
+
const entries = await findByType(
|
|
13
|
+
context.gitAdapter,
|
|
14
|
+
context.getCurrentRef(),
|
|
15
|
+
context.type.name,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
return entries.map((entry) => {
|
|
19
|
+
return { ...entry.data, id: entry.id }
|
|
20
|
+
})
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EntryData } from '@commitspark/git-adapter'
|
|
2
|
+
import { findByTypeId } from '../../../persistence/persistence'
|
|
3
|
+
import { GraphQLFieldResolver } from 'graphql'
|
|
4
|
+
import { QueryMutationResolverContext } from '../types'
|
|
5
|
+
|
|
6
|
+
export const queryByIdResolver: GraphQLFieldResolver<
|
|
7
|
+
any,
|
|
8
|
+
QueryMutationResolverContext,
|
|
9
|
+
any,
|
|
10
|
+
Promise<EntryData>
|
|
11
|
+
> = async (obj, args, context, info) => {
|
|
12
|
+
const entry = await findByTypeId(
|
|
13
|
+
context.gitAdapter,
|
|
14
|
+
context.getCurrentRef(),
|
|
15
|
+
context.type.name,
|
|
16
|
+
args.id,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
return { ...entry.data, id: entry.id }
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getTypeById } from '../../../persistence/persistence'
|
|
2
|
+
import { GraphQLFieldResolver } from 'graphql'
|
|
3
|
+
import { ApolloContext } from '../../../client'
|
|
4
|
+
|
|
5
|
+
export const queryTypeByIdResolver: GraphQLFieldResolver<
|
|
6
|
+
any,
|
|
7
|
+
ApolloContext,
|
|
8
|
+
any,
|
|
9
|
+
Promise<string>
|
|
10
|
+
> = async (source, args, context, info) => {
|
|
11
|
+
return getTypeById(context.gitAdapter, context.getCurrentRef(), args.id)
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ApolloContext } from '../../../client'
|
|
2
|
+
import { getTypeById } from '../../../persistence/persistence'
|
|
3
|
+
import { GraphQLTypeResolver } from 'graphql'
|
|
4
|
+
import { buildsOnTypeWithEntryDirective } from '../../schema-utils/entry-type-util'
|
|
5
|
+
|
|
6
|
+
export const unionTypeResolver: GraphQLTypeResolver<
|
|
7
|
+
any,
|
|
8
|
+
ApolloContext
|
|
9
|
+
> = async (obj, context, info, abstractType) => {
|
|
10
|
+
if (buildsOnTypeWithEntryDirective(abstractType)) {
|
|
11
|
+
return getTypeById(context.gitAdapter, context.getCurrentRef(), obj.id)
|
|
12
|
+
} else {
|
|
13
|
+
// We have injected an internal `__typename` field into the data of fields pointing to a non-entry union
|
|
14
|
+
// in UnionValueResolver. This artificial field holds the type information we need here.
|
|
15
|
+
return obj.__typename
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// TODO same for interface type: https://www.apollographql.com/docs/apollo-server/data/resolvers/#resolving-unions-and-interfaces
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ApolloContext } from '../../client'
|
|
2
|
+
import { GraphQLNamedType } from 'graphql/type'
|
|
3
|
+
import { GraphQLFieldResolver } from 'graphql'
|
|
4
|
+
|
|
5
|
+
export interface QueryMutationResolverContext extends ApolloContext {
|
|
6
|
+
type: GraphQLNamedType
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type QueryMutationResolver<ResultType> = GraphQLFieldResolver<
|
|
10
|
+
any,
|
|
11
|
+
ApolloContext,
|
|
12
|
+
any,
|
|
13
|
+
Promise<ResultType>
|
|
14
|
+
>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {
|
|
2
|
+
GraphQLInterfaceType,
|
|
3
|
+
GraphQLObjectType,
|
|
4
|
+
GraphQLSchema,
|
|
5
|
+
GraphQLUnionType,
|
|
6
|
+
isInterfaceType,
|
|
7
|
+
isObjectType,
|
|
8
|
+
isUnionType,
|
|
9
|
+
} from 'graphql'
|
|
10
|
+
import { getDirective } from '@graphql-tools/utils'
|
|
11
|
+
|
|
12
|
+
export function analyzeSchema(schema: GraphQLSchema): SchemaAnalyzerResult {
|
|
13
|
+
const result: SchemaAnalyzerResult = {
|
|
14
|
+
entryDirectiveTypes: [],
|
|
15
|
+
objectTypes: [],
|
|
16
|
+
interfaceTypes: [],
|
|
17
|
+
unionTypes: [],
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const typeMap = schema.getTypeMap()
|
|
21
|
+
|
|
22
|
+
for (const [key, type] of Object.entries(typeMap)) {
|
|
23
|
+
if (key.startsWith('__')) {
|
|
24
|
+
continue
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (isObjectType(type)) {
|
|
28
|
+
const objectType = type as GraphQLObjectType
|
|
29
|
+
result.objectTypes.push(objectType)
|
|
30
|
+
const entityDirective = getDirective(schema, objectType, 'Entry')?.[0]
|
|
31
|
+
if (entityDirective) {
|
|
32
|
+
result.entryDirectiveTypes.push(objectType)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (isInterfaceType(type)) {
|
|
37
|
+
const interfaceType = type as GraphQLInterfaceType
|
|
38
|
+
result.interfaceTypes.push(interfaceType)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (isUnionType(type)) {
|
|
42
|
+
const unionType = type as GraphQLUnionType
|
|
43
|
+
result.unionTypes.push(unionType)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return result
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface SchemaAnalyzerResult {
|
|
51
|
+
entryDirectiveTypes: GraphQLObjectType[]
|
|
52
|
+
objectTypes: GraphQLObjectType[]
|
|
53
|
+
interfaceTypes: GraphQLInterfaceType[]
|
|
54
|
+
unionTypes: GraphQLUnionType[]
|
|
55
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import {
|
|
2
|
+
generateQueriesAndMutations,
|
|
3
|
+
generateTypeNameQuery,
|
|
4
|
+
} from './queries-mutations-generator'
|
|
5
|
+
import {
|
|
6
|
+
IExecutableSchemaDefinition,
|
|
7
|
+
makeExecutableSchema,
|
|
8
|
+
} from '@graphql-tools/schema'
|
|
9
|
+
import { analyzeSchema } from './schema-analyzer'
|
|
10
|
+
import {
|
|
11
|
+
generateIdInputTypeStrings,
|
|
12
|
+
generateObjectInputTypeStrings,
|
|
13
|
+
generateUnionInputTypeStrings,
|
|
14
|
+
} from './input-type-generator'
|
|
15
|
+
import { generateSchemaRootTypeStrings } from './schema-root-type-generator'
|
|
16
|
+
import { printSchemaWithDirectives } from '@graphql-tools/utils'
|
|
17
|
+
import { unionTypeResolver } from './resolvers/query-mutation-resolvers/union-type-resolver'
|
|
18
|
+
import { ApolloContext } from '../client'
|
|
19
|
+
import { GraphQLFieldResolver, GraphQLTypeResolver } from 'graphql'
|
|
20
|
+
import { getValidationResult } from './schema-validator'
|
|
21
|
+
import { EntryData } from '@commitspark/git-adapter'
|
|
22
|
+
import { createObjectTypeFieldResolvers } from './resolvers/object-type-field-default-value-resolver-generator'
|
|
23
|
+
|
|
24
|
+
export async function generateSchema(
|
|
25
|
+
context: ApolloContext,
|
|
26
|
+
): Promise<IExecutableSchemaDefinition> {
|
|
27
|
+
const originalSchemaString = await context.gitAdapter.getSchema(
|
|
28
|
+
context.getCurrentRef(),
|
|
29
|
+
)
|
|
30
|
+
const schema = makeExecutableSchema({
|
|
31
|
+
typeDefs: originalSchemaString,
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
const validationResult = getValidationResult(schema)
|
|
35
|
+
if (validationResult.length > 0) {
|
|
36
|
+
throw new Error(validationResult.join('\n'))
|
|
37
|
+
}
|
|
38
|
+
const schemaAnalyzerResult = analyzeSchema(schema)
|
|
39
|
+
|
|
40
|
+
const filteredOriginalSchemaString = printSchemaWithDirectives(schema) + '\n'
|
|
41
|
+
|
|
42
|
+
const generatedIdInputTypeStrings =
|
|
43
|
+
generateIdInputTypeStrings(schemaAnalyzerResult)
|
|
44
|
+
|
|
45
|
+
const generatedQueriesMutations = generateQueriesAndMutations(
|
|
46
|
+
schemaAnalyzerResult.entryDirectiveTypes,
|
|
47
|
+
)
|
|
48
|
+
const generatedTypeNameQuery = generateTypeNameQuery()
|
|
49
|
+
|
|
50
|
+
const generatedEntryReferenceResolvers: Record<
|
|
51
|
+
string,
|
|
52
|
+
Record<
|
|
53
|
+
string,
|
|
54
|
+
GraphQLFieldResolver<
|
|
55
|
+
Record<string, any>,
|
|
56
|
+
ApolloContext,
|
|
57
|
+
any,
|
|
58
|
+
Promise<EntryData | EntryData[] | null>
|
|
59
|
+
>
|
|
60
|
+
>
|
|
61
|
+
> = {}
|
|
62
|
+
|
|
63
|
+
const generatedObjectInputTypeStrings = generateObjectInputTypeStrings(
|
|
64
|
+
schemaAnalyzerResult.objectTypes,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
const generatedUnionInputTypeStrings = generateUnionInputTypeStrings(
|
|
68
|
+
schemaAnalyzerResult.unionTypes,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
const generatedSchemaRootTypeStrings = generateSchemaRootTypeStrings(
|
|
72
|
+
generatedQueriesMutations,
|
|
73
|
+
generatedTypeNameQuery,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
const generatedSchemaString = `schema {
|
|
77
|
+
query: Query
|
|
78
|
+
mutation: Mutation
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
${generatedSchemaRootTypeStrings}`
|
|
82
|
+
|
|
83
|
+
const generatedUnionTypeResolvers: Record<string, UnionTypeResolver> = {}
|
|
84
|
+
for (const unionType of schemaAnalyzerResult.unionTypes) {
|
|
85
|
+
generatedUnionTypeResolvers[unionType.name] = {
|
|
86
|
+
__resolveType: unionTypeResolver,
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const generatedObjectTypeFieldResolvers =
|
|
90
|
+
createObjectTypeFieldResolvers(schema)
|
|
91
|
+
|
|
92
|
+
const generatedQueryResolvers: Record<
|
|
93
|
+
string,
|
|
94
|
+
GraphQLFieldResolver<any, ApolloContext>
|
|
95
|
+
> = {}
|
|
96
|
+
const generatedMutationResolvers: Record<
|
|
97
|
+
string,
|
|
98
|
+
GraphQLFieldResolver<any, ApolloContext>
|
|
99
|
+
> = {}
|
|
100
|
+
|
|
101
|
+
for (const element of generatedQueriesMutations) {
|
|
102
|
+
generatedQueryResolvers[element.queryAll.name] = element.queryAll.resolver
|
|
103
|
+
generatedQueryResolvers[element.queryById.name] = element.queryById.resolver
|
|
104
|
+
generatedMutationResolvers[element.createMutation.name] =
|
|
105
|
+
element.createMutation.resolver
|
|
106
|
+
generatedMutationResolvers[element.updateMutation.name] =
|
|
107
|
+
element.updateMutation.resolver
|
|
108
|
+
generatedMutationResolvers[element.deleteMutation.name] =
|
|
109
|
+
element.deleteMutation.resolver
|
|
110
|
+
}
|
|
111
|
+
generatedQueryResolvers[generatedTypeNameQuery.name] =
|
|
112
|
+
generatedTypeNameQuery.resolver
|
|
113
|
+
|
|
114
|
+
const allGeneratedResolvers: Record<
|
|
115
|
+
string,
|
|
116
|
+
Record<
|
|
117
|
+
string,
|
|
118
|
+
| GraphQLFieldResolver<any, ApolloContext>
|
|
119
|
+
| GraphQLTypeResolver<any, ApolloContext>
|
|
120
|
+
>
|
|
121
|
+
> = {
|
|
122
|
+
Query: generatedQueryResolvers,
|
|
123
|
+
Mutation: generatedMutationResolvers,
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
for (const typeName of Object.keys(generatedUnionTypeResolvers)) {
|
|
127
|
+
allGeneratedResolvers[typeName] = {
|
|
128
|
+
...(allGeneratedResolvers[typeName] ?? {}),
|
|
129
|
+
...generatedUnionTypeResolvers[typeName],
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
for (const typeName of Object.keys(generatedObjectTypeFieldResolvers)) {
|
|
133
|
+
allGeneratedResolvers[typeName] = {
|
|
134
|
+
...(allGeneratedResolvers[typeName] ?? {}),
|
|
135
|
+
...generatedObjectTypeFieldResolvers[typeName],
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
for (const typeName of Object.keys(generatedEntryReferenceResolvers)) {
|
|
139
|
+
allGeneratedResolvers[typeName] = {
|
|
140
|
+
...(allGeneratedResolvers[typeName] ?? {}),
|
|
141
|
+
...generatedEntryReferenceResolvers[typeName],
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const typeDefs = [
|
|
146
|
+
filteredOriginalSchemaString,
|
|
147
|
+
generatedSchemaString,
|
|
148
|
+
generatedIdInputTypeStrings.join('\n'),
|
|
149
|
+
generatedObjectInputTypeStrings.join('\n'),
|
|
150
|
+
generatedUnionInputTypeStrings.join('\n'),
|
|
151
|
+
].filter((typeDef) => typeDef.length > 0)
|
|
152
|
+
|
|
153
|
+
return {
|
|
154
|
+
typeDefs: typeDefs,
|
|
155
|
+
resolvers: allGeneratedResolvers,
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
interface UnionTypeResolver {
|
|
160
|
+
__resolveType: GraphQLTypeResolver<any, ApolloContext>
|
|
161
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { GeneratedQuery, GeneratedSchema } from './queries-mutations-generator'
|
|
2
|
+
|
|
3
|
+
export function generateSchemaRootTypeStrings(
|
|
4
|
+
generatedSchemas: GeneratedSchema[],
|
|
5
|
+
typeQuery: GeneratedQuery<Promise<string>>,
|
|
6
|
+
): string {
|
|
7
|
+
return (
|
|
8
|
+
`type Query {\n` +
|
|
9
|
+
generatedSchemas
|
|
10
|
+
.map((generated) => ' ' + generated.queryAll.schemaString)
|
|
11
|
+
.join('\n') +
|
|
12
|
+
'\n' +
|
|
13
|
+
generatedSchemas
|
|
14
|
+
.map((generated) => ' ' + generated.queryById.schemaString)
|
|
15
|
+
.join('\n') +
|
|
16
|
+
'\n' +
|
|
17
|
+
` ${typeQuery.schemaString}` +
|
|
18
|
+
'\n' +
|
|
19
|
+
'}\n\n' +
|
|
20
|
+
'type Mutation {\n' +
|
|
21
|
+
generatedSchemas
|
|
22
|
+
.map((generated) => ' ' + generated.createMutation.schemaString)
|
|
23
|
+
.join('\n') +
|
|
24
|
+
'\n' +
|
|
25
|
+
generatedSchemas
|
|
26
|
+
.map((generated) => ' ' + generated.updateMutation.schemaString)
|
|
27
|
+
.join('\n') +
|
|
28
|
+
'\n' +
|
|
29
|
+
generatedSchemas
|
|
30
|
+
.map((generated) => ' ' + generated.deleteMutation.schemaString)
|
|
31
|
+
.join('\n') +
|
|
32
|
+
'\n' +
|
|
33
|
+
'}\n'
|
|
34
|
+
)
|
|
35
|
+
}
|