@restorecommerce/facade 1.0.1 → 1.1.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 +27 -0
- package/codegen/index.js +1 -1
- package/dist/gql/protos/federation.d.ts +6 -0
- package/dist/gql/protos/federation.js +51 -0
- package/dist/gql/protos/graphql.d.ts +5 -27
- package/dist/gql/protos/graphql.js +3 -564
- package/dist/gql/protos/index.d.ts +3 -0
- package/dist/gql/protos/index.js +3 -0
- package/dist/gql/protos/registry.d.ts +2 -2
- package/dist/gql/protos/resolvers.d.ts +9 -0
- package/dist/gql/protos/resolvers.js +427 -0
- package/dist/gql/protos/schema.d.ts +14 -0
- package/dist/gql/protos/schema.js +234 -0
- package/dist/gql/protos/types.d.ts +20 -0
- package/dist/gql/protos/utils.d.ts +5 -0
- package/dist/gql/protos/utils.js +27 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +78 -7
- package/dist/interfaces.d.ts +2 -0
- package/dist/modules/access-control/gql/schema.generated.d.ts +30 -0
- package/dist/modules/access-control/gql/schema.generated.js +7 -1
- package/dist/modules/catalog/gql/schema.generated.d.ts +30 -0
- package/dist/modules/catalog/gql/schema.generated.js +7 -1
- package/dist/modules/fulfillment/gql/schema.generated.d.ts +183 -113
- package/dist/modules/fulfillment/gql/schema.generated.js +13 -6
- package/dist/modules/identity/gql/federation.d.ts +1 -1
- package/dist/modules/identity/gql/federation.js +1 -9
- package/dist/modules/identity/gql/schema.generated.d.ts +35 -0
- package/dist/modules/identity/gql/schema.generated.js +7 -1
- package/dist/modules/identity/gql/types.js +2 -0
- package/dist/modules/indexing/gql/federation.d.ts +2 -2
- package/dist/modules/indexing/gql/federation.js +2 -2
- package/dist/modules/indexing/gql/schema.d.ts +2 -2
- package/dist/modules/indexing/gql/schema.generated.d.ts +43 -2
- package/dist/modules/indexing/gql/schema.generated.js +7 -0
- package/dist/modules/indexing/gql/schema.js +1 -2
- package/dist/modules/indexing/gql/types.d.ts +2 -0
- package/dist/modules/indexing/gql/types.js +5 -2
- package/dist/modules/indexing/interfaces.d.ts +2 -2
- package/dist/modules/invoicing/gql/schema.generated.d.ts +87 -8
- package/dist/modules/invoicing/gql/schema.generated.js +7 -1
- package/dist/modules/notification/gql/schema.generated.d.ts +30 -0
- package/dist/modules/notification/gql/schema.generated.js +7 -1
- package/dist/modules/ordering/gql/federation.js +4 -4
- package/dist/modules/ordering/gql/schema.generated.d.ts +257 -195
- package/dist/modules/ordering/gql/schema.generated.js +18 -1
- package/dist/modules/ostorage/gql/schema.generated.d.ts +30 -0
- package/dist/modules/ostorage/gql/schema.generated.js +7 -1
- package/dist/modules/payment/gql/schema.generated.d.ts +30 -0
- package/dist/modules/payment/gql/schema.generated.js +7 -1
- package/dist/modules/resource/gql/schema.generated.d.ts +114 -12
- package/dist/modules/resource/gql/schema.generated.js +7 -1
- package/dist/modules/scheduling/gql/schema.generated.d.ts +30 -0
- package/dist/modules/scheduling/gql/schema.generated.js +7 -1
- package/generate.ts +6 -3
- package/package.json +18 -9
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,33 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
## [1.1.1](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@1.1.0...@restorecommerce/facade@1.1.1) (2022-10-12)
|
7
|
+
|
8
|
+
|
9
|
+
### Bug Fixes
|
10
|
+
|
11
|
+
* **facade:** regenerated schema typings for new proto files ([4e26e29](https://github.com/restorecommerce/libs/commit/4e26e2949d14dd0e2f7794b956a7d1107b8564ba))
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
# [1.1.0](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@1.0.1...@restorecommerce/facade@1.1.0) (2022-10-04)
|
18
|
+
|
19
|
+
|
20
|
+
### Bug Fixes
|
21
|
+
|
22
|
+
* **facade:** switch to apollo sandbox ([e2a1713](https://github.com/restorecommerce/libs/commit/e2a17133fe5f28ba65269232fd0ffbe230e6e416))
|
23
|
+
|
24
|
+
|
25
|
+
### Features
|
26
|
+
|
27
|
+
* **facade:** add subscriptions ([d9006e9](https://github.com/restorecommerce/libs/commit/d9006e9ebcd1522a67373f8ca8bfa751c551b36f))
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
6
33
|
## [1.0.1](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@1.0.0...@restorecommerce/facade@1.0.1) (2022-08-25)
|
7
34
|
|
8
35
|
**Note:** Version bump only for package @restorecommerce/facade
|
package/codegen/index.js
CHANGED
@@ -7,7 +7,7 @@ const typescriptResolversPlugin = require("@graphql-codegen/typescript-resolvers
|
|
7
7
|
const core_1 = require("@graphql-codegen/core");
|
8
8
|
async function generateSchemaTypings({ schema, outputFile, typescript, typescriptResolvers }) {
|
9
9
|
try {
|
10
|
-
const codegenConfig = {
|
10
|
+
const codegenConfig /* typings wrong? */ = {
|
11
11
|
// used by a plugin internally, although the 'typescript' plugin currently
|
12
12
|
// returns the string output, rather than writing to a file
|
13
13
|
filename: outputFile,
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { FederatedSchemaWithResolvers, GraphQLResolverMap, ProtoMetadata, ServiceClient, SubSpaceServiceConfig } from './types';
|
2
|
+
import { GraphQLSchema } from 'graphql/index';
|
3
|
+
import { GraphQLObjectType } from 'graphql';
|
4
|
+
import { GraphQLList } from 'graphql/type/definition';
|
5
|
+
export declare const buildFederatedSubscriptionSchema: <T, M extends Record<string, any>, CTX extends ServiceClient<CTX, keyof CTX, M>>(subServices: ProtoMetadata[], config: SubSpaceServiceConfig, namespace: string, schema: GraphQLSchema) => FederatedSchemaWithResolvers;
|
6
|
+
export declare const mergeSubscribeIntoSchema: (schema: GraphQLObjectType | GraphQLList<any> | null | undefined, resolvers: GraphQLResolverMap<any>[string]) => void;
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.mergeSubscribeIntoSchema = exports.buildFederatedSubscriptionSchema = void 0;
|
4
|
+
const federation_1 = require("@apollo/federation");
|
5
|
+
const apollo_server_koa_1 = require("apollo-server-koa");
|
6
|
+
const index_1 = require("graphql/index");
|
7
|
+
const graphql_1 = require("graphql");
|
8
|
+
const definition_1 = require("graphql/type/definition");
|
9
|
+
const resolvers_1 = require("./resolvers");
|
10
|
+
const buildFederatedSubscriptionSchema = (subServices, config, namespace, schema) => {
|
11
|
+
const resolvers = (0, resolvers_1.generateSubServiceResolvers)(subServices, config, namespace);
|
12
|
+
// TODO There is currently no way of building a federated schema from GraphQLSchema Object
|
13
|
+
// See https://github.com/apollographql/apollo-server/pull/4310
|
14
|
+
const federatedSchema = (0, federation_1.buildFederatedSchema)({
|
15
|
+
typeDefs: (0, apollo_server_koa_1.gql)((0, index_1.printSchema)(schema)),
|
16
|
+
resolvers
|
17
|
+
});
|
18
|
+
return {
|
19
|
+
federatedSchema,
|
20
|
+
resolvers
|
21
|
+
};
|
22
|
+
};
|
23
|
+
exports.buildFederatedSubscriptionSchema = buildFederatedSubscriptionSchema;
|
24
|
+
const mergeSubscribeIntoSchema = (schema, resolvers) => {
|
25
|
+
if (!schema || !resolvers) {
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
Object.entries(resolvers).forEach(([key, val]) => {
|
29
|
+
if (schema instanceof definition_1.GraphQLList) {
|
30
|
+
(0, exports.mergeSubscribeIntoSchema)(schema.ofType, val);
|
31
|
+
return;
|
32
|
+
}
|
33
|
+
const field = schema.getFields()[key];
|
34
|
+
if (!field) {
|
35
|
+
return;
|
36
|
+
}
|
37
|
+
if ('resolve' in val || 'subscribe' in val) {
|
38
|
+
field.subscribe = val['subscribe'] || field.subscribe;
|
39
|
+
field.resolve = val['resolve'] || field.resolve;
|
40
|
+
return;
|
41
|
+
}
|
42
|
+
const fieldType = field.type;
|
43
|
+
if (fieldType instanceof definition_1.GraphQLScalarType) {
|
44
|
+
field.subscribe = val['subscribe'];
|
45
|
+
}
|
46
|
+
else if (fieldType instanceof graphql_1.GraphQLObjectType) {
|
47
|
+
(0, exports.mergeSubscribeIntoSchema)(fieldType, val);
|
48
|
+
}
|
49
|
+
});
|
50
|
+
};
|
51
|
+
exports.mergeSubscribeIntoSchema = mergeSubscribeIntoSchema;
|
@@ -1,33 +1,11 @@
|
|
1
|
-
import { GraphQLInputField, GraphQLOutputType
|
2
|
-
import { GraphQLEnumType,
|
3
|
-
import { ProtoMetadata, ServiceConfig
|
4
|
-
import {
|
5
|
-
export declare const
|
6
|
-
export declare const getGQLSchemas: <TSource, TContext>(service: ServiceDescriptorProto) => GraphQLFieldConfigMap<TSource, TContext>;
|
1
|
+
import { GraphQLInputField, GraphQLOutputType } from 'graphql';
|
2
|
+
import { GraphQLEnumType, GraphQLInputObjectType, GraphQLInputType } from 'graphql/type/definition';
|
3
|
+
import { ProtoMetadata, ServiceConfig } from './types';
|
4
|
+
import { ServiceDescriptorProto } from 'ts-proto-descriptors';
|
5
|
+
export declare const Mutate: string[];
|
7
6
|
export declare const preprocessGQLInput: (data: any, model: GraphQLInputObjectType | GraphQLEnumType | GraphQLInputField | GraphQLInputType) => Promise<any>;
|
8
7
|
export declare const postProcessGQLValue: (data: any, model: GraphQLOutputType) => any;
|
9
|
-
export declare type ResolverFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => Promise<TResult> | TResult;
|
10
|
-
declare type ServiceClient<Context extends Pick<Context, Key>, Key extends keyof Context, T extends Record<string, any>> = {
|
11
|
-
[V in Key]: {
|
12
|
-
client: T;
|
13
|
-
};
|
14
|
-
};
|
15
|
-
export declare const getGQLResolverFunctions: <T extends Record<string, any>, CTX extends ServiceClient<CTX, keyof CTX, T>, SRV = any, R = ResolverFn<any, any, ServiceClient<CTX, keyof CTX, T>, any>, B extends keyof T = any, NS extends keyof CTX = any>(service: ServiceDescriptorProto, key: NS, serviceKey: B, cfg: ServiceConfig) => { [key in keyof SRV]: R; };
|
16
|
-
export declare const registerResolverFunction: <T extends Record<string, any>, CTX extends ServiceClient<CTX, keyof CTX, T>>(namespace: string, name: string, func: ResolverFn<any, any, ServiceClient<CTX, keyof CTX, T>, any>, mutation?: boolean, subspace?: string | undefined, service?: ServiceDescriptorProto | undefined) => void;
|
17
|
-
export declare const generateResolver: (...namespaces: string[]) => any;
|
18
|
-
declare type SchemaBaseOrSub = ThunkObjMap<GraphQLFieldConfig<any, any>> | Map<string, ThunkObjMap<GraphQLFieldConfig<any, any>>>;
|
19
|
-
export declare const registerResolverSchema: (namespace: string, name: string, schema: SchemaBaseOrSub, mutation: boolean | undefined, subspace: string | undefined, config: ServiceConfig) => void;
|
20
|
-
export declare const generateSchema: (setup: {
|
21
|
-
prefix: string;
|
22
|
-
namespace: string;
|
23
|
-
}[]) => GraphQLSchema;
|
24
8
|
export declare const getWhitelistBlacklistConfig: (metaService: ServiceDescriptorProto, config: ServiceConfig, meta: ProtoMetadata, entity: string) => {
|
25
9
|
queries: Set<string>;
|
26
10
|
mutations: Set<string>;
|
27
11
|
};
|
28
|
-
export declare const getAndGenerateSchema: <TSource, TContext>(service: ServiceDescriptorProto, namespace: string, prefix: string, cfg: ServiceConfig, meta: ProtoMetadata) => GraphQLSchema;
|
29
|
-
export declare const getAndGenerateResolvers: <T extends Record<string, any>, CTX extends ServiceClient<CTX, keyof CTX, T>, SRV = any, R = ResolverFn<any, any, ServiceClient<CTX, keyof CTX, T>, any>, NS extends keyof CTX = any>(service: ServiceDescriptorProto, namespace: NS, cfg: ServiceConfig, meta: ProtoMetadata, subspace?: string | undefined, serviceKey?: string | undefined) => { [key in keyof SRV]: R; };
|
30
|
-
export declare const generateSubServiceSchemas: (subServices: ProtoMetadata[], config: SubSpaceServiceConfig, namespace: string, prefix: string) => GraphQLSchema;
|
31
|
-
export declare const generateSubServiceResolvers: <T, M extends Record<string, any>, CTX extends ServiceClient<CTX, keyof CTX, M>>(subServices: ProtoMetadata[], config: SubSpaceServiceConfig, namespace: string) => T;
|
32
|
-
export declare function camelCase(s: string): string;
|
33
|
-
export {};
|