@restorecommerce/facade 1.0.1 → 1.1.0
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 +16 -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 +10 -1
- package/dist/modules/catalog/gql/schema.generated.d.ts +10 -1
- package/dist/modules/fulfillment/gql/schema.generated.d.ts +10 -1
- 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 +40 -1
- 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 +13 -2
- 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 +10 -1
- package/dist/modules/notification/gql/schema.generated.d.ts +10 -1
- package/dist/modules/ordering/gql/federation.js +4 -4
- package/dist/modules/ordering/gql/schema.generated.d.ts +10 -1
- package/dist/modules/resource/gql/schema.generated.d.ts +10 -1
- package/dist/modules/scheduling/gql/schema.generated.d.ts +5 -3
- package/generate.ts +6 -3
- package/package.json +18 -9
@@ -1,5 +1,16 @@
|
|
1
1
|
import { GrpcClientConfig } from "@restorecommerce/grpc-client";
|
2
2
|
import { FileDescriptorProto } from "ts-proto-descriptors";
|
3
|
+
import { GraphQLSchema, GraphQLFieldResolver, GraphQLScalarType } from 'graphql';
|
4
|
+
export interface GraphQLResolverMap<TContext = {}> {
|
5
|
+
[typeName: string]: {
|
6
|
+
[fieldName: string]: GraphQLFieldResolver<any, TContext, any> | {
|
7
|
+
requires?: string;
|
8
|
+
resolve: GraphQLFieldResolver<any, TContext, any>;
|
9
|
+
};
|
10
|
+
} | GraphQLScalarType | {
|
11
|
+
[enumValue: string]: string | number;
|
12
|
+
};
|
13
|
+
}
|
3
14
|
export declare const authSubjectType = ".io.restorecommerce.auth.Subject";
|
4
15
|
export declare type ProtoMetaMessageOptions = {
|
5
16
|
options?: {
|
@@ -74,3 +85,12 @@ export interface ServiceConfig {
|
|
74
85
|
export interface SubSpaceServiceConfig extends ServiceConfig {
|
75
86
|
root: boolean;
|
76
87
|
}
|
88
|
+
export declare type ServiceClient<Context extends Pick<Context, Key>, Key extends keyof Context, T extends Record<string, any>> = {
|
89
|
+
[V in Key]: {
|
90
|
+
client: T;
|
91
|
+
};
|
92
|
+
};
|
93
|
+
export declare type FederatedSchemaWithResolvers = {
|
94
|
+
federatedSchema: GraphQLSchema;
|
95
|
+
resolvers: GraphQLResolverMap<any>;
|
96
|
+
};
|
@@ -9,3 +9,8 @@ export declare const decodeBufferFields: (items: any[], bufferFields: string[])
|
|
9
9
|
* @param req request object from which the enum strings to be replaced
|
10
10
|
*/
|
11
11
|
export declare const convertEnumToInt: (inputTyping: TypingData, req: any) => any;
|
12
|
+
export declare const snakeToCamel: (s: string) => string;
|
13
|
+
export declare const capitalize: (s: string) => string;
|
14
|
+
export declare function camelCase(s: string): string;
|
15
|
+
export declare let useSubscriptions: boolean;
|
16
|
+
export declare const setUseSubscriptions: (value: boolean) => boolean;
|
package/dist/gql/protos/utils.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.convertEnumToInt = exports.decodeBufferFields = exports.getKeys = exports.convertyCamelToSnakeCase = exports.capitalizeProtoName = void 0;
|
3
|
+
exports.setUseSubscriptions = exports.useSubscriptions = exports.camelCase = exports.capitalize = exports.snakeToCamel = exports.convertEnumToInt = exports.decodeBufferFields = exports.getKeys = exports.convertyCamelToSnakeCase = exports.capitalizeProtoName = void 0;
|
4
4
|
const _ = require("lodash");
|
5
5
|
const registry_1 = require("./registry");
|
6
6
|
const capitalizeProtoName = (name) => {
|
@@ -111,3 +111,29 @@ const convertEnumToInt = (inputTyping, req) => {
|
|
111
111
|
return req;
|
112
112
|
};
|
113
113
|
exports.convertEnumToInt = convertEnumToInt;
|
114
|
+
const snakeToCamel = (s) => {
|
115
|
+
return s
|
116
|
+
.split('_')
|
117
|
+
.map((word, i) => {
|
118
|
+
if (i === 0) {
|
119
|
+
// if first symbol is "_" then skip it
|
120
|
+
return word ? word[0] + word.substring(1).toLowerCase() : '';
|
121
|
+
}
|
122
|
+
else {
|
123
|
+
return (0, exports.capitalize)(word.toLowerCase());
|
124
|
+
}
|
125
|
+
})
|
126
|
+
.join('');
|
127
|
+
};
|
128
|
+
exports.snakeToCamel = snakeToCamel;
|
129
|
+
const capitalize = (s) => {
|
130
|
+
return s.substring(0, 1).toUpperCase() + s.substring(1);
|
131
|
+
};
|
132
|
+
exports.capitalize = capitalize;
|
133
|
+
function camelCase(s) {
|
134
|
+
return s.substring(0, 1).toLowerCase() + s.substring(1);
|
135
|
+
}
|
136
|
+
exports.camelCase = camelCase;
|
137
|
+
exports.useSubscriptions = false;
|
138
|
+
const setUseSubscriptions = (value) => exports.useSubscriptions = value;
|
139
|
+
exports.setUseSubscriptions = setUseSubscriptions;
|
package/dist/index.d.ts
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
/// <reference types="koa-bodyparser" />
|
2
|
+
/// <reference types="koa-websocket" />
|
3
|
+
/// <reference types="node" />
|
2
4
|
/// <reference types="node" />
|
3
5
|
import Koa from 'koa';
|
4
6
|
import { Logger } from 'winston';
|
5
7
|
import { Server } from 'http';
|
6
8
|
import { AddressInfo } from 'net';
|
7
9
|
import { Facade, FacadeBaseContext, FacadeModule, FacadeModuleBase, FacadeModulesContext } from './interfaces';
|
10
|
+
import { KafkaProviderConfig } from '@restorecommerce/kafka-client';
|
8
11
|
export * from './modules/index';
|
9
12
|
export * from './middlewares/index';
|
10
13
|
export * from './interfaces';
|
@@ -16,16 +19,11 @@ interface RestoreCommerceFacadeImplConfig {
|
|
16
19
|
port?: number;
|
17
20
|
hostname?: string;
|
18
21
|
env?: string;
|
22
|
+
kafka?: KafkaProviderConfig['kafka'];
|
19
23
|
}
|
20
|
-
export declare type ApolloServiceArg = {
|
21
|
-
name: string;
|
22
|
-
} & ({
|
23
|
-
url: string;
|
24
|
-
} | {
|
25
|
-
schema: any;
|
26
|
-
});
|
27
24
|
export declare class RestoreCommerceFacade<TModules extends FacadeModuleBase[] = []> implements Facade<TModules> {
|
28
25
|
private apolloServices;
|
26
|
+
private allResolvers;
|
29
27
|
private _server?;
|
30
28
|
private _initialized;
|
31
29
|
readonly logger: Logger;
|
@@ -34,9 +32,10 @@ export declare class RestoreCommerceFacade<TModules extends FacadeModuleBase[] =
|
|
34
32
|
readonly koa: Koa<any, FacadeModulesContext<TModules>>;
|
35
33
|
readonly env: string;
|
36
34
|
readonly modules: FacadeModule[];
|
35
|
+
readonly kafkaConfig?: KafkaProviderConfig['kafka'];
|
37
36
|
private startFns;
|
38
37
|
private stopFns;
|
39
|
-
constructor({ koa, logger, port, hostname, env }: RestoreCommerceFacadeImplConfig);
|
38
|
+
constructor({ koa, logger, port, hostname, env, kafka }: RestoreCommerceFacadeImplConfig);
|
40
39
|
get server(): Server | undefined;
|
41
40
|
get address(): AddressInfo | undefined;
|
42
41
|
get listening(): boolean;
|
@@ -61,5 +60,6 @@ export interface FacadeConfig {
|
|
61
60
|
hostname?: string;
|
62
61
|
env?: string;
|
63
62
|
keys?: string[];
|
63
|
+
kafka?: KafkaProviderConfig['kafka'];
|
64
64
|
}
|
65
|
-
export declare function createFacade(config: FacadeConfig): Facade
|
65
|
+
export declare function createFacade(config: FacadeConfig): Facade;
|
package/dist/index.js
CHANGED
@@ -17,18 +17,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.createFacade = exports.RestoreCommerceFacade = void 0;
|
18
18
|
const koa_1 = require("koa");
|
19
19
|
const logger_1 = require("@restorecommerce/logger");
|
20
|
+
const http_1 = require("http");
|
20
21
|
const apollo_server_koa_1 = require("apollo-server-koa");
|
22
|
+
const graphql_1 = require("graphql");
|
21
23
|
const gateway_1 = require("@apollo/gateway");
|
22
|
-
const
|
24
|
+
const modules_1 = require("./modules");
|
23
25
|
const apollo_server_core_1 = require("apollo-server-core");
|
26
|
+
const http_2 = require("http");
|
27
|
+
const ws_1 = require("ws");
|
28
|
+
const ws_2 = require("graphql-ws/lib/use/ws");
|
29
|
+
const lodash_1 = require("lodash");
|
30
|
+
const graphql_tools_1 = require("graphql-tools");
|
31
|
+
const graphql_tag_1 = require("graphql-tag");
|
32
|
+
const protos_1 = require("./gql/protos");
|
33
|
+
const koa_compose_1 = require("koa-compose");
|
34
|
+
const utils_1 = require("./gql/protos/utils");
|
24
35
|
__exportStar(require("./modules/index"), exports);
|
25
36
|
__exportStar(require("./middlewares/index"), exports);
|
26
37
|
__exportStar(require("./interfaces"), exports);
|
27
38
|
__exportStar(require("./utils"), exports);
|
28
39
|
__exportStar(require("./gql/index"), exports);
|
29
40
|
class RestoreCommerceFacade {
|
30
|
-
constructor({ koa, logger, port, hostname, env }) {
|
41
|
+
constructor({ koa, logger, port, hostname, env, kafka }) {
|
31
42
|
this.apolloServices = {};
|
43
|
+
this.allResolvers = {};
|
32
44
|
this._initialized = false;
|
33
45
|
this.modules = [];
|
34
46
|
this.startFns = [];
|
@@ -38,6 +50,8 @@ class RestoreCommerceFacade {
|
|
38
50
|
this.hostname = hostname !== null && hostname !== void 0 ? hostname : '127.0.0.1';
|
39
51
|
this.koa = koa;
|
40
52
|
this.env = env !== null && env !== void 0 ? env : 'development';
|
53
|
+
this.kafkaConfig = kafka;
|
54
|
+
(0, utils_1.setUseSubscriptions)(!!kafka);
|
41
55
|
}
|
42
56
|
get server() {
|
43
57
|
return this._server;
|
@@ -69,7 +83,13 @@ class RestoreCommerceFacade {
|
|
69
83
|
return this.modules.some(m => module.moduleName === m.moduleName);
|
70
84
|
}
|
71
85
|
addApolloService({ name, schema, url }) {
|
72
|
-
|
86
|
+
if (schema instanceof graphql_1.GraphQLSchema) {
|
87
|
+
this.apolloServices[name] = { schema, url };
|
88
|
+
}
|
89
|
+
else if ('federatedSchema' in schema && 'resolvers' in schema) {
|
90
|
+
this.apolloServices[name] = { schema: schema.federatedSchema, url };
|
91
|
+
this.allResolvers = lodash_1.default.merge(this.allResolvers, schema.resolvers);
|
92
|
+
}
|
73
93
|
}
|
74
94
|
onStart(fn) {
|
75
95
|
debugger;
|
@@ -101,8 +121,9 @@ class RestoreCommerceFacade {
|
|
101
121
|
this._initialized = true;
|
102
122
|
}
|
103
123
|
return new Promise((resolve, reject) => {
|
124
|
+
var _a;
|
104
125
|
try {
|
105
|
-
|
126
|
+
(_a = this.server) === null || _a === void 0 ? void 0 : _a.listen(this.port, this.hostname, () => {
|
106
127
|
const address = this.address;
|
107
128
|
if (address) {
|
108
129
|
this.logger.info(`Service is listening on ${address.address}:${address.port}`);
|
@@ -146,6 +167,7 @@ class RestoreCommerceFacade {
|
|
146
167
|
const gateway = new gateway_1.ApolloGateway({
|
147
168
|
logger: this.logger,
|
148
169
|
serviceList,
|
170
|
+
debug: true,
|
149
171
|
buildService: ({ name, url }) => {
|
150
172
|
var _a;
|
151
173
|
if (url !== 'local') {
|
@@ -165,12 +187,60 @@ class RestoreCommerceFacade {
|
|
165
187
|
}
|
166
188
|
}
|
167
189
|
});
|
190
|
+
this._server = (0, http_2.createServer)(this.koa.callback());
|
191
|
+
const wsServer = new ws_1.WebSocketServer({
|
192
|
+
server: this._server,
|
193
|
+
path: '/graphql',
|
194
|
+
});
|
195
|
+
let serverCleanup;
|
196
|
+
gateway.onSchemaLoadOrUpdate(schemaContext => {
|
197
|
+
const typeDefs = (0, graphql_1.printSchema)(new graphql_1.GraphQLSchema({
|
198
|
+
subscription: schemaContext.apiSchema.getSubscriptionType()
|
199
|
+
}));
|
200
|
+
let schema = (0, graphql_tools_1.makeExecutableSchema)({
|
201
|
+
typeDefs: (0, graphql_tag_1.gql)(typeDefs + `
|
202
|
+
type Query { sample: String }
|
203
|
+
`),
|
204
|
+
resolvers: {
|
205
|
+
Subscription: {
|
206
|
+
...this.allResolvers['Subscription']
|
207
|
+
}
|
208
|
+
}
|
209
|
+
});
|
210
|
+
if ('Subscription' in this.allResolvers) {
|
211
|
+
(0, protos_1.mergeSubscribeIntoSchema)(schema.getSubscriptionType(), this.allResolvers['Subscription']);
|
212
|
+
}
|
213
|
+
serverCleanup = (0, ws_2.useServer)({
|
214
|
+
schema,
|
215
|
+
context: async (ctx, message, args) => {
|
216
|
+
const newCtx = this.koa.createContext(ctx.extra.request, new http_1.ServerResponse(ctx.extra.request));
|
217
|
+
const fn = await (0, koa_compose_1.default)(this.koa.middleware);
|
218
|
+
await fn(newCtx);
|
219
|
+
newCtx.kafkaConfig = this.kafkaConfig;
|
220
|
+
newCtx.logger = this.logger;
|
221
|
+
return newCtx;
|
222
|
+
},
|
223
|
+
}, wsServer);
|
224
|
+
});
|
168
225
|
const gqlServer = new apollo_server_koa_1.ApolloServer({
|
169
226
|
gateway,
|
170
227
|
introspection: true,
|
171
228
|
plugins: [
|
172
|
-
(0, apollo_server_core_1.
|
229
|
+
(0, apollo_server_core_1.ApolloServerPluginDrainHttpServer)({ httpServer: this._server }),
|
230
|
+
(0, apollo_server_core_1.ApolloServerPluginLandingPageLocalDefault)({
|
231
|
+
embed: true
|
232
|
+
}),
|
233
|
+
{
|
234
|
+
async serverWillStart() {
|
235
|
+
return {
|
236
|
+
async drainServer() {
|
237
|
+
await serverCleanup.dispose();
|
238
|
+
},
|
239
|
+
};
|
240
|
+
},
|
241
|
+
},
|
173
242
|
],
|
243
|
+
debug: true,
|
174
244
|
formatError: (error) => {
|
175
245
|
this.logger.error('Error while processing request', { message: error.message });
|
176
246
|
this.logger.debug('Error while processing request', { error });
|
@@ -217,7 +287,8 @@ function createFacade(config) {
|
|
217
287
|
logger,
|
218
288
|
port: config.port,
|
219
289
|
hostname: config.hostname,
|
220
|
-
env: config.env
|
221
|
-
|
290
|
+
env: config.env,
|
291
|
+
kafka: config.kafka
|
292
|
+
}).useModule(modules_1.facadeStatusModule);
|
222
293
|
}
|
223
294
|
exports.createFacade = createFacade;
|
package/dist/interfaces.d.ts
CHANGED
@@ -243,10 +243,10 @@ export declare type IIoRestorecommerceResourcebaseReadRequest = {
|
|
243
243
|
sort?: InputMaybe<Array<IIoRestorecommerceResourcebaseSort>>;
|
244
244
|
filters?: InputMaybe<Array<IIoRestorecommerceResourcebaseFilterOp>>;
|
245
245
|
field?: InputMaybe<Array<IIoRestorecommerceResourcebaseFieldFilter>>;
|
246
|
-
search?: InputMaybe<Array<Scalars['String']>>;
|
247
246
|
localesLimiter?: InputMaybe<Array<Scalars['String']>>;
|
248
247
|
customQueries?: InputMaybe<Array<Scalars['String']>>;
|
249
248
|
customArguments?: InputMaybe<IGoogleProtobufAny>;
|
249
|
+
search?: InputMaybe<IIoRestorecommerceResourcebaseSearch>;
|
250
250
|
/** target scope */
|
251
251
|
scope?: InputMaybe<Scalars['String']>;
|
252
252
|
};
|
@@ -307,6 +307,11 @@ export declare type IIoRestorecommerceResourcebaseFieldFilter = {
|
|
307
307
|
name?: InputMaybe<Scalars['String']>;
|
308
308
|
include?: InputMaybe<Scalars['Boolean']>;
|
309
309
|
};
|
310
|
+
export declare type IIoRestorecommerceResourcebaseSearch = {
|
311
|
+
search?: InputMaybe<Scalars['String']>;
|
312
|
+
fields?: InputMaybe<Array<Scalars['String']>>;
|
313
|
+
caseSensitive?: InputMaybe<Scalars['Boolean']>;
|
314
|
+
};
|
310
315
|
export declare type AccessControlRuleQuery = {
|
311
316
|
__typename?: 'AccessControlRuleQuery';
|
312
317
|
Read?: Maybe<ProtoIoRestorecommerceRuleRuleListResponse>;
|
@@ -439,6 +444,8 @@ export declare type IoRestorecommerceResourcebaseDeleteResponse = {
|
|
439
444
|
export declare type IIoRestorecommerceResourcebaseDeleteRequest = {
|
440
445
|
collection?: InputMaybe<Scalars['Boolean']>;
|
441
446
|
ids?: InputMaybe<Array<Scalars['String']>>;
|
447
|
+
view?: InputMaybe<Array<Scalars['String']>>;
|
448
|
+
analyzer?: InputMaybe<Array<Scalars['String']>>;
|
442
449
|
/** target scope */
|
443
450
|
scope?: InputMaybe<Scalars['String']>;
|
444
451
|
};
|
@@ -582,6 +589,7 @@ export declare type ResolversTypes = ResolversObject<{
|
|
582
589
|
IIoRestorecommerceFilterFilter: IIoRestorecommerceFilterFilter;
|
583
590
|
IoRestorecommerceResourcebaseFilterOpOperator: IoRestorecommerceResourcebaseFilterOpOperator;
|
584
591
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
592
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
585
593
|
AccessControlRuleQuery: ResolverTypeWrapper<AccessControlRuleQuery>;
|
586
594
|
ProtoIoRestorecommerceRuleRuleListResponse: ResolverTypeWrapper<ProtoIoRestorecommerceRuleRuleListResponse>;
|
587
595
|
IoRestorecommerceRuleRuleListResponse: ResolverTypeWrapper<IoRestorecommerceRuleRuleListResponse>;
|
@@ -654,6 +662,7 @@ export declare type ResolversParentTypes = ResolversObject<{
|
|
654
662
|
IIoRestorecommerceFilterFilterOp: IIoRestorecommerceFilterFilterOp;
|
655
663
|
IIoRestorecommerceFilterFilter: IIoRestorecommerceFilterFilter;
|
656
664
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
665
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
657
666
|
AccessControlRuleQuery: AccessControlRuleQuery;
|
658
667
|
ProtoIoRestorecommerceRuleRuleListResponse: ProtoIoRestorecommerceRuleRuleListResponse;
|
659
668
|
IoRestorecommerceRuleRuleListResponse: IoRestorecommerceRuleRuleListResponse;
|
@@ -166,10 +166,10 @@ export declare type IIoRestorecommerceResourcebaseReadRequest = {
|
|
166
166
|
sort?: InputMaybe<Array<IIoRestorecommerceResourcebaseSort>>;
|
167
167
|
filters?: InputMaybe<Array<IIoRestorecommerceResourcebaseFilterOp>>;
|
168
168
|
field?: InputMaybe<Array<IIoRestorecommerceResourcebaseFieldFilter>>;
|
169
|
-
search?: InputMaybe<Array<Scalars['String']>>;
|
170
169
|
localesLimiter?: InputMaybe<Array<Scalars['String']>>;
|
171
170
|
customQueries?: InputMaybe<Array<Scalars['String']>>;
|
172
171
|
customArguments?: InputMaybe<IGoogleProtobufAny>;
|
172
|
+
search?: InputMaybe<IIoRestorecommerceResourcebaseSearch>;
|
173
173
|
/** target scope */
|
174
174
|
scope?: InputMaybe<Scalars['String']>;
|
175
175
|
};
|
@@ -256,6 +256,11 @@ export declare type IGoogleProtobufAny = {
|
|
256
256
|
typeUrl?: InputMaybe<Scalars['String']>;
|
257
257
|
value?: InputMaybe<Scalars['GoogleProtobufAnyValue']>;
|
258
258
|
};
|
259
|
+
export declare type IIoRestorecommerceResourcebaseSearch = {
|
260
|
+
search?: InputMaybe<Scalars['String']>;
|
261
|
+
fields?: InputMaybe<Array<Scalars['String']>>;
|
262
|
+
caseSensitive?: InputMaybe<Scalars['Boolean']>;
|
263
|
+
};
|
259
264
|
export declare type CatalogProductPrototypeQuery = {
|
260
265
|
__typename?: 'CatalogProductPrototypeQuery';
|
261
266
|
Read?: Maybe<ProtoIoRestorecommerceProductPrototypeProductPrototypeListResponse>;
|
@@ -494,6 +499,8 @@ export declare type IoRestorecommerceResourcebaseDeleteResponse = {
|
|
494
499
|
export declare type IIoRestorecommerceResourcebaseDeleteRequest = {
|
495
500
|
collection?: InputMaybe<Scalars['Boolean']>;
|
496
501
|
ids?: InputMaybe<Array<Scalars['String']>>;
|
502
|
+
view?: InputMaybe<Array<Scalars['String']>>;
|
503
|
+
analyzer?: InputMaybe<Array<Scalars['String']>>;
|
497
504
|
/** target scope */
|
498
505
|
scope?: InputMaybe<Scalars['String']>;
|
499
506
|
};
|
@@ -670,6 +677,7 @@ export declare type ResolversTypes = ResolversObject<{
|
|
670
677
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
671
678
|
IGoogleProtobufAny: IGoogleProtobufAny;
|
672
679
|
GoogleProtobufAnyValue: ResolverTypeWrapper<Scalars['GoogleProtobufAnyValue']>;
|
680
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
673
681
|
CatalogProductPrototypeQuery: ResolverTypeWrapper<CatalogProductPrototypeQuery>;
|
674
682
|
ProtoIoRestorecommerceProductPrototypeProductPrototypeListResponse: ResolverTypeWrapper<ProtoIoRestorecommerceProductPrototypeProductPrototypeListResponse>;
|
675
683
|
IoRestorecommerceProductPrototypeProductPrototypeListResponse: ResolverTypeWrapper<IoRestorecommerceProductPrototypeProductPrototypeListResponse>;
|
@@ -756,6 +764,7 @@ export declare type ResolversParentTypes = ResolversObject<{
|
|
756
764
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
757
765
|
IGoogleProtobufAny: IGoogleProtobufAny;
|
758
766
|
GoogleProtobufAnyValue: Scalars['GoogleProtobufAnyValue'];
|
767
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
759
768
|
CatalogProductPrototypeQuery: CatalogProductPrototypeQuery;
|
760
769
|
ProtoIoRestorecommerceProductPrototypeProductPrototypeListResponse: ProtoIoRestorecommerceProductPrototypeProductPrototypeListResponse;
|
761
770
|
IoRestorecommerceProductPrototypeProductPrototypeListResponse: IoRestorecommerceProductPrototypeProductPrototypeListResponse;
|
@@ -206,10 +206,10 @@ export declare type IIoRestorecommerceResourcebaseReadRequest = {
|
|
206
206
|
sort?: InputMaybe<Array<IIoRestorecommerceResourcebaseSort>>;
|
207
207
|
filters?: InputMaybe<Array<IIoRestorecommerceResourcebaseFilterOp>>;
|
208
208
|
field?: InputMaybe<Array<IIoRestorecommerceResourcebaseFieldFilter>>;
|
209
|
-
search?: InputMaybe<Array<Scalars['String']>>;
|
210
209
|
localesLimiter?: InputMaybe<Array<Scalars['String']>>;
|
211
210
|
customQueries?: InputMaybe<Array<Scalars['String']>>;
|
212
211
|
customArguments?: InputMaybe<IGoogleProtobufAny>;
|
212
|
+
search?: InputMaybe<IIoRestorecommerceResourcebaseSearch>;
|
213
213
|
/** target scope */
|
214
214
|
scope?: InputMaybe<Scalars['String']>;
|
215
215
|
};
|
@@ -296,6 +296,11 @@ export declare type IGoogleProtobufAny = {
|
|
296
296
|
typeUrl?: InputMaybe<Scalars['String']>;
|
297
297
|
value?: InputMaybe<Scalars['GoogleProtobufAnyValue']>;
|
298
298
|
};
|
299
|
+
export declare type IIoRestorecommerceResourcebaseSearch = {
|
300
|
+
search?: InputMaybe<Scalars['String']>;
|
301
|
+
fields?: InputMaybe<Array<Scalars['String']>>;
|
302
|
+
caseSensitive?: InputMaybe<Scalars['Boolean']>;
|
303
|
+
};
|
299
304
|
export declare type ProtoIoRestorecommerceFulfillmentTrackingResultList = {
|
300
305
|
__typename?: 'ProtoIoRestorecommerceFulfillmentTrackingResultList';
|
301
306
|
details?: Maybe<IoRestorecommerceFulfillmentTrackingResultList>;
|
@@ -513,6 +518,8 @@ export declare type IoRestorecommerceResourcebaseDeleteResponse = {
|
|
513
518
|
export declare type IIoRestorecommerceResourcebaseDeleteRequest = {
|
514
519
|
collection?: InputMaybe<Scalars['Boolean']>;
|
515
520
|
ids?: InputMaybe<Array<Scalars['String']>>;
|
521
|
+
view?: InputMaybe<Array<Scalars['String']>>;
|
522
|
+
analyzer?: InputMaybe<Array<Scalars['String']>>;
|
516
523
|
/** target scope */
|
517
524
|
scope?: InputMaybe<Scalars['String']>;
|
518
525
|
};
|
@@ -619,6 +626,7 @@ export declare type ResolversTypes = ResolversObject<{
|
|
619
626
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
620
627
|
IGoogleProtobufAny: IGoogleProtobufAny;
|
621
628
|
GoogleProtobufAnyValue: ResolverTypeWrapper<Scalars['GoogleProtobufAnyValue']>;
|
629
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
622
630
|
ProtoIoRestorecommerceFulfillmentTrackingResultList: ResolverTypeWrapper<ProtoIoRestorecommerceFulfillmentTrackingResultList>;
|
623
631
|
IoRestorecommerceFulfillmentTrackingResultList: ResolverTypeWrapper<IoRestorecommerceFulfillmentTrackingResultList>;
|
624
632
|
IoRestorecommerceFulfillmentTrackingResult: ResolverTypeWrapper<IoRestorecommerceFulfillmentTrackingResult>;
|
@@ -699,6 +707,7 @@ export declare type ResolversParentTypes = ResolversObject<{
|
|
699
707
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
700
708
|
IGoogleProtobufAny: IGoogleProtobufAny;
|
701
709
|
GoogleProtobufAnyValue: Scalars['GoogleProtobufAnyValue'];
|
710
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
702
711
|
ProtoIoRestorecommerceFulfillmentTrackingResultList: ProtoIoRestorecommerceFulfillmentTrackingResultList;
|
703
712
|
IoRestorecommerceFulfillmentTrackingResultList: IoRestorecommerceFulfillmentTrackingResultList;
|
704
713
|
IoRestorecommerceFulfillmentTrackingResult: IoRestorecommerceFulfillmentTrackingResult;
|
@@ -1,2 +1,2 @@
|
|
1
1
|
import { IdentityServiceConfig } from "../interfaces";
|
2
|
-
export declare const FederatedResourceSchema: (cfg: IdentityServiceConfig) => import("
|
2
|
+
export declare const FederatedResourceSchema: (cfg: IdentityServiceConfig) => import("../../../gql/protos").FederatedSchemaWithResolvers;
|
@@ -1,17 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.FederatedResourceSchema = void 0;
|
4
|
-
const apollo_server_koa_1 = require("apollo-server-koa");
|
5
|
-
const federation_1 = require("@apollo/federation");
|
6
4
|
const schema_1 = require("./schema");
|
7
5
|
const interfaces_1 = require("../interfaces");
|
8
6
|
const protos_1 = require("../../../gql/protos");
|
9
7
|
const types_1 = require("./types");
|
10
|
-
const
|
11
|
-
// TODO There is currently no way of building a federated schema from GraphQLSchema Object
|
12
|
-
// See https://github.com/apollographql/apollo-server/pull/4310
|
13
|
-
const FederatedResourceSchema = (cfg) => (0, federation_1.buildFederatedSchema)({
|
14
|
-
typeDefs: (0, apollo_server_koa_1.gql)((0, graphql_1.printSchema)((0, schema_1.schema)(cfg))),
|
15
|
-
resolvers: (0, protos_1.generateSubServiceResolvers)(types_1.subServices, cfg, interfaces_1.namespace)
|
16
|
-
});
|
8
|
+
const FederatedResourceSchema = (cfg) => (0, protos_1.buildFederatedSubscriptionSchema)(types_1.subServices, cfg, interfaces_1.namespace, (0, schema_1.schema)(cfg));
|
17
9
|
exports.FederatedResourceSchema = FederatedResourceSchema;
|
@@ -197,10 +197,10 @@ export declare type IIoRestorecommerceResourcebaseReadRequest = {
|
|
197
197
|
sort?: InputMaybe<Array<IIoRestorecommerceResourcebaseSort>>;
|
198
198
|
filters?: InputMaybe<Array<IIoRestorecommerceResourcebaseFilterOp>>;
|
199
199
|
field?: InputMaybe<Array<IIoRestorecommerceResourcebaseFieldFilter>>;
|
200
|
-
search?: InputMaybe<Array<Scalars['String']>>;
|
201
200
|
localesLimiter?: InputMaybe<Array<Scalars['String']>>;
|
202
201
|
customQueries?: InputMaybe<Array<Scalars['String']>>;
|
203
202
|
customArguments?: InputMaybe<IGoogleProtobufAny>;
|
203
|
+
search?: InputMaybe<IIoRestorecommerceResourcebaseSearch>;
|
204
204
|
/** target scope */
|
205
205
|
scope?: InputMaybe<Scalars['String']>;
|
206
206
|
};
|
@@ -287,6 +287,11 @@ export declare type IGoogleProtobufAny = {
|
|
287
287
|
typeUrl?: InputMaybe<Scalars['String']>;
|
288
288
|
value?: InputMaybe<Scalars['GoogleProtobufAnyValue']>;
|
289
289
|
};
|
290
|
+
export declare type IIoRestorecommerceResourcebaseSearch = {
|
291
|
+
search?: InputMaybe<Scalars['String']>;
|
292
|
+
fields?: InputMaybe<Array<Scalars['String']>>;
|
293
|
+
caseSensitive?: InputMaybe<Scalars['Boolean']>;
|
294
|
+
};
|
290
295
|
export declare type ProtoIoRestorecommerceUserUserListResponse = {
|
291
296
|
__typename?: 'ProtoIoRestorecommerceUserUserListResponse';
|
292
297
|
details?: Maybe<IoRestorecommerceUserUserListResponse>;
|
@@ -587,6 +592,8 @@ export declare type IoRestorecommerceResourcebaseDeleteResponse = {
|
|
587
592
|
export declare type IIoRestorecommerceResourcebaseDeleteRequest = {
|
588
593
|
collection?: InputMaybe<Scalars['Boolean']>;
|
589
594
|
ids?: InputMaybe<Array<Scalars['String']>>;
|
595
|
+
view?: InputMaybe<Array<Scalars['String']>>;
|
596
|
+
analyzer?: InputMaybe<Array<Scalars['String']>>;
|
590
597
|
/** target scope */
|
591
598
|
scope?: InputMaybe<Scalars['String']>;
|
592
599
|
};
|
@@ -753,6 +760,22 @@ export declare type IIoRestorecommerceTokenTokenData = {
|
|
753
760
|
export declare type IIoRestorecommerceTokenGrantId = {
|
754
761
|
grantId?: InputMaybe<Scalars['String']>;
|
755
762
|
};
|
763
|
+
export declare type Subscription = {
|
764
|
+
__typename?: 'Subscription';
|
765
|
+
identityUsers?: Maybe<SubscriptionOutput>;
|
766
|
+
};
|
767
|
+
export declare type SubscriptionIdentityUsersArgs = {
|
768
|
+
action?: InputMaybe<SubscriptionAction>;
|
769
|
+
};
|
770
|
+
export declare type SubscriptionOutput = {
|
771
|
+
__typename?: 'SubscriptionOutput';
|
772
|
+
id?: Maybe<Scalars['String']>;
|
773
|
+
};
|
774
|
+
export declare enum SubscriptionAction {
|
775
|
+
Created = "CREATED",
|
776
|
+
Updated = "UPDATED",
|
777
|
+
Deleted = "DELETED"
|
778
|
+
}
|
756
779
|
export declare type WithIndex<TObject> = TObject & Record<string, any>;
|
757
780
|
export declare type ResolversObject<TObject> = WithIndex<TObject>;
|
758
781
|
export declare type ResolverTypeWrapper<T> = Promise<T> | T;
|
@@ -823,6 +846,7 @@ export declare type ResolversTypes = ResolversObject<{
|
|
823
846
|
IoRestorecommerceResourcebaseFilterOpOperator: IoRestorecommerceResourcebaseFilterOpOperator;
|
824
847
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
825
848
|
IGoogleProtobufAny: IGoogleProtobufAny;
|
849
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
826
850
|
ProtoIoRestorecommerceUserUserListResponse: ResolverTypeWrapper<ProtoIoRestorecommerceUserUserListResponse>;
|
827
851
|
IoRestorecommerceUserUserListResponse: ResolverTypeWrapper<IoRestorecommerceUserUserListResponse>;
|
828
852
|
IoRestorecommerceUserUserResponse: ResolverTypeWrapper<IoRestorecommerceUserUserResponse>;
|
@@ -884,6 +908,9 @@ export declare type ResolversTypes = ResolversObject<{
|
|
884
908
|
IdentityTokenMutation: ResolverTypeWrapper<IdentityTokenMutation>;
|
885
909
|
IIoRestorecommerceTokenTokenData: IIoRestorecommerceTokenTokenData;
|
886
910
|
IIoRestorecommerceTokenGrantId: IIoRestorecommerceTokenGrantId;
|
911
|
+
Subscription: ResolverTypeWrapper<{}>;
|
912
|
+
SubscriptionOutput: ResolverTypeWrapper<SubscriptionOutput>;
|
913
|
+
SubscriptionAction: SubscriptionAction;
|
887
914
|
}>;
|
888
915
|
/** Mapping between all available schema types and the resolvers parents */
|
889
916
|
export declare type ResolversParentTypes = ResolversObject<{
|
@@ -919,6 +946,7 @@ export declare type ResolversParentTypes = ResolversObject<{
|
|
919
946
|
IIoRestorecommerceFilterFilter: IIoRestorecommerceFilterFilter;
|
920
947
|
IIoRestorecommerceResourcebaseFieldFilter: IIoRestorecommerceResourcebaseFieldFilter;
|
921
948
|
IGoogleProtobufAny: IGoogleProtobufAny;
|
949
|
+
IIoRestorecommerceResourcebaseSearch: IIoRestorecommerceResourcebaseSearch;
|
922
950
|
ProtoIoRestorecommerceUserUserListResponse: ProtoIoRestorecommerceUserUserListResponse;
|
923
951
|
IoRestorecommerceUserUserListResponse: IoRestorecommerceUserUserListResponse;
|
924
952
|
IoRestorecommerceUserUserResponse: IoRestorecommerceUserUserResponse;
|
@@ -979,6 +1007,8 @@ export declare type ResolversParentTypes = ResolversObject<{
|
|
979
1007
|
IdentityTokenMutation: IdentityTokenMutation;
|
980
1008
|
IIoRestorecommerceTokenTokenData: IIoRestorecommerceTokenTokenData;
|
981
1009
|
IIoRestorecommerceTokenGrantId: IIoRestorecommerceTokenGrantId;
|
1010
|
+
Subscription: {};
|
1011
|
+
SubscriptionOutput: SubscriptionOutput;
|
982
1012
|
}>;
|
983
1013
|
export declare type QueryResolvers<ContextType = IdentityContext, ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query']> = ResolversObject<{
|
984
1014
|
identity?: Resolver<ResolversTypes['IdentityQuery'], ParentType, ContextType>;
|
@@ -1365,6 +1395,13 @@ export declare type IdentityTokenMutationResolvers<ContextType = IdentityContext
|
|
1365
1395
|
consume?: Resolver<Maybe<ResolversTypes['ProtoGoogleProtobufAny']>, ParentType, ContextType, RequireFields<IdentityTokenMutationConsumeArgs, 'input'>>;
|
1366
1396
|
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
1367
1397
|
}>;
|
1398
|
+
export declare type SubscriptionResolvers<ContextType = IdentityContext, ParentType extends ResolversParentTypes['Subscription'] = ResolversParentTypes['Subscription']> = ResolversObject<{
|
1399
|
+
identityUsers?: SubscriptionResolver<Maybe<ResolversTypes['SubscriptionOutput']>, "identityUsers", ParentType, ContextType, Partial<SubscriptionIdentityUsersArgs>>;
|
1400
|
+
}>;
|
1401
|
+
export declare type SubscriptionOutputResolvers<ContextType = IdentityContext, ParentType extends ResolversParentTypes['SubscriptionOutput'] = ResolversParentTypes['SubscriptionOutput']> = ResolversObject<{
|
1402
|
+
id?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
1403
|
+
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
1404
|
+
}>;
|
1368
1405
|
export declare type Resolvers<ContextType = IdentityContext> = ResolversObject<{
|
1369
1406
|
Query?: QueryResolvers<ContextType>;
|
1370
1407
|
IdentityQuery?: IdentityQueryResolvers<ContextType>;
|
@@ -1422,4 +1459,6 @@ export declare type Resolvers<ContextType = IdentityContext> = ResolversObject<{
|
|
1422
1459
|
IdentityRoleMutation?: IdentityRoleMutationResolvers<ContextType>;
|
1423
1460
|
IdentityAuthenticationLogMutation?: IdentityAuthenticationLogMutationResolvers<ContextType>;
|
1424
1461
|
IdentityTokenMutation?: IdentityTokenMutationResolvers<ContextType>;
|
1462
|
+
Subscription?: SubscriptionResolvers<ContextType>;
|
1463
|
+
SubscriptionOutput?: SubscriptionOutputResolvers<ContextType>;
|
1425
1464
|
}>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ModeType = exports.IoRestorecommerceResourcebaseFilterOpOperator = exports.IoRestorecommerceFilterFilterOpOperator = exports.IoRestorecommerceFilterFilterValueType = exports.IoRestorecommerceFilterFilterOperation = exports.IoRestorecommerceResourcebaseFilterValueType = exports.IoRestorecommerceResourcebaseFilterOperation = exports.IoRestorecommerceResourcebaseSortSortOrder = exports.IoRestorecommerceUserUserType = void 0;
|
3
|
+
exports.SubscriptionAction = exports.ModeType = exports.IoRestorecommerceResourcebaseFilterOpOperator = exports.IoRestorecommerceFilterFilterOpOperator = exports.IoRestorecommerceFilterFilterValueType = exports.IoRestorecommerceFilterFilterOperation = exports.IoRestorecommerceResourcebaseFilterValueType = exports.IoRestorecommerceResourcebaseFilterOperation = exports.IoRestorecommerceResourcebaseSortSortOrder = exports.IoRestorecommerceUserUserType = void 0;
|
4
4
|
var IoRestorecommerceUserUserType;
|
5
5
|
(function (IoRestorecommerceUserUserType) {
|
6
6
|
IoRestorecommerceUserUserType[IoRestorecommerceUserUserType["OrgUser"] = 0] = "OrgUser";
|
@@ -70,3 +70,9 @@ var ModeType;
|
|
70
70
|
ModeType["Update"] = "UPDATE";
|
71
71
|
ModeType["Upsert"] = "UPSERT";
|
72
72
|
})(ModeType = exports.ModeType || (exports.ModeType = {}));
|
73
|
+
var SubscriptionAction;
|
74
|
+
(function (SubscriptionAction) {
|
75
|
+
SubscriptionAction["Created"] = "CREATED";
|
76
|
+
SubscriptionAction["Updated"] = "UPDATED";
|
77
|
+
SubscriptionAction["Deleted"] = "DELETED";
|
78
|
+
})(SubscriptionAction = exports.SubscriptionAction || (exports.SubscriptionAction = {}));
|
@@ -7,8 +7,10 @@ const authentication_log_1 = require("@restorecommerce/rc-grpc-clients/dist/gene
|
|
7
7
|
const token_1 = require("@restorecommerce/rc-grpc-clients/dist/generated/io/restorecommerce/token");
|
8
8
|
const oauth_1 = require("@restorecommerce/rc-grpc-clients/dist/generated/io/restorecommerce/oauth");
|
9
9
|
const protos_1 = require("../../../gql/protos");
|
10
|
+
const kafka_client_1 = require("@restorecommerce/kafka-client");
|
10
11
|
function registerTypings() {
|
11
12
|
(0, protos_1.registerPackagesRecursive)(...exports.subServices);
|
13
|
+
(0, kafka_client_1.registerProtoMeta)(...exports.subServices);
|
12
14
|
}
|
13
15
|
exports.registerTypings = registerTypings;
|
14
16
|
exports.subServices = [
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare const FederatedIndexingSchema: (cfg:
|
1
|
+
import { SubSpaceServiceConfig } from '../../../gql/protos';
|
2
|
+
export declare const FederatedIndexingSchema: (cfg: SubSpaceServiceConfig) => import("graphql").GraphQLSchema;
|
@@ -6,12 +6,12 @@ const federation_1 = require("@apollo/federation");
|
|
6
6
|
const schema_1 = require("./schema");
|
7
7
|
const protos_1 = require("../../../gql/protos");
|
8
8
|
const interfaces_1 = require("../interfaces");
|
9
|
-
const search_1 = require("@restorecommerce/rc-grpc-clients/dist/generated/io/restorecommerce/search");
|
10
9
|
const graphql_1 = require("graphql");
|
10
|
+
const types_1 = require("../../access-control/gql/types");
|
11
11
|
// TODO There is currently no way of building a federated schema from GraphQLSchema Object
|
12
12
|
// See https://github.com/apollographql/apollo-server/pull/4310
|
13
13
|
const FederatedIndexingSchema = (cfg) => (0, federation_1.buildFederatedSchema)({
|
14
14
|
typeDefs: (0, apollo_server_koa_1.gql)((0, graphql_1.printSchema)((0, schema_1.schema)(cfg))),
|
15
|
-
resolvers: (0, protos_1.
|
15
|
+
resolvers: (0, protos_1.generateSubServiceResolvers)(types_1.subServices, cfg, interfaces_1.namespace)
|
16
16
|
});
|
17
17
|
exports.FederatedIndexingSchema = FederatedIndexingSchema;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare const schema: (cfg:
|
1
|
+
import { SubSpaceServiceConfig } from "../../../gql/protos";
|
2
|
+
export declare const schema: (cfg: SubSpaceServiceConfig) => import("graphql").GraphQLSchema;
|