@nmxjs/api 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/dist/ApiRouterCore/ApiRouteCoreModule.d.ts +1 -1
- package/dist/ApiRouterCore/ApiRouteCoreModule.js +41 -11
- package/dist/ApiRouterCore/ApiRouteCoreModule.js.map +1 -1
- package/dist/ApiRouterCore/constants/apiRouterResolversKey.d.ts +1 -0
- package/dist/ApiRouterCore/constants/apiRouterResolversKey.js +5 -0
- package/dist/ApiRouterCore/constants/apiRouterResolversKey.js.map +1 -0
- package/dist/ApiRouterCore/constants/index.d.ts +2 -1
- package/dist/ApiRouterCore/constants/index.js +2 -1
- package/dist/ApiRouterCore/constants/index.js.map +1 -1
- package/dist/ApiRouterCore/constants/transporterOptionsKey.d.ts +1 -0
- package/dist/ApiRouterCore/constants/transporterOptionsKey.js +5 -0
- package/dist/ApiRouterCore/constants/transporterOptionsKey.js.map +1 -0
- package/dist/ApiRouterCore/decorators/ControllerEndpoints.js +1 -0
- package/dist/ApiRouterCore/decorators/ControllerEndpoints.js.map +1 -1
- package/dist/ApiRouterCore/interfaces/IApiRouterCoreModuleOptions.d.ts +2 -0
- package/dist/ApiRouterCore/interfaces/IWebApiAuthHandlerOptions.d.ts +5 -0
- package/dist/ApiRouterCore/interfaces/IWebApiAuthHandlerOptions.js +3 -0
- package/dist/ApiRouterCore/interfaces/IWebApiAuthHandlerOptions.js.map +1 -0
- package/dist/ApiRouterCore/interfaces/index.d.ts +1 -1
- package/dist/ApiRouterCore/interfaces/index.js +1 -1
- package/dist/ApiRouterCore/interfaces/index.js.map +1 -1
- package/dist/ApiRouterCore/utils/index.d.ts +0 -1
- package/dist/ApiRouterCore/utils/index.js +0 -1
- package/dist/ApiRouterCore/utils/index.js.map +1 -1
- package/dist/ApiService/ApiServiceModule.js +20 -0
- package/dist/ApiService/ApiServiceModule.js.map +1 -1
- package/dist/ApiService/constants/index.d.ts +2 -0
- package/dist/ApiService/constants/index.js +2 -0
- package/dist/ApiService/constants/index.js.map +1 -1
- package/dist/ApiService/constants/transportStrategyKey.d.ts +1 -0
- package/dist/ApiService/constants/transportStrategyKey.js +5 -0
- package/dist/ApiService/constants/transportStrategyKey.js.map +1 -0
- package/dist/ApiService/constants/webApiProperty.d.ts +1 -0
- package/dist/ApiService/constants/webApiProperty.js +5 -0
- package/dist/ApiService/constants/webApiProperty.js.map +1 -0
- package/dist/ApiService/index.d.ts +1 -0
- package/dist/ApiService/index.js +1 -0
- package/dist/ApiService/index.js.map +1 -1
- package/dist/ApiService/interfaces/IApiSchema.d.ts +2 -0
- package/dist/ApiService/interfaces/IApiService.d.ts +2 -1
- package/dist/ApiService/interfaces/IApiServiceOptions.d.ts +4 -0
- package/dist/{ApiRouterCore/interfaces/IBuildGrpcOptions.js → ApiService/interfaces/IApiServiceOptions.js} +1 -1
- package/dist/ApiService/interfaces/IApiServiceOptions.js.map +1 -0
- package/dist/ApiService/interfaces/IApiServiceWithInfo.d.ts +3 -6
- package/dist/ApiService/interfaces/ITransportStrategy.d.ts +7 -0
- package/dist/ApiService/interfaces/ITransportStrategy.js +3 -0
- package/dist/ApiService/interfaces/ITransportStrategy.js.map +1 -0
- package/dist/ApiService/interfaces/WebApiTypeEnum.d.ts +4 -0
- package/dist/ApiService/interfaces/WebApiTypeEnum.js +9 -0
- package/dist/ApiService/interfaces/WebApiTypeEnum.js.map +1 -0
- package/dist/ApiService/interfaces/index.d.ts +3 -0
- package/dist/ApiService/interfaces/index.js +3 -0
- package/dist/ApiService/interfaces/index.js.map +1 -1
- package/dist/ApiService/services/CreateApiService.d.ts +7 -5
- package/dist/ApiService/services/CreateApiService.js +50 -28
- package/dist/ApiService/services/CreateApiService.js.map +1 -1
- package/dist/ApiService/services/TrySetupWebApiService.d.ts +4 -0
- package/dist/ApiService/services/TrySetupWebApiService.js +35 -0
- package/dist/ApiService/services/TrySetupWebApiService.js.map +1 -0
- package/dist/ApiService/services/index.d.ts +1 -3
- package/dist/ApiService/services/index.js +1 -3
- package/dist/ApiService/services/index.js.map +1 -1
- package/dist/ApiService/utils/getQueryMutationByName.d.ts +5 -0
- package/dist/ApiService/utils/getQueryMutationByName.js +7 -0
- package/dist/ApiService/utils/getQueryMutationByName.js.map +1 -0
- package/dist/ApiService/utils/index.d.ts +1 -0
- package/dist/ApiService/utils/index.js +18 -0
- package/dist/ApiService/utils/index.js.map +1 -0
- package/dist/GrpcTransport/GrpcTransportModule.d.ts +2 -0
- package/dist/GrpcTransport/GrpcTransportModule.js +33 -0
- package/dist/GrpcTransport/GrpcTransportModule.js.map +1 -0
- package/dist/GrpcTransport/constants/grpcTransportStrategyKey.d.ts +1 -0
- package/dist/GrpcTransport/constants/grpcTransportStrategyKey.js +5 -0
- package/dist/GrpcTransport/constants/grpcTransportStrategyKey.js.map +1 -0
- package/dist/GrpcTransport/constants/index.d.ts +1 -0
- package/dist/GrpcTransport/constants/index.js +18 -0
- package/dist/GrpcTransport/constants/index.js.map +1 -0
- package/dist/GrpcTransport/index.d.ts +2 -0
- package/dist/GrpcTransport/index.js +19 -0
- package/dist/GrpcTransport/index.js.map +1 -0
- package/dist/GrpcTransport/interfaces/IGenerateProtoMessagesOptions.js.map +1 -0
- package/dist/GrpcTransport/interfaces/index.d.ts +1 -0
- package/dist/GrpcTransport/interfaces/index.js +18 -0
- package/dist/GrpcTransport/interfaces/index.js.map +1 -0
- package/dist/GrpcTransport/services/CreateApiService.d.ts +9 -0
- package/dist/GrpcTransport/services/CreateApiService.js +68 -0
- package/dist/GrpcTransport/services/CreateApiService.js.map +1 -0
- package/dist/{ApiService → GrpcTransport}/services/GenerateProtoMessagesService.d.ts +1 -1
- package/dist/{ApiService → GrpcTransport}/services/GenerateProtoMessagesService.js +1 -1
- package/dist/GrpcTransport/services/GenerateProtoMessagesService.js.map +1 -0
- package/dist/{ApiService → GrpcTransport}/services/GenerateProtoService.d.ts +2 -4
- package/dist/{ApiService → GrpcTransport}/services/GenerateProtoService.js +2 -8
- package/dist/GrpcTransport/services/GenerateProtoService.js.map +1 -0
- package/dist/GrpcTransport/services/GetPackageNameService.js.map +1 -0
- package/dist/GrpcTransport/services/index.d.ts +4 -0
- package/dist/GrpcTransport/services/index.js +21 -0
- package/dist/GrpcTransport/services/index.js.map +1 -0
- package/dist/NatsTransport/NatsTransportModule.d.ts +2 -0
- package/dist/NatsTransport/NatsTransportModule.js +33 -0
- package/dist/NatsTransport/NatsTransportModule.js.map +1 -0
- package/dist/NatsTransport/constants/index.d.ts +1 -0
- package/dist/NatsTransport/constants/index.js +18 -0
- package/dist/NatsTransport/constants/index.js.map +1 -0
- package/dist/NatsTransport/constants/natsTransportStrategyKey.d.ts +1 -0
- package/dist/NatsTransport/constants/natsTransportStrategyKey.js +5 -0
- package/dist/NatsTransport/constants/natsTransportStrategyKey.js.map +1 -0
- package/dist/NatsTransport/index.d.ts +2 -0
- package/dist/NatsTransport/index.js +19 -0
- package/dist/NatsTransport/index.js.map +1 -0
- package/dist/NatsTransport/services/CreateApiService.d.ts +7 -0
- package/dist/NatsTransport/services/CreateApiService.js +53 -0
- package/dist/NatsTransport/services/CreateApiService.js.map +1 -0
- package/dist/NatsTransport/services/index.d.ts +1 -0
- package/dist/NatsTransport/services/index.js +18 -0
- package/dist/NatsTransport/services/index.js.map +1 -0
- package/package.json +12 -3
- package/dist/ApiRouterCore/constants/getGrpcOptionsKey.d.ts +0 -1
- package/dist/ApiRouterCore/constants/getGrpcOptionsKey.js +0 -5
- package/dist/ApiRouterCore/constants/getGrpcOptionsKey.js.map +0 -1
- package/dist/ApiRouterCore/interfaces/IBuildGrpcOptions.d.ts +0 -6
- package/dist/ApiRouterCore/interfaces/IBuildGrpcOptions.js.map +0 -1
- package/dist/ApiRouterCore/utils/buildGrpcOptions.d.ts +0 -3
- package/dist/ApiRouterCore/utils/buildGrpcOptions.js +0 -29
- package/dist/ApiRouterCore/utils/buildGrpcOptions.js.map +0 -1
- package/dist/ApiService/interfaces/IGenerateProtoMessagesOptions.js.map +0 -1
- package/dist/ApiService/services/GenerateProtoMessagesService.js.map +0 -1
- package/dist/ApiService/services/GenerateProtoService.js.map +0 -1
- package/dist/ApiService/services/GetPackageNameService.js.map +0 -1
- /package/dist/{ApiService → GrpcTransport}/interfaces/IGenerateProtoMessagesOptions.d.ts +0 -0
- /package/dist/{ApiService → GrpcTransport}/interfaces/IGenerateProtoMessagesOptions.js +0 -0
- /package/dist/{ApiService → GrpcTransport}/services/GetPackageNameService.d.ts +0 -0
- /package/dist/{ApiService → GrpcTransport}/services/GetPackageNameService.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DynamicModule } from '@nestjs/common';
|
|
2
2
|
import { IApiRouterCoreModuleOptions } from './interfaces';
|
|
3
3
|
export declare class ApiRouteCoreModule {
|
|
4
|
-
static forRoot({ imports, apiRouterFactory, servicesKeys }: IApiRouterCoreModuleOptions): DynamicModule;
|
|
4
|
+
static forRoot({ imports, apiRouterFactory, servicesKeys, webApiAuthHandler }: IApiRouterCoreModuleOptions): DynamicModule;
|
|
5
5
|
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ApiRouteCoreModule = void 0;
|
|
4
|
-
const
|
|
4
|
+
const deepmerge = require("deepmerge");
|
|
5
|
+
const errors_1 = require("@nmxjs/errors");
|
|
6
|
+
const utils_1 = require("@nmxjs/utils");
|
|
5
7
|
const constants_1 = require("./constants");
|
|
8
|
+
const ApiService_1 = require("../ApiService");
|
|
6
9
|
class ApiRouteCoreModule {
|
|
7
|
-
static forRoot({ imports, apiRouterFactory, servicesKeys }) {
|
|
10
|
+
static forRoot({ imports, apiRouterFactory, servicesKeys, webApiAuthHandler }) {
|
|
8
11
|
return {
|
|
9
12
|
global: true,
|
|
10
13
|
imports,
|
|
@@ -16,24 +19,51 @@ class ApiRouteCoreModule {
|
|
|
16
19
|
inject: servicesKeys,
|
|
17
20
|
},
|
|
18
21
|
{
|
|
19
|
-
provide: constants_1.
|
|
22
|
+
provide: constants_1.transporterOptionsKey,
|
|
20
23
|
useFactory: (...services) => (serviceName) => {
|
|
21
|
-
var _a, _b;
|
|
22
24
|
const servicesInfo = services.filter(v => (v === null || v === void 0 ? void 0 : v.serviceName) === serviceName);
|
|
23
25
|
if (!servicesInfo.length) {
|
|
24
26
|
return null;
|
|
25
27
|
}
|
|
26
|
-
return (
|
|
27
|
-
host: (_a = servicesInfo.find(v => v.host)) === null || _a === void 0 ? void 0 : _a.host,
|
|
28
|
-
port: (_b = servicesInfo.find(v => v.port)) === null || _b === void 0 ? void 0 : _b.port,
|
|
29
|
-
packages: Array.from(new Set(servicesInfo.map(v => v.package))),
|
|
30
|
-
protoPaths: servicesInfo.map(v => v.protoPath),
|
|
31
|
-
});
|
|
28
|
+
return servicesInfo.reduce((res, v) => deepmerge(res, v.options));
|
|
32
29
|
},
|
|
33
30
|
inject: servicesKeys,
|
|
34
31
|
},
|
|
32
|
+
{
|
|
33
|
+
provide: constants_1.apiRouterResolversKey,
|
|
34
|
+
useFactory: apiRouter => {
|
|
35
|
+
return Object.keys(apiRouter).reduce((res, apiRouterKey) => {
|
|
36
|
+
Object.keys(apiRouter[apiRouterKey]).forEach(key => {
|
|
37
|
+
const item = apiRouter[apiRouterKey];
|
|
38
|
+
const webApiType = Reflect.getMetadata(ApiService_1.webApiProperty, item[key]);
|
|
39
|
+
if (!webApiType) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (webApiType === ApiService_1.WebApiTypeEnum.SECURED && !webApiAuthHandler) {
|
|
43
|
+
throw new Error('Web api auth handler is not setup!');
|
|
44
|
+
}
|
|
45
|
+
const fn = webApiType === ApiService_1.WebApiTypeEnum.FREE
|
|
46
|
+
? (_, data) => item[key]((data === null || data === void 0 ? void 0 : data.request) || {})
|
|
47
|
+
: async (_, data, context) => {
|
|
48
|
+
const authResult = await webApiAuthHandler({
|
|
49
|
+
apiRouter,
|
|
50
|
+
req: context.req,
|
|
51
|
+
});
|
|
52
|
+
if (!authResult) {
|
|
53
|
+
throw new errors_1.ForbiddenError();
|
|
54
|
+
}
|
|
55
|
+
return item[key]((data === null || data === void 0 ? void 0 : data.request) || {});
|
|
56
|
+
};
|
|
57
|
+
const property = (0, ApiService_1.getQueryMutationByName)(key).type;
|
|
58
|
+
res[property] = Object.assign(Object.assign({}, res[property]), { [`${apiRouterKey}0${(0, utils_1.firstLetterUpperCase)({ str: key })}`]: fn });
|
|
59
|
+
});
|
|
60
|
+
return res;
|
|
61
|
+
}, {});
|
|
62
|
+
},
|
|
63
|
+
inject: [constants_1.apiRouterKey],
|
|
64
|
+
},
|
|
35
65
|
],
|
|
36
|
-
exports: [constants_1.apiRouterKey, constants_1.
|
|
66
|
+
exports: [constants_1.apiRouterKey, constants_1.transporterOptionsKey, constants_1.apiRouterResolversKey],
|
|
37
67
|
};
|
|
38
68
|
}
|
|
39
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiRouteCoreModule.js","sourceRoot":"","sources":["../../src/ApiRouterCore/ApiRouteCoreModule.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ApiRouteCoreModule.js","sourceRoot":"","sources":["../../src/ApiRouterCore/ApiRouteCoreModule.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAEvC,0CAA+C;AAC/C,wCAAoD;AACpD,2CAAyF;AACzF,8CAA4G;AAG5G,MAAa,kBAAkB;IACtB,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAA+B;QAC/G,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO;YACP,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,wBAAY;oBACrB,UAAU,EAAE,gBAAgB;oBAC5B,MAAM,EAAE,YAAY;iBACrB;gBACD;oBACE,OAAO,EAAE,iCAAqB;oBAC9B,UAAU,EACR,CAAC,GAAG,QAA+B,EAAE,EAAE,CACvC,CAAC,WAAmB,EAAE,EAAE;wBACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,MAAK,WAAW,CAAC,CAAC;wBAE1E,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;4BACzB,OAAO,IAAI,CAAC;wBACd,CAAC;wBAED,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,OAAiB,CAAC,CAAC,CAAC;oBAC9E,CAAC;oBACH,MAAM,EAAE,YAAY;iBACrB;gBACD;oBACE,OAAO,EAAE,iCAAqB;oBAC9B,UAAU,EAAE,SAAS,CAAC,EAAE;wBACtB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,YAAY,EAAE,EAAE;4BAC9D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gCACjD,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gCACrC,MAAM,UAAU,GAAmB,OAAO,CAAC,WAAW,CAAC,2BAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gCAElF,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,OAAO;gCACT,CAAC;gCAED,IAAI,UAAU,KAAK,2BAAc,CAAC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;oCAChE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gCACxD,CAAC;gCAED,MAAM,EAAE,GACN,UAAU,KAAK,2BAAc,CAAC,IAAI;oCAChC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,EAAE,CAAC;oCAC7C,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;wCACzB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC;4CACzC,SAAS;4CACT,GAAG,EAAE,OAAO,CAAC,GAAG;yCACjB,CAAC,CAAC;wCAEH,IAAI,CAAC,UAAU,EAAE,CAAC;4CAChB,MAAM,IAAI,uBAAc,EAAE,CAAC;wCAC7B,CAAC;wCAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,EAAE,CAAC,CAAC;oCACxC,CAAC,CAAC;gCACR,MAAM,QAAQ,GAAG,IAAA,mCAAsB,EAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gCAClD,GAAG,CAAC,QAAQ,CAAC,mCACR,GAAG,CAAC,QAAQ,CAAC,KAChB,CAAC,GAAG,YAAY,IAAI,IAAA,4BAAoB,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAC9D,CAAC;4BACJ,CAAC,CAAC,CAAC;4BACH,OAAO,GAAG,CAAC;wBACb,CAAC,EAAE,EAAE,CAAC,CAAC;oBACT,CAAC;oBACD,MAAM,EAAE,CAAC,wBAAY,CAAC;iBACvB;aACF;YACD,OAAO,EAAE,CAAC,wBAAY,EAAE,iCAAqB,EAAE,iCAAqB,CAAC;SACtE,CAAC;IACJ,CAAC;CACF;AAzED,gDAyEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const apiRouterResolversKey: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiRouterResolversKey.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/apiRouterResolversKey.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./apiRouterKey"), exports);
|
|
18
18
|
__exportStar(require("./endErrorText"), exports);
|
|
19
|
-
__exportStar(require("./
|
|
19
|
+
__exportStar(require("./transporterOptionsKey"), exports);
|
|
20
|
+
__exportStar(require("./apiRouterResolversKey"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,0DAAwC;AACxC,0DAAwC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const transporterOptionsKey: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transporterOptionsKey.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/transporterOptionsKey.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
|
|
@@ -12,6 +12,7 @@ const ControllerEndpoints = (serviceName) => (target) => {
|
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
(0, microservices_1.GrpcMethod)(serviceName, key)(target, key, Object.getOwnPropertyDescriptor(target.prototype, key));
|
|
15
|
+
(0, microservices_1.MessagePattern)(`${serviceName}.${key}`)(target, key, Object.getOwnPropertyDescriptor(target.prototype, key));
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerEndpoints.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/decorators/ControllerEndpoints.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"ControllerEndpoints.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/decorators/ControllerEndpoints.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,yDAAmE;AACnE,wCAA2C;AAEpC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC,MAAgB,EAAE,EAAE;IAC/E,IAAA,mBAAU,GAAE,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,IAAA,mBAAW,GAAE,EAAE,CAAC;QACnB,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACzD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,IAAA,0BAAU,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YAClG,IAAA,8BAAc,EAAC,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAXW,QAAA,mBAAmB,uBAW9B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ModuleMetadata } from '@nestjs/common';
|
|
2
|
+
import { IWebApiAuthHandlerOptions } from './IWebApiAuthHandlerOptions';
|
|
2
3
|
export interface IApiRouterCoreModuleOptions extends Required<Pick<ModuleMetadata, 'imports'>> {
|
|
3
4
|
servicesKeys: Array<string | symbol>;
|
|
4
5
|
apiRouterFactory(...any: any[]): object;
|
|
6
|
+
webApiAuthHandler?(options: IWebApiAuthHandlerOptions): Promise<boolean>;
|
|
5
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IWebApiAuthHandlerOptions.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/interfaces/IWebApiAuthHandlerOptions.ts"],"names":[],"mappings":""}
|
|
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./GetGrpcOptions"), exports);
|
|
18
|
-
__exportStar(require("./IBuildGrpcOptions"), exports);
|
|
19
18
|
__exportStar(require("./IApiRouterCoreModuleOptions"), exports);
|
|
19
|
+
__exportStar(require("./IWebApiAuthHandlerOptions"), exports);
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,gEAA8C;AAC9C,8DAA4C"}
|
|
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./buildGrpcOptions"), exports);
|
|
18
17
|
__exportStar(require("./RpcExceptionInterceptor"), exports);
|
|
19
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
|
|
@@ -7,15 +7,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ApiServiceModule = void 0;
|
|
10
|
+
const errors_1 = require("@nmxjs/errors");
|
|
11
|
+
const config_1 = require("@nmxjs/config");
|
|
10
12
|
const common_1 = require("@nestjs/common");
|
|
11
13
|
const constants_1 = require("./constants");
|
|
12
14
|
const Services = require("./services");
|
|
15
|
+
const constants_2 = require("./constants");
|
|
16
|
+
const NatsTransport_1 = require("../NatsTransport");
|
|
17
|
+
const GrpcTransport_1 = require("../GrpcTransport");
|
|
13
18
|
let ApiServiceModule = class ApiServiceModule {
|
|
14
19
|
};
|
|
15
20
|
exports.ApiServiceModule = ApiServiceModule;
|
|
16
21
|
exports.ApiServiceModule = ApiServiceModule = __decorate([
|
|
17
22
|
(0, common_1.Global)(),
|
|
18
23
|
(0, common_1.Module)({
|
|
24
|
+
imports: [GrpcTransport_1.GrpcTransportModule, NatsTransport_1.NatsTransportModule],
|
|
19
25
|
providers: [
|
|
20
26
|
...Object.values(Services),
|
|
21
27
|
{
|
|
@@ -25,6 +31,20 @@ exports.ApiServiceModule = ApiServiceModule = __decorate([
|
|
|
25
31
|
}),
|
|
26
32
|
inject: [Services.CreateApiService],
|
|
27
33
|
},
|
|
34
|
+
{
|
|
35
|
+
provide: constants_2.transportStrategyKey,
|
|
36
|
+
useFactory: (config, ...strategies) => {
|
|
37
|
+
const strategy = strategies.find(v => v.type === config.transport.type);
|
|
38
|
+
if (!strategy) {
|
|
39
|
+
throw new errors_1.NotFoundError({
|
|
40
|
+
entityName: 'TransportStrategy',
|
|
41
|
+
searchValue: config.transport.type,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return strategy;
|
|
45
|
+
},
|
|
46
|
+
inject: [config_1.configKey, GrpcTransport_1.grpcTransportStrategyKey, NatsTransport_1.natsTransportStrategyKey],
|
|
47
|
+
},
|
|
28
48
|
],
|
|
29
49
|
exports: [constants_1.apiServiceFactoryKey],
|
|
30
50
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiServiceModule.js","sourceRoot":"","sources":["../../src/ApiService/ApiServiceModule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD,2CAAmD;AACnD,uCAAuC;
|
|
1
|
+
{"version":3,"file":"ApiServiceModule.js","sourceRoot":"","sources":["../../src/ApiService/ApiServiceModule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAA8C;AAC9C,0CAAmD;AACnD,2CAAgD;AAEhD,2CAAmD;AACnD,uCAAuC;AAEvC,2CAAmD;AACnD,oDAAiF;AACjF,oDAAiF;AAiC1E,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IA/B5B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,mCAAmB,EAAE,mCAAmB,CAAC;QACnD,SAAS,EAAE;YACT,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1B;gBACE,OAAO,EAAE,gCAAoB;gBAC7B,UAAU,EAAE,CAAC,gBAA2C,EAAsB,EAAE,CAAC,CAAC;oBAChF,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;iBACrD,CAAC;gBACF,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,gCAAoB;gBAC7B,UAAU,EAAE,CAAC,MAAe,EAAE,GAAG,UAAgC,EAAsB,EAAE;oBACvF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAExE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,sBAAa,CAAC;4BACtB,UAAU,EAAE,mBAAmB;4BAC/B,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;yBACnC,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,kBAAS,EAAE,wCAAwB,EAAE,wCAAwB,CAAC;aACxE;SACF;QACD,OAAO,EAAE,CAAC,gCAAoB,CAAC;KAChC,CAAC;GACW,gBAAgB,CAAG"}
|
|
@@ -14,5 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./webApiProperty"), exports);
|
|
17
18
|
__exportStar(require("./apiServiceFactoryKey"), exports);
|
|
19
|
+
__exportStar(require("./transportStrategyKey"), exports);
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiService/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiService/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,yDAAuC;AACvC,yDAAuC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const transportStrategyKey: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transportStrategyKey.js","sourceRoot":"","sources":["../../../src/ApiService/constants/transportStrategyKey.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const webApiProperty = "webApi";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webApiProperty.js","sourceRoot":"","sources":["../../../src/ApiService/constants/webApiProperty.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,QAAQ,CAAC"}
|
package/dist/ApiService/index.js
CHANGED
|
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./constants"), exports);
|
|
18
18
|
__exportStar(require("./interfaces"), exports);
|
|
19
|
+
__exportStar(require("./utils"), exports);
|
|
19
20
|
__exportStar(require("./ApiServiceModule"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiService/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+CAA6B;AAC7B,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiService/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+CAA6B;AAC7B,0CAAwB;AACxB,qDAAmC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IApiSchema } from './IApiSchema';
|
|
2
|
+
import { IApiServiceOptions } from './IApiServiceOptions';
|
|
2
3
|
export type IApiService<T extends IApiSchema> = {
|
|
3
|
-
[key in keyof T]: T[key]['request'] extends object ? (request: T[key]['request']['prototype']) => Promise<T[key]['response']['prototype']> : () => Promise<T[key]['response']['prototype']>;
|
|
4
|
+
[key in keyof T]: T[key]['request'] extends object ? (request: T[key]['request']['prototype'], options?: IApiServiceOptions) => Promise<T[key]['response']['prototype']> : (options?: IApiServiceOptions) => Promise<T[key]['response']['prototype']>;
|
|
4
5
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IApiServiceOptions.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/IApiServiceOptions.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import { MicroserviceOptions } from '@nestjs/microservices';
|
|
1
2
|
import { IApiService } from './IApiService';
|
|
2
3
|
export interface IApiServiceWithInfo<T extends IApiService<any> = IApiService<any>> {
|
|
3
|
-
port: number;
|
|
4
|
-
host?: string;
|
|
5
|
-
protoPath: string;
|
|
6
|
-
package: string;
|
|
7
|
-
serviceName: string;
|
|
8
|
-
subServiceName?: string;
|
|
9
4
|
service: T;
|
|
5
|
+
serviceName: string;
|
|
6
|
+
options: MicroserviceOptions;
|
|
10
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TransporterEnumType } from '@nmxjs/config';
|
|
2
|
+
import { ICreateApiServiceOptions } from './ICreateApiServiceOptions';
|
|
3
|
+
import { IApiServiceWithInfo } from './IApiServiceWithInfo';
|
|
4
|
+
export interface ITransportStrategy {
|
|
5
|
+
type: TransporterEnumType;
|
|
6
|
+
createService(options: ICreateApiServiceOptions): Promise<IApiServiceWithInfo>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITransportStrategy.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/ITransportStrategy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebApiTypeEnum = void 0;
|
|
4
|
+
var WebApiTypeEnum;
|
|
5
|
+
(function (WebApiTypeEnum) {
|
|
6
|
+
WebApiTypeEnum["FREE"] = "FREE";
|
|
7
|
+
WebApiTypeEnum["SECURED"] = "SECURED";
|
|
8
|
+
})(WebApiTypeEnum || (exports.WebApiTypeEnum = WebApiTypeEnum = {}));
|
|
9
|
+
//# sourceMappingURL=WebApiTypeEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebApiTypeEnum.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/WebApiTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACrB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
|
|
@@ -4,3 +4,6 @@ export * from './IApiServiceFactory';
|
|
|
4
4
|
export * from './IGenerateProtoOptions';
|
|
5
5
|
export * from './ICreateApiServiceOptions';
|
|
6
6
|
export * from './IApiServiceWithInfo';
|
|
7
|
+
export * from './WebApiTypeEnum';
|
|
8
|
+
export * from './ITransportStrategy';
|
|
9
|
+
export * from './IApiServiceOptions';
|
|
@@ -20,4 +20,7 @@ __exportStar(require("./IApiServiceFactory"), exports);
|
|
|
20
20
|
__exportStar(require("./IGenerateProtoOptions"), exports);
|
|
21
21
|
__exportStar(require("./ICreateApiServiceOptions"), exports);
|
|
22
22
|
__exportStar(require("./IApiServiceWithInfo"), exports);
|
|
23
|
+
__exportStar(require("./WebApiTypeEnum"), exports);
|
|
24
|
+
__exportStar(require("./ITransportStrategy"), exports);
|
|
25
|
+
__exportStar(require("./IApiServiceOptions"), exports);
|
|
23
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,gDAA8B;AAC9B,uDAAqC;AACrC,0DAAwC;AACxC,6DAA2C;AAC3C,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,gDAA8B;AAC9B,uDAAqC;AACrC,0DAAwC;AACxC,6DAA2C;AAC3C,wDAAsC;AACtC,mDAAiC;AACjC,uDAAqC;AACrC,uDAAqC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { IConfig } from '@nmxjs/config';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ICreateApiServiceOptions, IApiServiceWithInfo, ITransportStrategy } from '../interfaces';
|
|
3
|
+
import { TrySetupWebApiService } from './TrySetupWebApiService';
|
|
4
4
|
export declare class CreateApiService {
|
|
5
5
|
protected readonly config: IConfig;
|
|
6
|
-
protected readonly
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
protected readonly transportStrategy: ITransportStrategy;
|
|
7
|
+
protected readonly trySetupWebApiService: TrySetupWebApiService;
|
|
8
|
+
protected cache: any;
|
|
9
|
+
constructor(config: IConfig, transportStrategy: ITransportStrategy, trySetupWebApiService: TrySetupWebApiService);
|
|
10
|
+
call(options: ICreateApiServiceOptions): Promise<IApiServiceWithInfo>;
|
|
9
11
|
}
|
|
@@ -13,44 +13,66 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.CreateApiService = void 0;
|
|
16
|
-
const microservices_1 = require("@nestjs/microservices");
|
|
17
16
|
const common_1 = require("@nestjs/common");
|
|
18
17
|
const config_1 = require("@nmxjs/config");
|
|
19
|
-
const
|
|
20
|
-
const
|
|
18
|
+
const rxjs_1 = require("rxjs");
|
|
19
|
+
const constants_1 = require("../constants");
|
|
20
|
+
const TrySetupWebApiService_1 = require("./TrySetupWebApiService");
|
|
21
|
+
const errors_1 = require("@nmxjs/errors");
|
|
21
22
|
let CreateApiService = class CreateApiService {
|
|
22
|
-
constructor(config,
|
|
23
|
+
constructor(config, transportStrategy, trySetupWebApiService) {
|
|
23
24
|
this.config = config;
|
|
24
|
-
this.
|
|
25
|
+
this.transportStrategy = transportStrategy;
|
|
26
|
+
this.trySetupWebApiService = trySetupWebApiService;
|
|
27
|
+
this.cache = new NodeCache();
|
|
25
28
|
}
|
|
26
|
-
call(
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
29
|
+
async call(options) {
|
|
30
|
+
this.trySetupWebApiService.call(options);
|
|
31
|
+
const result = await this.transportStrategy.createService(options);
|
|
32
|
+
const serviceName = options.subService || options.service;
|
|
33
|
+
const service = Object.keys(result.service).reduce((res, methodName) => {
|
|
34
|
+
res[methodName] = async (requestData = {}, methodOptions = {}) => {
|
|
35
|
+
const route = `${serviceName}.${methodName}`;
|
|
36
|
+
const getData = () => {
|
|
37
|
+
const payload = result.service[methodName](requestData);
|
|
38
|
+
return ((0, rxjs_1.isObservable)(payload) ? (0, rxjs_1.lastValueFrom)(payload) : payload).catch(e => {
|
|
39
|
+
if (requestData.skipError || methodOptions.skipError) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (e.message.includes('Empty response. There are no subscribers listening to that message')) {
|
|
43
|
+
throw new errors_1.ServiceNotAvailableError(serviceName, methodName);
|
|
44
|
+
}
|
|
45
|
+
throw e;
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
const cacheTtlMs = requestData.cacheTtlMs || methodOptions.cacheTtlMs;
|
|
49
|
+
if (typeof cacheTtlMs !== 'number') {
|
|
50
|
+
return getData();
|
|
51
|
+
}
|
|
52
|
+
const key = objHash({
|
|
53
|
+
route,
|
|
54
|
+
requestData,
|
|
55
|
+
});
|
|
56
|
+
let result = this.cache.get(key);
|
|
57
|
+
if (!result) {
|
|
58
|
+
result = await getData();
|
|
59
|
+
this.cache.set(key, result, cacheTtlMs === Infinity ? undefined : Math.ceil(cacheTtlMs / 1000));
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
};
|
|
63
|
+
if (options.schema[methodName].webApiType) {
|
|
64
|
+
Reflect.defineMetadata(constants_1.webApiProperty, options.schema[methodName].webApiType, service[methodName]);
|
|
65
|
+
}
|
|
66
|
+
return res;
|
|
67
|
+
}, {});
|
|
68
|
+
return Object.assign(Object.assign({}, result), { service });
|
|
48
69
|
}
|
|
49
70
|
};
|
|
50
71
|
exports.CreateApiService = CreateApiService;
|
|
51
72
|
exports.CreateApiService = CreateApiService = __decorate([
|
|
52
73
|
(0, common_1.Injectable)(),
|
|
53
74
|
__param(0, (0, common_1.Inject)(config_1.configKey)),
|
|
54
|
-
|
|
75
|
+
__param(1, (0, common_1.Inject)(constants_1.transportStrategyKey)),
|
|
76
|
+
__metadata("design:paramtypes", [Object, Object, TrySetupWebApiService_1.TrySetupWebApiService])
|
|
55
77
|
], CreateApiService);
|
|
56
78
|
//# sourceMappingURL=CreateApiService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateApiService.js","sourceRoot":"","sources":["../../../src/ApiService/services/CreateApiService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateApiService.js","sourceRoot":"","sources":["../../../src/ApiService/services/CreateApiService.ts"],"names":[],"mappings":"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"}
|