@tsed/typegraphql 7.41.2 → 7.42.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/jest.config.js +4 -4
- package/lib/cjs/decorators/resolver.js +21 -0
- package/lib/cjs/decorators/resolver.js.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/middlewares/ContextMiddleware.js +9 -0
- package/lib/cjs/middlewares/ContextMiddleware.js.map +1 -0
- package/lib/cjs/services/TypeGraphQLService.js +27 -12
- package/lib/cjs/services/TypeGraphQLService.js.map +1 -1
- package/lib/esm/decorators/resolver.js +22 -1
- package/lib/esm/decorators/resolver.js.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/middlewares/ContextMiddleware.js +5 -0
- package/lib/esm/middlewares/ContextMiddleware.js.map +1 -0
- package/lib/esm/services/TypeGraphQLService.js +27 -12
- package/lib/esm/services/TypeGraphQLService.js.map +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/decorators/resolver.d.ts +7 -4
- package/lib/types/index.d.ts +1 -0
- package/lib/types/middlewares/ContextMiddleware.d.ts +7 -0
- package/lib/types/services/TypeGraphQLService.d.ts +1 -9
- package/package.json +4 -4
- package/selfsigned.crt +31 -0
- package/selfsigned.key +52 -0
package/jest.config.js
CHANGED
|
@@ -6,11 +6,32 @@ const di_1 = require("@tsed/di");
|
|
|
6
6
|
const type_graphql_1 = require("type-graphql");
|
|
7
7
|
const constants_1 = require("../constants/constants");
|
|
8
8
|
function ResolverController(...args) {
|
|
9
|
+
let id = undefined;
|
|
10
|
+
switch (args.length) {
|
|
11
|
+
case 1:
|
|
12
|
+
if (typeof args[0] === "string") {
|
|
13
|
+
id = args[0];
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
id = args[0].id;
|
|
17
|
+
delete args[0].id;
|
|
18
|
+
}
|
|
19
|
+
break;
|
|
20
|
+
case 2:
|
|
21
|
+
id = args[1].id;
|
|
22
|
+
delete args[1].id;
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
9
25
|
return (0, core_1.useDecorators)(type_graphql_1.Resolver(...args), (0, di_1.Injectable)({
|
|
10
26
|
type: constants_1.RESOLVERS_PROVIDERS
|
|
27
|
+
}), (0, core_1.StoreSet)("graphql", {
|
|
28
|
+
id
|
|
11
29
|
}));
|
|
12
30
|
}
|
|
13
31
|
exports.ResolverController = ResolverController;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use ResolverController instead
|
|
34
|
+
*/
|
|
14
35
|
function ResolverService(...args) {
|
|
15
36
|
return ResolverController(...args);
|
|
16
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/decorators/resolver.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/decorators/resolver.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,iCAAoC;AACpC,+CAAiD;AAEjD,sDAA2D;AAU3D,SAAgB,kBAAkB,CAAC,GAAG,IAAW;IAC/C,IAAI,EAAE,GAAG,SAAS,CAAC;IACnB,QAAQ,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,CAAC;YACJ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAC/B,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACd;iBAAM;gBACL,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnB;YACD,MAAM;QACR,KAAK,CAAC;YACJ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM;KACT;IACD,OAAO,IAAA,oBAAa,EACjB,uBAAgB,CAAC,GAAG,IAAI,CAAC,EAC1B,IAAA,eAAU,EAAC;QACT,IAAI,EAAE,+BAAmB;KAC1B,CAAC,EACF,IAAA,eAAQ,EAAC,SAAS,EAAE;QAClB,EAAE;KACH,CAAC,CACH,CAAC;AACJ,CAAC;AAzBD,gDAyBC;AASD;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAG,IAAW;IAC5C,OAAQ,kBAA0B,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC;AAFD,0CAEC"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -10,5 +10,6 @@ tslib_1.__exportStar(require("./constants/constants"), exports);
|
|
|
10
10
|
tslib_1.__exportStar(require("./decorators/resolver"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./interfaces/TypeGraphQLSettings"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./interfaces/interfaces"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./middlewares/ContextMiddleware"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("./services/TypeGraphQLService"), exports);
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,8DAAoC;AACpC,oDAA0B;AAC1B,gEAAsC;AACtC,gEAAsC;AACtC,2EAAiD;AACjD,kEAAwC;AACxC,wEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,8DAAoC;AACpC,oDAA0B;AAC1B,gEAAsC;AACtC,gEAAsC;AACtC,2EAAiD;AACjD,kEAAwC;AACxC,0EAAgD;AAChD,wEAA8C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContextMiddleware = void 0;
|
|
4
|
+
const common_1 = require("@tsed/common");
|
|
5
|
+
const ContextMiddleware = (_, next) => {
|
|
6
|
+
return (0, common_1.runInContext)((0, common_1.getContext)(), next);
|
|
7
|
+
};
|
|
8
|
+
exports.ContextMiddleware = ContextMiddleware;
|
|
9
|
+
//# sourceMappingURL=ContextMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/ContextMiddleware.ts"],"names":[],"mappings":";;;AAAA,yCAAuE;AAGhE,MAAM,iBAAiB,GAAiD,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;IACzF,OAAO,IAAA,qBAAY,EAAC,IAAA,mBAAU,GAAE,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
|
|
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TypeGraphQLService = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const apollo_1 = require("@tsed/apollo");
|
|
6
|
+
const core_1 = require("@tsed/core");
|
|
6
7
|
const di_1 = require("@tsed/di");
|
|
7
8
|
const logger_1 = require("@tsed/logger");
|
|
8
9
|
const type_graphql_1 = require("type-graphql");
|
|
9
10
|
const constants_1 = require("../constants/constants");
|
|
11
|
+
const ContextMiddleware_1 = require("../middlewares/ContextMiddleware");
|
|
10
12
|
const getKey = (id) => `typegraphql-${id}`;
|
|
11
13
|
let TypeGraphQLService = class TypeGraphQLService {
|
|
12
14
|
injector;
|
|
@@ -27,19 +29,16 @@ let TypeGraphQLService = class TypeGraphQLService {
|
|
|
27
29
|
has(id = "default") {
|
|
28
30
|
return this.apolloService.has(getKey(id));
|
|
29
31
|
}
|
|
30
|
-
/**
|
|
31
|
-
*
|
|
32
|
-
* @returns {Promise<ApolloServer>}
|
|
33
|
-
*/
|
|
34
32
|
async createServer(id, settings) {
|
|
35
33
|
if (!this.has(id)) {
|
|
36
34
|
try {
|
|
37
35
|
const { dataSources, resolvers: initialResolvers = [], buildSchemaOptions = {}, serverConfig = {}, ...serverOptions } = settings;
|
|
38
|
-
const resolvers =
|
|
36
|
+
const resolvers = this.getResolvers(id, [...initialResolvers, ...(buildSchemaOptions.resolvers || [])]);
|
|
39
37
|
const schema = await this.createSchema({
|
|
40
38
|
container: this.injector,
|
|
41
39
|
...buildSchemaOptions,
|
|
42
|
-
resolvers
|
|
40
|
+
resolvers,
|
|
41
|
+
globalMiddlewares: [ContextMiddleware_1.ContextMiddleware, ...(buildSchemaOptions.globalMiddlewares || [])]
|
|
43
42
|
});
|
|
44
43
|
return await this.apolloService.createServer(getKey(id), {
|
|
45
44
|
...serverOptions,
|
|
@@ -82,12 +81,28 @@ let TypeGraphQLService = class TypeGraphQLService {
|
|
|
82
81
|
getSchema(id = "default") {
|
|
83
82
|
return this.apolloService.getSchema(getKey(id));
|
|
84
83
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
84
|
+
getResolvers(id, resolvers) {
|
|
85
|
+
const globalResolvers = this.injector
|
|
86
|
+
.getProviders(constants_1.RESOLVERS_PROVIDERS)
|
|
87
|
+
.filter((provider) => {
|
|
88
|
+
const opts = provider.store.get("graphql");
|
|
89
|
+
return !opts?.id || opts?.id === id;
|
|
90
|
+
})
|
|
91
|
+
.map((provider) => {
|
|
92
|
+
return provider.useClass;
|
|
93
|
+
});
|
|
94
|
+
return resolvers
|
|
95
|
+
.map((resolver) => {
|
|
96
|
+
if (!(this.injector.has(resolver) || !(0, core_1.isClass)(resolver))) {
|
|
97
|
+
this.injector
|
|
98
|
+
.addProvider(resolver, {
|
|
99
|
+
useClass: resolver
|
|
100
|
+
})
|
|
101
|
+
.invoke(resolver);
|
|
102
|
+
}
|
|
103
|
+
return resolver;
|
|
104
|
+
})
|
|
105
|
+
.concat(globalResolvers);
|
|
91
106
|
}
|
|
92
107
|
};
|
|
93
108
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,33 @@
|
|
|
1
|
-
import { useDecorators } from "@tsed/core";
|
|
1
|
+
import { StoreSet, useDecorators } from "@tsed/core";
|
|
2
2
|
import { Injectable } from "@tsed/di";
|
|
3
3
|
import { Resolver } from "type-graphql";
|
|
4
4
|
import { RESOLVERS_PROVIDERS } from "../constants/constants.js";
|
|
5
5
|
export function ResolverController(...args) {
|
|
6
|
+
let id = undefined;
|
|
7
|
+
switch (args.length) {
|
|
8
|
+
case 1:
|
|
9
|
+
if (typeof args[0] === "string") {
|
|
10
|
+
id = args[0];
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
id = args[0].id;
|
|
14
|
+
delete args[0].id;
|
|
15
|
+
}
|
|
16
|
+
break;
|
|
17
|
+
case 2:
|
|
18
|
+
id = args[1].id;
|
|
19
|
+
delete args[1].id;
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
6
22
|
return useDecorators(Resolver(...args), Injectable({
|
|
7
23
|
type: RESOLVERS_PROVIDERS
|
|
24
|
+
}), StoreSet("graphql", {
|
|
25
|
+
id
|
|
8
26
|
}));
|
|
9
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use ResolverController instead
|
|
30
|
+
*/
|
|
10
31
|
export function ResolverService(...args) {
|
|
11
32
|
return ResolverController(...args);
|
|
12
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/decorators/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/decorators/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAY,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAU3D,MAAM,UAAU,kBAAkB,CAAC,GAAG,IAAW;IAC/C,IAAI,EAAE,GAAG,SAAS,CAAC;IACnB,QAAQ,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,CAAC;YACJ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAC/B,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACd;iBAAM;gBACL,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnB;YACD,MAAM;QACR,KAAK,CAAC;YACJ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM;KACT;IACD,OAAO,aAAa,CACjB,QAAgB,CAAC,GAAG,IAAI,CAAC,EAC1B,UAAU,CAAC;QACT,IAAI,EAAE,mBAAmB;KAC1B,CAAC,EACF,QAAQ,CAAC,SAAS,EAAE;QAClB,EAAE;KACH,CAAC,CACH,CAAC;AACJ,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAG,IAAW;IAC5C,OAAQ,kBAA0B,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -7,5 +7,6 @@ export * from "./constants/constants.js";
|
|
|
7
7
|
export * from "./decorators/resolver.js";
|
|
8
8
|
export * from "./interfaces/TypeGraphQLSettings.js";
|
|
9
9
|
export * from "./interfaces/interfaces.js";
|
|
10
|
+
export * from "./middlewares/ContextMiddleware.js";
|
|
10
11
|
export * from "./services/TypeGraphQLService.js";
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/ContextMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAmB,YAAY,EAAC,MAAM,cAAc,CAAC;AAGvE,MAAM,CAAC,MAAM,iBAAiB,GAAiD,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;IACzF,OAAO,YAAY,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { ApolloService } from "@tsed/apollo";
|
|
3
|
+
import { isClass } from "@tsed/core";
|
|
3
4
|
import { Inject, Injectable, InjectorService } from "@tsed/di";
|
|
4
5
|
import { Logger } from "@tsed/logger";
|
|
5
6
|
import { buildSchema } from "type-graphql";
|
|
6
7
|
import { RESOLVERS_PROVIDERS } from "../constants/constants.js";
|
|
8
|
+
import { ContextMiddleware } from "../middlewares/ContextMiddleware.js";
|
|
7
9
|
const getKey = (id) => `typegraphql-${id}`;
|
|
8
10
|
let TypeGraphQLService = class TypeGraphQLService {
|
|
9
11
|
injector;
|
|
@@ -24,19 +26,16 @@ let TypeGraphQLService = class TypeGraphQLService {
|
|
|
24
26
|
has(id = "default") {
|
|
25
27
|
return this.apolloService.has(getKey(id));
|
|
26
28
|
}
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
* @returns {Promise<ApolloServer>}
|
|
30
|
-
*/
|
|
31
29
|
async createServer(id, settings) {
|
|
32
30
|
if (!this.has(id)) {
|
|
33
31
|
try {
|
|
34
32
|
const { dataSources, resolvers: initialResolvers = [], buildSchemaOptions = {}, serverConfig = {}, ...serverOptions } = settings;
|
|
35
|
-
const resolvers =
|
|
33
|
+
const resolvers = this.getResolvers(id, [...initialResolvers, ...(buildSchemaOptions.resolvers || [])]);
|
|
36
34
|
const schema = await this.createSchema({
|
|
37
35
|
container: this.injector,
|
|
38
36
|
...buildSchemaOptions,
|
|
39
|
-
resolvers
|
|
37
|
+
resolvers,
|
|
38
|
+
globalMiddlewares: [ContextMiddleware, ...(buildSchemaOptions.globalMiddlewares || [])]
|
|
40
39
|
});
|
|
41
40
|
return await this.apolloService.createServer(getKey(id), {
|
|
42
41
|
...serverOptions,
|
|
@@ -79,12 +78,28 @@ let TypeGraphQLService = class TypeGraphQLService {
|
|
|
79
78
|
getSchema(id = "default") {
|
|
80
79
|
return this.apolloService.getSchema(getKey(id));
|
|
81
80
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
getResolvers(id, resolvers) {
|
|
82
|
+
const globalResolvers = this.injector
|
|
83
|
+
.getProviders(RESOLVERS_PROVIDERS)
|
|
84
|
+
.filter((provider) => {
|
|
85
|
+
const opts = provider.store.get("graphql");
|
|
86
|
+
return !opts?.id || opts?.id === id;
|
|
87
|
+
})
|
|
88
|
+
.map((provider) => {
|
|
89
|
+
return provider.useClass;
|
|
90
|
+
});
|
|
91
|
+
return resolvers
|
|
92
|
+
.map((resolver) => {
|
|
93
|
+
if (!(this.injector.has(resolver) || !isClass(resolver))) {
|
|
94
|
+
this.injector
|
|
95
|
+
.addProvider(resolver, {
|
|
96
|
+
useClass: resolver
|
|
97
|
+
})
|
|
98
|
+
.invoke(resolver);
|
|
99
|
+
}
|
|
100
|
+
return resolver;
|
|
101
|
+
})
|
|
102
|
+
.concat(globalResolvers);
|
|
88
103
|
}
|
|
89
104
|
};
|
|
90
105
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":"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"}
|