@golemio/core 1.3.1-dev.746712897 → 1.3.1-dev.753243556
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/helpers/data-access/feature-flags/FeatureFlagServiceFactory.d.ts +13 -0
- package/dist/helpers/data-access/feature-flags/FeatureFlagServiceFactory.js +33 -0
- package/dist/helpers/data-access/feature-flags/FeatureFlagServiceFactory.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/helpers/AbstractFeatureFlagServiceWrapper.d.ts +10 -0
- package/dist/helpers/data-access/feature-flags/helpers/AbstractFeatureFlagServiceWrapper.js +27 -0
- package/dist/helpers/data-access/feature-flags/helpers/AbstractFeatureFlagServiceWrapper.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/helpers/index.d.ts +1 -0
- package/dist/helpers/data-access/feature-flags/helpers/index.js +18 -0
- package/dist/helpers/data-access/feature-flags/helpers/index.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/index.d.ts +4 -0
- package/dist/helpers/data-access/feature-flags/index.js +21 -0
- package/dist/helpers/data-access/feature-flags/index.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/interfaces/IFeatureFlagService.d.ts +5 -0
- package/dist/helpers/data-access/feature-flags/interfaces/IFeatureFlagService.js +3 -0
- package/dist/helpers/data-access/feature-flags/interfaces/IFeatureFlagService.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/interfaces/IFeatureFlagsConfig.d.ts +7 -0
- package/dist/helpers/data-access/feature-flags/interfaces/IFeatureFlagsConfig.js +3 -0
- package/dist/helpers/data-access/feature-flags/interfaces/IFeatureFlagsConfig.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/providers/AbstractFeatureFlagService.d.ts +6 -0
- package/dist/helpers/data-access/feature-flags/providers/AbstractFeatureFlagService.js +7 -0
- package/dist/helpers/data-access/feature-flags/providers/AbstractFeatureFlagService.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/providers/LaunchDarklyFeatureFlagService.d.ts +13 -0
- package/dist/helpers/data-access/feature-flags/providers/LaunchDarklyFeatureFlagService.js +76 -0
- package/dist/helpers/data-access/feature-flags/providers/LaunchDarklyFeatureFlagService.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/providers/NoopFeatureFlagService.d.ts +10 -0
- package/dist/helpers/data-access/feature-flags/providers/NoopFeatureFlagService.js +39 -0
- package/dist/helpers/data-access/feature-flags/providers/NoopFeatureFlagService.js.map +1 -0
- package/dist/helpers/data-access/feature-flags/providers/interfaces/LaunchDarklyInterfaces.d.ts +22 -0
- package/dist/helpers/data-access/feature-flags/providers/interfaces/LaunchDarklyInterfaces.js +3 -0
- package/dist/helpers/data-access/feature-flags/providers/interfaces/LaunchDarklyInterfaces.js.map +1 -0
- package/dist/input-gateway/config/InputGatewayConfiguration.d.ts +2 -0
- package/dist/input-gateway/config/InputGatewayConfiguration.js +21 -1
- package/dist/input-gateway/config/InputGatewayConfiguration.js.map +1 -1
- package/dist/input-gateway/data-access/FeatureFlagServiceWrapper.d.ts +9 -0
- package/dist/input-gateway/data-access/FeatureFlagServiceWrapper.js +39 -0
- package/dist/input-gateway/data-access/FeatureFlagServiceWrapper.js.map +1 -0
- package/dist/input-gateway/data-access/index.d.ts +6 -0
- package/dist/input-gateway/data-access/index.js +10 -0
- package/dist/input-gateway/data-access/index.js.map +1 -0
- package/dist/input-gateway/ioc/ContainerToken.d.ts +2 -0
- package/dist/input-gateway/ioc/ContainerToken.js +2 -0
- package/dist/input-gateway/ioc/ContainerToken.js.map +1 -1
- package/dist/input-gateway/ioc/Di.js +6 -1
- package/dist/input-gateway/ioc/Di.js.map +1 -1
- package/dist/integration-engine/config/IntegrationEngineConfiguration.d.ts +2 -0
- package/dist/integration-engine/config/IntegrationEngineConfiguration.js +21 -0
- package/dist/integration-engine/config/IntegrationEngineConfiguration.js.map +1 -1
- package/dist/integration-engine/data-access/FeatureFlagServiceWrapper.d.ts +9 -0
- package/dist/integration-engine/data-access/FeatureFlagServiceWrapper.js +39 -0
- package/dist/integration-engine/data-access/FeatureFlagServiceWrapper.js.map +1 -0
- package/dist/integration-engine/data-access/index.d.ts +6 -1
- package/dist/integration-engine/data-access/index.js +6 -1
- package/dist/integration-engine/data-access/index.js.map +1 -1
- package/dist/integration-engine/ioc/ContainerToken.d.ts +2 -0
- package/dist/integration-engine/ioc/ContainerToken.js +2 -0
- package/dist/integration-engine/ioc/ContainerToken.js.map +1 -1
- package/dist/integration-engine/ioc/Di.js +6 -1
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/output-gateway/config/OutputGatewayConfiguration.d.ts +2 -0
- package/dist/output-gateway/config/OutputGatewayConfiguration.js +22 -2
- package/dist/output-gateway/config/OutputGatewayConfiguration.js.map +1 -1
- package/dist/output-gateway/data-access/FeatureFlagServiceWrapper.d.ts +9 -0
- package/dist/output-gateway/data-access/FeatureFlagServiceWrapper.js +39 -0
- package/dist/output-gateway/data-access/FeatureFlagServiceWrapper.js.map +1 -0
- package/dist/output-gateway/data-access/index.d.ts +5 -0
- package/dist/output-gateway/data-access/index.js +9 -0
- package/dist/output-gateway/data-access/index.js.map +1 -0
- package/dist/output-gateway/ioc/ContainerToken.d.ts +2 -0
- package/dist/output-gateway/ioc/ContainerToken.js +2 -0
- package/dist/output-gateway/ioc/ContainerToken.js.map +1 -1
- package/dist/output-gateway/ioc/Di.js +6 -1
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ILogger } from "../../logger";
|
|
2
|
+
import { IFeatureFlagsConfig } from "./interfaces/IFeatureFlagsConfig";
|
|
3
|
+
import { AbstractFeatureFlagService } from "./providers/AbstractFeatureFlagService";
|
|
4
|
+
export declare enum FeatureFlagsProvider {
|
|
5
|
+
Noop = "Noop",
|
|
6
|
+
LaunchDarkly = "LaunchDarkly"
|
|
7
|
+
}
|
|
8
|
+
export declare class FeatureFlagServiceFactory {
|
|
9
|
+
private config;
|
|
10
|
+
private dictionary;
|
|
11
|
+
constructor(config: IFeatureFlagsConfig, log: ILogger);
|
|
12
|
+
getService(provider: FeatureFlagsProvider): AbstractFeatureFlagService | undefined;
|
|
13
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FeatureFlagServiceFactory = exports.FeatureFlagsProvider = void 0;
|
|
4
|
+
const LaunchDarklyFeatureFlagService_1 = require("./providers/LaunchDarklyFeatureFlagService");
|
|
5
|
+
const NoopFeatureFlagService_1 = require("./providers/NoopFeatureFlagService");
|
|
6
|
+
var FeatureFlagsProvider;
|
|
7
|
+
(function (FeatureFlagsProvider) {
|
|
8
|
+
FeatureFlagsProvider["Noop"] = "Noop";
|
|
9
|
+
FeatureFlagsProvider["LaunchDarkly"] = "LaunchDarkly";
|
|
10
|
+
})(FeatureFlagsProvider = exports.FeatureFlagsProvider || (exports.FeatureFlagsProvider = {}));
|
|
11
|
+
class FeatureFlagServiceFactory {
|
|
12
|
+
constructor(config, log) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
this.dictionary = new Map();
|
|
15
|
+
if (config.enabled) {
|
|
16
|
+
this.dictionary.set(FeatureFlagsProvider.LaunchDarkly, new LaunchDarklyFeatureFlagService_1.LaunchDarklyFeatureFlagService(config.provider.launchDarkly, log));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
log.silly("[FeatureFlagServiceFactory] Feature flags are disabled");
|
|
20
|
+
this.dictionary.set(FeatureFlagsProvider.Noop, new NoopFeatureFlagService_1.NoopFeatureFlagService(log));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
getService(provider) {
|
|
24
|
+
if (this.config.enabled) {
|
|
25
|
+
return this.dictionary.get(provider);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return this.dictionary.get(FeatureFlagsProvider.Noop);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.FeatureFlagServiceFactory = FeatureFlagServiceFactory;
|
|
33
|
+
//# sourceMappingURL=FeatureFlagServiceFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureFlagServiceFactory.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/feature-flags/FeatureFlagServiceFactory.ts"],"names":[],"mappings":";;;AAGA,+FAA4F;AAC5F,+EAA4E;AAE5E,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC5B,qCAAa,CAAA;IACb,qDAA6B,CAAA;AACjC,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B;AAED,MAAa,yBAAyB;IAGlC,YAAoB,MAA2B,EAAE,GAAY;QAAzC,WAAM,GAAN,MAAM,CAAqB;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAE5B,IAAI,MAAM,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CACf,oBAAoB,CAAC,YAAY,EACjC,IAAI,+DAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAa,EAAE,GAAG,CAAC,CACzE,CAAC;SACL;aAAM;YACH,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACpE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,+CAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;SACnF;IACL,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACxC;aAAM;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;SACzD;IACL,CAAC;CACJ;AAxBD,8DAwBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IFeatureFlagService } from "./..";
|
|
2
|
+
import { Disposable } from "tsyringe";
|
|
3
|
+
/**
|
|
4
|
+
* Abstract wrapper of the feature flag service for dependency injection
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class AbstractFeatureFlagServiceWrapper implements Disposable {
|
|
7
|
+
protected abstract _service: IFeatureFlagService;
|
|
8
|
+
get service(): IFeatureFlagService;
|
|
9
|
+
dispose(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AbstractFeatureFlagServiceWrapper = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* Abstract wrapper of the feature flag service for dependency injection
|
|
15
|
+
*/
|
|
16
|
+
class AbstractFeatureFlagServiceWrapper {
|
|
17
|
+
get service() {
|
|
18
|
+
return this._service;
|
|
19
|
+
}
|
|
20
|
+
dispose() {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
yield this._service.disconnect();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.AbstractFeatureFlagServiceWrapper = AbstractFeatureFlagServiceWrapper;
|
|
27
|
+
//# sourceMappingURL=AbstractFeatureFlagServiceWrapper.js.map
|
package/dist/helpers/data-access/feature-flags/helpers/AbstractFeatureFlagServiceWrapper.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractFeatureFlagServiceWrapper.js","sourceRoot":"","sources":["../../../../../src/helpers/data-access/feature-flags/helpers/AbstractFeatureFlagServiceWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA;;GAEG;AACH,MAAsB,iCAAiC;IAGnD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEY,OAAO;;YAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;KAAA;CACJ;AAVD,8EAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./AbstractFeatureFlagServiceWrapper";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./AbstractFeatureFlagServiceWrapper"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/helpers/data-access/feature-flags/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./providers/AbstractFeatureFlagService"), exports);
|
|
18
|
+
__exportStar(require("./interfaces/IFeatureFlagsConfig"), exports);
|
|
19
|
+
__exportStar(require("./interfaces/IFeatureFlagService"), exports);
|
|
20
|
+
__exportStar(require("./FeatureFlagServiceFactory"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/feature-flags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,mEAAiD;AACjD,mEAAiD;AACjD,8DAA4C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFeatureFlagService.js","sourceRoot":"","sources":["../../../../../src/helpers/data-access/feature-flags/interfaces/IFeatureFlagService.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFeatureFlagsConfig.js","sourceRoot":"","sources":["../../../../../src/helpers/data-access/feature-flags/interfaces/IFeatureFlagsConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IFeatureFlagService } from "../interfaces/IFeatureFlagService";
|
|
2
|
+
export declare abstract class AbstractFeatureFlagService implements IFeatureFlagService {
|
|
3
|
+
abstract connect(): Promise<void>;
|
|
4
|
+
abstract disconnect(): Promise<void>;
|
|
5
|
+
abstract isFeatureEnabled(flagKey: string, defaultValue?: boolean): Promise<boolean>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractFeatureFlagService = void 0;
|
|
4
|
+
class AbstractFeatureFlagService {
|
|
5
|
+
}
|
|
6
|
+
exports.AbstractFeatureFlagService = AbstractFeatureFlagService;
|
|
7
|
+
//# sourceMappingURL=AbstractFeatureFlagService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractFeatureFlagService.js","sourceRoot":"","sources":["../../../../../src/helpers/data-access/feature-flags/providers/AbstractFeatureFlagService.ts"],"names":[],"mappings":";;;AAEA,MAAsB,0BAA0B;CAI/C;AAJD,gEAIC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ILogger } from "../../../logger";
|
|
2
|
+
import { IFeatureFlagService } from "../interfaces/IFeatureFlagService";
|
|
3
|
+
import { AbstractFeatureFlagService } from "./AbstractFeatureFlagService";
|
|
4
|
+
import { LaunchDarklyConfig } from "./interfaces/LaunchDarklyInterfaces";
|
|
5
|
+
export declare class LaunchDarklyFeatureFlagService extends AbstractFeatureFlagService implements IFeatureFlagService {
|
|
6
|
+
private readonly client;
|
|
7
|
+
constructor(config: LaunchDarklyConfig, log: ILogger);
|
|
8
|
+
connect(): Promise<void>;
|
|
9
|
+
disconnect(): Promise<void>;
|
|
10
|
+
isFeatureEnabled(flagKey: string, defaultValue?: boolean): Promise<boolean>;
|
|
11
|
+
private getProxyModeOptions;
|
|
12
|
+
private getDaemonModeOptions;
|
|
13
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.LaunchDarklyFeatureFlagService = void 0;
|
|
16
|
+
const launchdarkly_node_server_sdk_1 = __importDefault(require("launchdarkly-node-server-sdk"));
|
|
17
|
+
const launchdarkly_node_server_sdk_redis_1 = require("launchdarkly-node-server-sdk-redis");
|
|
18
|
+
const integrations_1 = require("launchdarkly-node-server-sdk/integrations");
|
|
19
|
+
const path_1 = __importDefault(require("path"));
|
|
20
|
+
const AbstractFeatureFlagService_1 = require("./AbstractFeatureFlagService");
|
|
21
|
+
class LaunchDarklyFeatureFlagService extends AbstractFeatureFlagService_1.AbstractFeatureFlagService {
|
|
22
|
+
constructor(config, log) {
|
|
23
|
+
super();
|
|
24
|
+
let options = {
|
|
25
|
+
application: { id: config.appId },
|
|
26
|
+
offline: !!config.useOfflineMode,
|
|
27
|
+
logger: log,
|
|
28
|
+
};
|
|
29
|
+
if (config.useDaemonMode) {
|
|
30
|
+
options = Object.assign(Object.assign({}, options), this.getDaemonModeOptions(config));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
options = Object.assign(Object.assign({}, options), this.getProxyModeOptions(config));
|
|
34
|
+
}
|
|
35
|
+
if (config.fileDataSource) {
|
|
36
|
+
log.warn(`[${this.constructor.name}] Loading feature flags from file ${config.fileDataSource}`);
|
|
37
|
+
options.updateProcessor = (0, integrations_1.FileDataSource)({
|
|
38
|
+
paths: [path_1.default.resolve(process.cwd(), config.fileDataSource)],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
this.client = launchdarkly_node_server_sdk_1.default.init(config.sdkKey, options);
|
|
42
|
+
}
|
|
43
|
+
connect() {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
yield this.client.waitForInitialization();
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
disconnect() {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
return this.client.close();
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
isFeatureEnabled(flagKey, defaultValue = false) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
return !!(yield this.client.variation(flagKey, { kind: "multi" }, defaultValue));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getProxyModeOptions(config) {
|
|
59
|
+
return {
|
|
60
|
+
baseUri: config.options.baseUri,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
getDaemonModeOptions(config) {
|
|
64
|
+
return {
|
|
65
|
+
// Enable daemon mode
|
|
66
|
+
useLdd: true,
|
|
67
|
+
featureStore: (0, launchdarkly_node_server_sdk_redis_1.RedisFeatureStore)({
|
|
68
|
+
redisOpts: { url: config.options.redisConn },
|
|
69
|
+
prefix: config.options.redisKeyPrefix,
|
|
70
|
+
cacheTTL: config.options.redisCacheTtlInSeconds,
|
|
71
|
+
}),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.LaunchDarklyFeatureFlagService = LaunchDarklyFeatureFlagService;
|
|
76
|
+
//# sourceMappingURL=LaunchDarklyFeatureFlagService.js.map
|
package/dist/helpers/data-access/feature-flags/providers/LaunchDarklyFeatureFlagService.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LaunchDarklyFeatureFlagService.js","sourceRoot":"","sources":["../../../../../src/helpers/data-access/feature-flags/providers/LaunchDarklyFeatureFlagService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gGAAuE;AACvE,2FAAuE;AACvE,4EAA2E;AAC3E,gDAAwB;AAExB,6EAA0E;AAG1E,MAAa,8BAA+B,SAAQ,uDAA0B;IAG1E,YAAY,MAA0B,EAAE,GAAY;QAChD,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,GAAc;YACrB,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE;YACjC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;YAChC,MAAM,EAAE,GAAG;SACd,CAAC;QAEF,IAAI,MAAM,CAAC,aAAa,EAAE;YACtB,OAAO,mCACA,OAAO,GACP,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CACvC,CAAC;SACL;aAAM;YACH,OAAO,mCACA,OAAO,GACP,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CACtC,CAAC;SACL;QAED,IAAI,MAAM,CAAC,cAAc,EAAE;YACvB,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,qCAAqC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAChG,OAAO,CAAC,eAAe,GAAG,IAAA,6BAAc,EAAC;gBACrC,KAAK,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;aAC9D,CAAC,CAAC;SACN;QAED,IAAI,CAAC,MAAM,GAAG,sCAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAEY,OAAO;;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC9C,CAAC;KAAA;IAEY,UAAU;;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEY,gBAAgB,CAAC,OAAe,EAAE,YAAY,GAAG,KAAK;;YAC/D,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QACrF,CAAC;KAAA;IAEO,mBAAmB,CAAC,MAAwB;QAChD,OAAO;YACH,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;SAClC,CAAC;IACN,CAAC;IAEO,oBAAoB,CAAC,MAAyB;QAClD,OAAO;YACH,qBAAqB;YACrB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAA,sDAAiB,EAAC;gBAC5B,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc;gBACrC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,sBAAsB;aAClD,CAAC;SACL,CAAC;IACN,CAAC;CACJ;AA/DD,wEA+DC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ILogger } from "../../../logger";
|
|
2
|
+
import { IFeatureFlagService } from "../interfaces/IFeatureFlagService";
|
|
3
|
+
import { AbstractFeatureFlagService } from "./AbstractFeatureFlagService";
|
|
4
|
+
export declare class NoopFeatureFlagService extends AbstractFeatureFlagService implements IFeatureFlagService {
|
|
5
|
+
private readonly log;
|
|
6
|
+
constructor(log: ILogger);
|
|
7
|
+
connect(): Promise<void>;
|
|
8
|
+
disconnect(): Promise<void>;
|
|
9
|
+
isFeatureEnabled(_flagKey: string, defaultValue?: boolean): Promise<boolean>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.NoopFeatureFlagService = void 0;
|
|
13
|
+
const AbstractFeatureFlagService_1 = require("./AbstractFeatureFlagService");
|
|
14
|
+
class NoopFeatureFlagService extends AbstractFeatureFlagService_1.AbstractFeatureFlagService {
|
|
15
|
+
constructor(log) {
|
|
16
|
+
super();
|
|
17
|
+
this.log = log;
|
|
18
|
+
}
|
|
19
|
+
connect() {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
this.log.silly(`[${this.constructor.name}] Feature flags are disabled`);
|
|
22
|
+
return Promise.resolve();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
disconnect() {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
this.log.silly(`[${this.constructor.name}] Feature flags are disabled`);
|
|
28
|
+
return Promise.resolve();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
isFeatureEnabled(_flagKey, defaultValue = false) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
this.log.silly(`[${this.constructor.name}] Feature flags are disabled`);
|
|
34
|
+
return defaultValue;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.NoopFeatureFlagService = NoopFeatureFlagService;
|
|
39
|
+
//# sourceMappingURL=NoopFeatureFlagService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoopFeatureFlagService.js","sourceRoot":"","sources":["../../../../../src/helpers/data-access/feature-flags/providers/NoopFeatureFlagService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6EAA0E;AAE1E,MAAa,sBAAuB,SAAQ,uDAA0B;IAClE,YAA6B,GAAY;QACrC,KAAK,EAAE,CAAC;QADiB,QAAG,GAAH,GAAG,CAAS;IAEzC,CAAC;IAEY,OAAO;;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,8BAA8B,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAEY,UAAU;;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,8BAA8B,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAEY,gBAAgB,CAAC,QAAgB,EAAE,YAAY,GAAG,KAAK;;YAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,8BAA8B,CAAC,CAAC;YACxE,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;CACJ;AAnBD,wDAmBC"}
|
package/dist/helpers/data-access/feature-flags/providers/interfaces/LaunchDarklyInterfaces.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface IBaseConfig {
|
|
2
|
+
appId: string;
|
|
3
|
+
sdkKey: string;
|
|
4
|
+
useOfflineMode?: boolean;
|
|
5
|
+
fileDataSource?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IProxyModeConfig extends IBaseConfig {
|
|
8
|
+
useDaemonMode: false;
|
|
9
|
+
options: {
|
|
10
|
+
baseUri: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface IDaemonModeConfig extends IBaseConfig {
|
|
14
|
+
useDaemonMode: true;
|
|
15
|
+
options: {
|
|
16
|
+
redisConn: string;
|
|
17
|
+
redisCacheTtlInSeconds: number;
|
|
18
|
+
redisKeyPrefix: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export declare type LaunchDarklyConfig = IProxyModeConfig | IDaemonModeConfig;
|
|
22
|
+
export {};
|
package/dist/helpers/data-access/feature-flags/providers/interfaces/LaunchDarklyInterfaces.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LaunchDarklyInterfaces.js","sourceRoot":"","sources":["../../../../../../src/helpers/data-access/feature-flags/providers/interfaces/LaunchDarklyInterfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IFeatureFlagsConfig } from "../../helpers/data-access/feature-flags";
|
|
1
2
|
import { JaegerProcessorType } from "../../monitoring";
|
|
2
3
|
import { IConfiguration } from "./abstract";
|
|
3
4
|
export declare class InputGatewayConfiguration implements IConfiguration {
|
|
@@ -48,5 +49,6 @@ export declare class InputGatewayConfiguration implements IConfiguration {
|
|
|
48
49
|
shutdownTimeout: number;
|
|
49
50
|
handlerTimeout: number;
|
|
50
51
|
};
|
|
52
|
+
featureFlags: IFeatureFlagsConfig;
|
|
51
53
|
constructor();
|
|
52
54
|
}
|
|
@@ -16,7 +16,7 @@ const _monitoring_1 = require("../../monitoring");
|
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
17
|
let InputGatewayConfiguration = class InputGatewayConfiguration {
|
|
18
18
|
constructor() {
|
|
19
|
-
var _a;
|
|
19
|
+
var _a, _b, _c, _d, _e;
|
|
20
20
|
this.app_version = process.env.npm_package_version;
|
|
21
21
|
this.app_name = process.env.APP_NAME || "input-gateway";
|
|
22
22
|
this.colorful_logs = process.env.COLORFUL_LOGS;
|
|
@@ -65,6 +65,26 @@ let InputGatewayConfiguration = class InputGatewayConfiguration {
|
|
|
65
65
|
shutdownTimeout: process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT, 10) : 60000,
|
|
66
66
|
handlerTimeout: process.env.LIGHTSHIP_HANDLER_TIMEOUT ? parseInt(process.env.LIGHTSHIP_HANDLER_TIMEOUT, 10) : 5000,
|
|
67
67
|
};
|
|
68
|
+
this.featureFlags = {
|
|
69
|
+
enabled: process.env.FEATURE_FLAGS_ENABLED === "true",
|
|
70
|
+
provider: {
|
|
71
|
+
launchDarkly: {
|
|
72
|
+
appId: (_b = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_APP_ID) !== null && _b !== void 0 ? _b : "input-gateway",
|
|
73
|
+
sdkKey: (_c = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_SDK_KEY) !== null && _c !== void 0 ? _c : "sdk-test",
|
|
74
|
+
useOfflineMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_OFFLINE_MODE === "true",
|
|
75
|
+
fileDataSource: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_FILE_DATA_SOURCE,
|
|
76
|
+
useDaemonMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_DAEMON_MODE === "true",
|
|
77
|
+
options: {
|
|
78
|
+
baseUri: (_d = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_BASE_URI) !== null && _d !== void 0 ? _d : "http://localhost:8030",
|
|
79
|
+
redisConn: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CONN,
|
|
80
|
+
redisCacheTtlInSeconds: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS
|
|
81
|
+
? parseInt(process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS)
|
|
82
|
+
: 60,
|
|
83
|
+
redisKeyPrefix: (_e = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_KEY_PREFIX) !== null && _e !== void 0 ? _e : "ld-ig",
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
};
|
|
68
88
|
const saveRawDataWhitelist = new _helpers_1.ConfigLoader("saveRawDataWhitelist").conf;
|
|
69
89
|
this.saveRawDataWhitelist = (0, utils_1.isEmpty)(saveRawDataWhitelist) ? [] : saveRawDataWhitelist;
|
|
70
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputGatewayConfiguration.js","sourceRoot":"","sources":["../../../src/input-gateway/config/InputGatewayConfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwC;
|
|
1
|
+
{"version":3,"file":"InputGatewayConfiguration.js","sourceRoot":"","sources":["../../../src/input-gateway/config/InputGatewayConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFeatureFlagService } from "../../helpers/data-access/feature-flags";
|
|
2
|
+
import { AbstractFeatureFlagServiceWrapper } from "../../helpers/data-access/feature-flags/helpers";
|
|
3
|
+
import { ILogger } from "../../helpers/logger";
|
|
4
|
+
import { InputGatewayConfiguration } from "../config/InputGatewayConfiguration";
|
|
5
|
+
import { Disposable } from "tsyringe";
|
|
6
|
+
export declare class FeatureFlagServiceWrapper extends AbstractFeatureFlagServiceWrapper implements Disposable {
|
|
7
|
+
protected _service: IFeatureFlagService;
|
|
8
|
+
constructor(config: InputGatewayConfiguration, log: ILogger);
|
|
9
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.FeatureFlagServiceWrapper = void 0;
|
|
16
|
+
const feature_flags_1 = require("../../helpers/data-access/feature-flags");
|
|
17
|
+
const helpers_1 = require("../../helpers/data-access/feature-flags/helpers");
|
|
18
|
+
const InputGatewayConfiguration_1 = require("../config/InputGatewayConfiguration");
|
|
19
|
+
const ContainerToken_1 = require("../ioc/ContainerToken");
|
|
20
|
+
const errors_1 = require("@golemio/errors");
|
|
21
|
+
const tsyringe_1 = require("tsyringe");
|
|
22
|
+
let FeatureFlagServiceWrapper = class FeatureFlagServiceWrapper extends helpers_1.AbstractFeatureFlagServiceWrapper {
|
|
23
|
+
constructor(config, log) {
|
|
24
|
+
super();
|
|
25
|
+
const service = new feature_flags_1.FeatureFlagServiceFactory(config.featureFlags, log).getService(feature_flags_1.FeatureFlagsProvider.LaunchDarkly);
|
|
26
|
+
if (!service) {
|
|
27
|
+
throw new errors_1.CustomError(`FeatureFlagServiceFactory returned undefined for provider ${feature_flags_1.FeatureFlagsProvider.LaunchDarkly}`, false, this.constructor.name);
|
|
28
|
+
}
|
|
29
|
+
this._service = service;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
FeatureFlagServiceWrapper = __decorate([
|
|
33
|
+
(0, tsyringe_1.injectable)(),
|
|
34
|
+
__param(0, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Config)),
|
|
35
|
+
__param(1, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Logger)),
|
|
36
|
+
__metadata("design:paramtypes", [InputGatewayConfiguration_1.InputGatewayConfiguration, Object])
|
|
37
|
+
], FeatureFlagServiceWrapper);
|
|
38
|
+
exports.FeatureFlagServiceWrapper = FeatureFlagServiceWrapper;
|
|
39
|
+
//# sourceMappingURL=FeatureFlagServiceWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureFlagServiceWrapper.js","sourceRoot":"","sources":["../../../src/input-gateway/data-access/FeatureFlagServiceWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2EAA0H;AAC1H,6EAA+F;AAE/F,mFAAiF;AACjF,0DAAwD;AACxD,4CAA8C;AAC9C,uCAA0D;AAG1D,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,2CAAiC;IAG5E,YAA2C,MAAiC,EAAiC,GAAY;QACrH,KAAK,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,IAAI,yCAAyB,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,oCAAoB,CAAC,YAAY,CAAC,CAAC;QACtH,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,oBAAW,CACjB,6DAA6D,oCAAoB,CAAC,YAAY,EAAE,EAChG,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;SACL;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;CACJ,CAAA;AAjBY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,+BAAc,CAAC,MAAM,CAAC,CAAA;IAAqC,WAAA,IAAA,iBAAM,EAAC,+BAAc,CAAC,MAAM,CAAC,CAAA;qCAAzD,qDAAyB;GAHnE,yBAAyB,CAiBrC;AAjBY,8DAAyB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.featureFlagService = void 0;
|
|
4
|
+
const ioc_1 = require("../ioc");
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated For backwards compatibility. Use ioc container instead.
|
|
7
|
+
*/
|
|
8
|
+
const featureFlagService = ioc_1.InputGatewayContainer.resolve(ioc_1.ContainerToken.FeatureFlagService);
|
|
9
|
+
exports.featureFlagService = featureFlagService;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-gateway/data-access/index.ts"],"names":[],"mappings":";;;AACA,gCAAgE;AAEhE;;GAEG;AACH,MAAM,kBAAkB,GAAG,2BAAqB,CAAC,OAAO,CAAsB,oBAAc,CAAC,kBAAkB,CAAC,CAAC;AAExG,gDAAkB"}
|
|
@@ -7,6 +7,8 @@ const ContainerToken = {
|
|
|
7
7
|
LoggerEvents: Symbol(),
|
|
8
8
|
RequestLogger: Symbol(),
|
|
9
9
|
AmqpConnector: Symbol(),
|
|
10
|
+
FeatureFlagService: Symbol(),
|
|
11
|
+
FeatureFlagServiceWrapper: Symbol(),
|
|
10
12
|
};
|
|
11
13
|
exports.ContainerToken = ContainerToken;
|
|
12
14
|
//# sourceMappingURL=ContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,aAAa,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,aAAa,EAAE,MAAM,EAAE;IACvB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,yBAAyB,EAAE,MAAM,EAAE;CACtC,CAAC;AAEO,wCAAc"}
|
|
@@ -8,6 +8,7 @@ const _helpers_1 = require("../../helpers");
|
|
|
8
8
|
const Di_1 = require("../../helpers/ioc/Di");
|
|
9
9
|
const InputGatewayConfiguration_1 = require("../config/InputGatewayConfiguration");
|
|
10
10
|
const AMQPConnector_1 = require("../connectors/AMQPConnector");
|
|
11
|
+
const FeatureFlagServiceWrapper_1 = require("../data-access/FeatureFlagServiceWrapper");
|
|
11
12
|
const LoggerEvents_1 = __importDefault(require("../helpers/LoggerEvents"));
|
|
12
13
|
const tsyringe_1 = require("tsyringe");
|
|
13
14
|
const ContainerToken_1 = require("./ContainerToken");
|
|
@@ -28,5 +29,9 @@ InputGatewayContainer.register(ContainerToken_1.ContainerToken.LoggerEvents, { u
|
|
|
28
29
|
InputGatewayContainer.registerInstance(ContainerToken_1.ContainerToken.RequestLogger, (0, _helpers_1.createRequestLogger)(config.node_env, InputGatewayContainer.resolve(ContainerToken_1.ContainerToken.Logger)));
|
|
29
30
|
//#endregion
|
|
30
31
|
//#region Data Access
|
|
31
|
-
InputGatewayContainer.register(ContainerToken_1.ContainerToken.AmqpConnector, { useClass: AMQPConnector_1.AMQPConnector }, singletonOptions)
|
|
32
|
+
InputGatewayContainer.register(ContainerToken_1.ContainerToken.AmqpConnector, { useClass: AMQPConnector_1.AMQPConnector }, singletonOptions)
|
|
33
|
+
.register(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper, FeatureFlagServiceWrapper_1.FeatureFlagServiceWrapper, singletonOptions)
|
|
34
|
+
.register(ContainerToken_1.ContainerToken.FeatureFlagService, {
|
|
35
|
+
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => c.resolve(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper).service),
|
|
36
|
+
});
|
|
32
37
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/Di.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsE;AAEtE,6CAAkD;AAElD,mFAAiF;AACjF,+DAA6D;AAC7D,2EAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/Di.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsE;AAEtE,6CAAkD;AAElD,mFAAiF;AACjF,+DAA6D;AAC7D,wFAAsF;AACtF,2EAAoD;AACpD,uCAA6D;AAC7D,qDAAkD;AAElD,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;AAC5D,MAAM,qBAAqB,GAAG,oBAAe,CAAC,oBAAoB,EAAE,CAAC;AAgC5D,sDAAqB;AA/B9B,YAAY;AAEZ,iBAAiB;AACjB,qBAAqB,CAAC,QAAQ,CAAiB,+BAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,qDAAyB,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAEjI,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAiB,+BAAc,CAAC,MAAM,CAAC,CAAC;AACpF,qBAAqB,CAAC,gBAAgB,CAClC,+BAAc,CAAC,MAAM,EACrB,IAAA,uBAAY,EAAC;IACT,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC,SAAS;CAC7B,CAAC,CACL,CAAC;AACF,qBAAqB,CAAC,QAAQ,CAAC,+BAAc,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,sBAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC1G,qBAAqB,CAAC,gBAAgB,CAClC,+BAAc,CAAC,aAAa,EAC5B,IAAA,8BAAmB,EAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,+BAAc,CAAC,MAAM,CAAC,CAAC,CAC7F,CAAC;AACF,YAAY;AAEZ,qBAAqB;AACrB,qBAAqB,CAAC,QAAQ,CAAkB,+BAAc,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,6BAAa,EAAE,EAAE,gBAAgB,CAAC;KACvH,QAAQ,CAAC,+BAAc,CAAC,yBAAyB,EAAE,qDAAyB,EAAE,gBAAgB,CAAC;KAC/F,QAAQ,CAAC,+BAAc,CAAC,kBAAkB,EAAE;IACzC,UAAU,EAAE,IAAA,iCAAsB,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAA4B,+BAAc,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAChG;CACJ,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IFeatureFlagsConfig } from "../../helpers/data-access/feature-flags";
|
|
1
2
|
import { JaegerProcessorType } from "../../monitoring";
|
|
2
3
|
import { IConfiguration } from "./abstract";
|
|
3
4
|
export declare class IntegrationEngineConfiguration implements IConfiguration {
|
|
@@ -67,6 +68,7 @@ export declare class IntegrationEngineConfiguration implements IConfiguration {
|
|
|
67
68
|
shutdownTimeout: number;
|
|
68
69
|
handlerTimeout: number;
|
|
69
70
|
};
|
|
71
|
+
featureFlags: IFeatureFlagsConfig;
|
|
70
72
|
vehiclePositions: {
|
|
71
73
|
stepBetweenPoints: number;
|
|
72
74
|
tcpBusTjrNegativeOffset: number;
|
|
@@ -15,6 +15,7 @@ const _monitoring_1 = require("../../monitoring");
|
|
|
15
15
|
const tsyringe_1 = require("tsyringe");
|
|
16
16
|
let IntegrationEngineConfiguration = class IntegrationEngineConfiguration {
|
|
17
17
|
constructor() {
|
|
18
|
+
var _a, _b, _c, _d;
|
|
18
19
|
this.DATA_BATCH_SIZE = process.env.DATA_BATCH_SIZE || 1000;
|
|
19
20
|
this.HOPPYGO_BASE_URL = process.env.HOPPYGO_BASE_URL;
|
|
20
21
|
this.LOG_LEVEL = process.env.LOG_LEVEL;
|
|
@@ -82,6 +83,26 @@ let IntegrationEngineConfiguration = class IntegrationEngineConfiguration {
|
|
|
82
83
|
shutdownTimeout: process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT, 10) : 60000,
|
|
83
84
|
handlerTimeout: process.env.LIGHTSHIP_HANDLER_TIMEOUT ? parseInt(process.env.LIGHTSHIP_HANDLER_TIMEOUT, 10) : 5000,
|
|
84
85
|
};
|
|
86
|
+
this.featureFlags = {
|
|
87
|
+
enabled: process.env.FEATURE_FLAGS_ENABLED === "true",
|
|
88
|
+
provider: {
|
|
89
|
+
launchDarkly: {
|
|
90
|
+
appId: (_a = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_APP_ID) !== null && _a !== void 0 ? _a : "integration-engine",
|
|
91
|
+
sdkKey: (_b = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_SDK_KEY) !== null && _b !== void 0 ? _b : "sdk-test",
|
|
92
|
+
useOfflineMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_OFFLINE_MODE === "true",
|
|
93
|
+
fileDataSource: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_FILE_DATA_SOURCE,
|
|
94
|
+
useDaemonMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_DAEMON_MODE === "true",
|
|
95
|
+
options: {
|
|
96
|
+
baseUri: (_c = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_BASE_URI) !== null && _c !== void 0 ? _c : "http://localhost:8030",
|
|
97
|
+
redisConn: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CONN,
|
|
98
|
+
redisCacheTtlInSeconds: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS
|
|
99
|
+
? parseInt(process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS)
|
|
100
|
+
: 60,
|
|
101
|
+
redisKeyPrefix: (_d = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_KEY_PREFIX) !== null && _d !== void 0 ? _d : "ld-ie",
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
};
|
|
85
106
|
this.vehiclePositions = {
|
|
86
107
|
stepBetweenPoints: Number(process.env.VEHICLE_POSITIONS_STEP_BETWEEN_POINTS) || 0.1,
|
|
87
108
|
// hours to be subtracted from the TJR property (TCP busses only) when transitioning from CET to CEST, default 1 hour
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegrationEngineConfiguration.js","sourceRoot":"","sources":["../../../src/integration-engine/config/IntegrationEngineConfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwC;
|
|
1
|
+
{"version":3,"file":"IntegrationEngineConfiguration.js","sourceRoot":"","sources":["../../../src/integration-engine/config/IntegrationEngineConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFeatureFlagService } from "../../helpers/data-access/feature-flags";
|
|
2
|
+
import { AbstractFeatureFlagServiceWrapper } from "../../helpers/data-access/feature-flags/helpers";
|
|
3
|
+
import { ILogger } from "../../helpers/logger";
|
|
4
|
+
import { IntegrationEngineConfiguration } from "../config/IntegrationEngineConfiguration";
|
|
5
|
+
import { Disposable } from "tsyringe";
|
|
6
|
+
export declare class FeatureFlagServiceWrapper extends AbstractFeatureFlagServiceWrapper implements Disposable {
|
|
7
|
+
protected _service: IFeatureFlagService;
|
|
8
|
+
constructor(config: IntegrationEngineConfiguration, log: ILogger);
|
|
9
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.FeatureFlagServiceWrapper = void 0;
|
|
16
|
+
const feature_flags_1 = require("../../helpers/data-access/feature-flags");
|
|
17
|
+
const helpers_1 = require("../../helpers/data-access/feature-flags/helpers");
|
|
18
|
+
const IntegrationEngineConfiguration_1 = require("../config/IntegrationEngineConfiguration");
|
|
19
|
+
const ContainerToken_1 = require("../ioc/ContainerToken");
|
|
20
|
+
const errors_1 = require("@golemio/errors");
|
|
21
|
+
const tsyringe_1 = require("tsyringe");
|
|
22
|
+
let FeatureFlagServiceWrapper = class FeatureFlagServiceWrapper extends helpers_1.AbstractFeatureFlagServiceWrapper {
|
|
23
|
+
constructor(config, log) {
|
|
24
|
+
super();
|
|
25
|
+
const service = new feature_flags_1.FeatureFlagServiceFactory(config.featureFlags, log).getService(feature_flags_1.FeatureFlagsProvider.LaunchDarkly);
|
|
26
|
+
if (!service) {
|
|
27
|
+
throw new errors_1.CustomError(`FeatureFlagServiceFactory returned undefined for provider ${feature_flags_1.FeatureFlagsProvider.LaunchDarkly}`, false, this.constructor.name);
|
|
28
|
+
}
|
|
29
|
+
this._service = service;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
FeatureFlagServiceWrapper = __decorate([
|
|
33
|
+
(0, tsyringe_1.injectable)(),
|
|
34
|
+
__param(0, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Config)),
|
|
35
|
+
__param(1, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Logger)),
|
|
36
|
+
__metadata("design:paramtypes", [IntegrationEngineConfiguration_1.IntegrationEngineConfiguration, Object])
|
|
37
|
+
], FeatureFlagServiceWrapper);
|
|
38
|
+
exports.FeatureFlagServiceWrapper = FeatureFlagServiceWrapper;
|
|
39
|
+
//# sourceMappingURL=FeatureFlagServiceWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureFlagServiceWrapper.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/FeatureFlagServiceWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2EAA0H;AAC1H,6EAA+F;AAE/F,6FAA2F;AAC3F,0DAAwD;AACxD,4CAA8C;AAC9C,uCAA0D;AAG1D,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,2CAAiC;IAG5E,YACmC,MAAsC,EACtC,GAAY;QAE3C,KAAK,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,IAAI,yCAAyB,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,oCAAoB,CAAC,YAAY,CAAC,CAAC;QACtH,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,oBAAW,CACjB,6DAA6D,oCAAoB,CAAC,YAAY,EAAE,EAChG,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;SACL;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;CACJ,CAAA;AApBY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,+BAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,+BAAc,CAAC,MAAM,CAAC,CAAA;qCADS,+DAA8B;GAJhE,yBAAyB,CAoBrC;AApBY,8DAAyB"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
import { IFeatureFlagService } from "../../helpers/data-access/feature-flags";
|
|
1
2
|
import IStorageService from "./interfaces/IStorageService";
|
|
2
3
|
/**
|
|
3
4
|
* @deprecated For backwards compatibility. Use ioc container instead.
|
|
4
5
|
*/
|
|
5
6
|
declare const storageService: IStorageService;
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated For backwards compatibility. Use ioc container instead.
|
|
9
|
+
*/
|
|
10
|
+
declare const featureFlagService: IFeatureFlagService;
|
|
11
|
+
export { storageService, featureFlagService };
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.storageService = void 0;
|
|
3
|
+
exports.featureFlagService = exports.storageService = void 0;
|
|
4
4
|
const ioc_1 = require("../ioc");
|
|
5
5
|
/**
|
|
6
6
|
* @deprecated For backwards compatibility. Use ioc container instead.
|
|
7
7
|
*/
|
|
8
8
|
const storageService = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.StorageService);
|
|
9
9
|
exports.storageService = storageService;
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated For backwards compatibility. Use ioc container instead.
|
|
12
|
+
*/
|
|
13
|
+
const featureFlagService = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.FeatureFlagService);
|
|
14
|
+
exports.featureFlagService = featureFlagService;
|
|
10
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/index.ts"],"names":[],"mappings":";;;AACA,gCAAqE;AAGrE;;GAEG;AACH,MAAM,cAAc,GAAG,gCAA0B,CAAC,OAAO,CAAkB,oBAAc,CAAC,cAAc,CAAC,CAAC;AAOjG,wCAAc;AALvB;;GAEG;AACH,MAAM,kBAAkB,GAAG,gCAA0B,CAAC,OAAO,CAAsB,oBAAc,CAAC,kBAAkB,CAAC,CAAC;AAE7F,gDAAkB"}
|
|
@@ -13,6 +13,8 @@ const ContainerToken = {
|
|
|
13
13
|
StorageService: Symbol(),
|
|
14
14
|
GeocodeApi: Symbol(),
|
|
15
15
|
RawDataStorage: Symbol(),
|
|
16
|
+
FeatureFlagService: Symbol(),
|
|
17
|
+
FeatureFlagServiceWrapper: Symbol(),
|
|
16
18
|
};
|
|
17
19
|
exports.ContainerToken = ContainerToken;
|
|
18
20
|
//# sourceMappingURL=ContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,aAAa,EAAE,MAAM,EAAE;IACvB,cAAc,EAAE,MAAM,EAAE;IACxB,iBAAiB,EAAE,MAAM,EAAE;IAC3B,cAAc,EAAE,MAAM,EAAE;IACxB,cAAc,EAAE,MAAM,EAAE;IACxB,UAAU,EAAE,MAAM,EAAE;IACpB,cAAc,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,aAAa,EAAE,MAAM,EAAE;IACvB,cAAc,EAAE,MAAM,EAAE;IACxB,iBAAiB,EAAE,MAAM,EAAE;IAC3B,cAAc,EAAE,MAAM,EAAE;IACxB,cAAc,EAAE,MAAM,EAAE;IACxB,UAAU,EAAE,MAAM,EAAE;IACpB,cAAc,EAAE,MAAM,EAAE;IACxB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,yBAAyB,EAAE,MAAM,EAAE;CACtC,CAAC;AAEO,wCAAc"}
|
|
@@ -11,6 +11,7 @@ const AMQPConnector_1 = require("../connectors/AMQPConnector");
|
|
|
11
11
|
const MongoConnector_1 = require("../connectors/MongoConnector");
|
|
12
12
|
const PostgresConnector_1 = require("../connectors/PostgresConnector");
|
|
13
13
|
const RedisConnector_1 = require("../connectors/RedisConnector");
|
|
14
|
+
const FeatureFlagServiceWrapper_1 = require("../data-access/FeatureFlagServiceWrapper");
|
|
14
15
|
const RawDataStorage_1 = __importDefault(require("../data-access/RawDataStorage"));
|
|
15
16
|
const StorageService_1 = require("../data-access/StorageService");
|
|
16
17
|
const GeocodeApi_1 = require("../helpers/GeocodeApi");
|
|
@@ -42,5 +43,9 @@ IntegrationEngineContainer.register(ContainerToken_1.ContainerToken.AmqpConnecto
|
|
|
42
43
|
.register(ContainerToken_1.ContainerToken.RedisConnector, { useClass: RedisConnector_1.RedisConnector }, singletonOptions)
|
|
43
44
|
.register(ContainerToken_1.ContainerToken.StorageService, { useClass: StorageService_1.StorageService }, singletonOptions)
|
|
44
45
|
.register(ContainerToken_1.ContainerToken.GeocodeApi, { useClass: GeocodeApi_1.GeocodeApi }, singletonOptions)
|
|
45
|
-
.registerSingleton(ContainerToken_1.ContainerToken.RawDataStorage, RawDataStorage_1.default)
|
|
46
|
+
.registerSingleton(ContainerToken_1.ContainerToken.RawDataStorage, RawDataStorage_1.default)
|
|
47
|
+
.register(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper, FeatureFlagServiceWrapper_1.FeatureFlagServiceWrapper, singletonOptions)
|
|
48
|
+
.register(ContainerToken_1.ContainerToken.FeatureFlagService, {
|
|
49
|
+
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => c.resolve(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper).service),
|
|
50
|
+
});
|
|
46
51
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsE;AAEtE,6CAAkD;AAElD,6FAA2F;AAC3F,+DAA6D;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsE;AAEtE,6CAAkD;AAElD,6FAA2F;AAC3F,+DAA6D;AAC7D,iEAA+D;AAC/D,uEAAqE;AACrE,iEAA+D;AAI/D,wFAAsF;AACtF,mFAA4D;AAC5D,kEAAgE;AAEhE,sDAAoD;AACpD,2EAAoD;AACpD,uCAA6D;AAC7D,qDAAkD;AAElD,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;AAC5D,MAAM,0BAA0B,GAAG,oBAAe,CAAC,oBAAoB,EAAE,CAAC;AA2CjE,gEAA0B;AA1CnC,YAAY;AAEZ,iBAAiB;AACjB,0BAA0B,CAAC,QAAQ,CAC/B,+BAAc,CAAC,MAAM,EACrB,EAAE,QAAQ,EAAE,+DAA8B,EAAE,EAC5C,gBAAgB,CACnB,CAAC;AAEF,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAiB,+BAAc,CAAC,MAAM,CAAC,CAAC;AACzF,0BAA0B,CAAC,QAAQ,CAAU,+BAAc,CAAC,MAAM,EAAE;IAChE,UAAU,EAAE,IAAA,iCAAsB,EAAC,GAAG,EAAE,CACpC,IAAA,uBAAY,EAAC;QACT,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,QAAQ,EAAE,MAAM,CAAC,SAAS;KAC7B,CAAC,CACL;CACJ,CAAC;KACG,QAAQ,CAAC,+BAAc,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,sBAAY,EAAE,EAAE,gBAAgB,CAAC;KACnF,gBAAgB,CACb,+BAAc,CAAC,aAAa,EAC5B,IAAA,8BAAmB,EAAC,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC,OAAO,CAAC,+BAAc,CAAC,MAAM,CAAC,CAAC,CAClG,CAAC;AACN,YAAY;AAEZ,qBAAqB;AACrB,0BAA0B,CAAC,QAAQ,CAAkB,+BAAc,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,6BAAa,EAAE,EAAE,gBAAgB,CAAC;KAC5H,QAAQ,CAAkB,+BAAc,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,+BAAc,EAAE,EAAE,gBAAgB,CAAC;KACxG,QAAQ,CAAqB,+BAAc,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,qCAAiB,EAAE,EAAE,gBAAgB,CAAC;KACjH,QAAQ,CAAkB,+BAAc,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,+BAAc,EAAE,EAAE,gBAAgB,CAAC;KACxG,QAAQ,CAAkB,+BAAc,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,+BAAc,EAAE,EAAE,gBAAgB,CAAC;KACxG,QAAQ,CAAa,+BAAc,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,uBAAU,EAAE,EAAE,gBAAgB,CAAC;KAC3F,iBAAiB,CAAC,+BAAc,CAAC,cAAc,EAAE,wBAAc,CAAC;KAChE,QAAQ,CAAC,+BAAc,CAAC,yBAAyB,EAAE,qDAAyB,EAAE,gBAAgB,CAAC;KAC/F,QAAQ,CAAC,+BAAc,CAAC,kBAAkB,EAAE;IACzC,UAAU,EAAE,IAAA,iCAAsB,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAA4B,+BAAc,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAChG;CACJ,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IFeatureFlagsConfig } from "../../helpers/data-access/feature-flags";
|
|
1
2
|
import { JaegerProcessorType } from "../../monitoring";
|
|
2
3
|
export declare class OutputGatewayConfiguration {
|
|
3
4
|
app_version: string | undefined;
|
|
@@ -42,6 +43,7 @@ export declare class OutputGatewayConfiguration {
|
|
|
42
43
|
shutdownTimeout: number;
|
|
43
44
|
handlerTimeout: number;
|
|
44
45
|
};
|
|
46
|
+
featureFlags: IFeatureFlagsConfig;
|
|
45
47
|
vehiclePositions: {
|
|
46
48
|
defaultTimezone: string;
|
|
47
49
|
};
|
|
@@ -14,7 +14,7 @@ const _monitoring_1 = require("../../monitoring");
|
|
|
14
14
|
const tsyringe_1 = require("tsyringe");
|
|
15
15
|
let OutputGatewayConfiguration = class OutputGatewayConfiguration {
|
|
16
16
|
constructor() {
|
|
17
|
-
var _a;
|
|
17
|
+
var _a, _b, _c, _d, _e;
|
|
18
18
|
this.app_version = process.env.npm_package_version;
|
|
19
19
|
this.app_name = process.env.APP_NAME || "output-gateway";
|
|
20
20
|
this.log_level = process.env.LOG_LEVEL;
|
|
@@ -57,8 +57,28 @@ let OutputGatewayConfiguration = class OutputGatewayConfiguration {
|
|
|
57
57
|
shutdownTimeout: process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT, 10) : 60000,
|
|
58
58
|
handlerTimeout: process.env.LIGHTSHIP_HANDLER_TIMEOUT ? parseInt(process.env.LIGHTSHIP_HANDLER_TIMEOUT, 10) : 5000,
|
|
59
59
|
};
|
|
60
|
+
this.featureFlags = {
|
|
61
|
+
enabled: process.env.FEATURE_FLAGS_ENABLED === "true",
|
|
62
|
+
provider: {
|
|
63
|
+
launchDarkly: {
|
|
64
|
+
appId: (_a = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_APP_ID) !== null && _a !== void 0 ? _a : "output-gateway",
|
|
65
|
+
sdkKey: (_b = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_SDK_KEY) !== null && _b !== void 0 ? _b : "sdk-test",
|
|
66
|
+
useOfflineMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_OFFLINE_MODE === "true",
|
|
67
|
+
fileDataSource: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_FILE_DATA_SOURCE,
|
|
68
|
+
useDaemonMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_DAEMON_MODE === "true",
|
|
69
|
+
options: {
|
|
70
|
+
baseUri: (_c = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_BASE_URI) !== null && _c !== void 0 ? _c : "http://localhost:8030",
|
|
71
|
+
redisConn: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CONN,
|
|
72
|
+
redisCacheTtlInSeconds: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS
|
|
73
|
+
? parseInt(process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS)
|
|
74
|
+
: 60,
|
|
75
|
+
redisKeyPrefix: (_d = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_KEY_PREFIX) !== null && _d !== void 0 ? _d : "ld-og",
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
};
|
|
60
80
|
this.vehiclePositions = {
|
|
61
|
-
defaultTimezone: (
|
|
81
|
+
defaultTimezone: (_e = process.env.VEHICLE_POSITIONS_DEFAULT_TIMEZONE) !== null && _e !== void 0 ? _e : "Europe/Prague",
|
|
62
82
|
};
|
|
63
83
|
this.getPaginationMaxLimit = () => {
|
|
64
84
|
if (process.env.PAGINATION_MAX_LIMIT) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputGatewayConfiguration.js","sourceRoot":"","sources":["../../../src/output-gateway/config/OutputGatewayConfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"OutputGatewayConfiguration.js","sourceRoot":"","sources":["../../../src/output-gateway/config/OutputGatewayConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFeatureFlagService } from "../../helpers/data-access/feature-flags";
|
|
2
|
+
import { AbstractFeatureFlagServiceWrapper } from "../../helpers/data-access/feature-flags/helpers";
|
|
3
|
+
import { ILogger } from "../../helpers/logger";
|
|
4
|
+
import { OutputGatewayConfiguration } from "../config/OutputGatewayConfiguration";
|
|
5
|
+
import { Disposable } from "tsyringe";
|
|
6
|
+
export declare class FeatureFlagServiceWrapper extends AbstractFeatureFlagServiceWrapper implements Disposable {
|
|
7
|
+
protected _service: IFeatureFlagService;
|
|
8
|
+
constructor(config: OutputGatewayConfiguration, log: ILogger);
|
|
9
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.FeatureFlagServiceWrapper = void 0;
|
|
16
|
+
const feature_flags_1 = require("../../helpers/data-access/feature-flags");
|
|
17
|
+
const helpers_1 = require("../../helpers/data-access/feature-flags/helpers");
|
|
18
|
+
const OutputGatewayConfiguration_1 = require("../config/OutputGatewayConfiguration");
|
|
19
|
+
const ContainerToken_1 = require("../ioc/ContainerToken");
|
|
20
|
+
const errors_1 = require("@golemio/errors");
|
|
21
|
+
const tsyringe_1 = require("tsyringe");
|
|
22
|
+
let FeatureFlagServiceWrapper = class FeatureFlagServiceWrapper extends helpers_1.AbstractFeatureFlagServiceWrapper {
|
|
23
|
+
constructor(config, log) {
|
|
24
|
+
super();
|
|
25
|
+
const service = new feature_flags_1.FeatureFlagServiceFactory(config.featureFlags, log).getService(feature_flags_1.FeatureFlagsProvider.LaunchDarkly);
|
|
26
|
+
if (!service) {
|
|
27
|
+
throw new errors_1.CustomError(`FeatureFlagServiceFactory returned undefined for provider ${feature_flags_1.FeatureFlagsProvider.LaunchDarkly}`, false, this.constructor.name);
|
|
28
|
+
}
|
|
29
|
+
this._service = service;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
FeatureFlagServiceWrapper = __decorate([
|
|
33
|
+
(0, tsyringe_1.injectable)(),
|
|
34
|
+
__param(0, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Config)),
|
|
35
|
+
__param(1, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Logger)),
|
|
36
|
+
__metadata("design:paramtypes", [OutputGatewayConfiguration_1.OutputGatewayConfiguration, Object])
|
|
37
|
+
], FeatureFlagServiceWrapper);
|
|
38
|
+
exports.FeatureFlagServiceWrapper = FeatureFlagServiceWrapper;
|
|
39
|
+
//# sourceMappingURL=FeatureFlagServiceWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureFlagServiceWrapper.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/FeatureFlagServiceWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2EAA0H;AAC1H,6EAA+F;AAE/F,qFAAmF;AACnF,0DAAwD;AACxD,4CAA8C;AAC9C,uCAA0D;AAG1D,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,2CAAiC;IAG5E,YAA2C,MAAkC,EAAiC,GAAY;QACtH,KAAK,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,IAAI,yCAAyB,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,oCAAoB,CAAC,YAAY,CAAC,CAAC;QACtH,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,oBAAW,CACjB,6DAA6D,oCAAoB,CAAC,YAAY,EAAE,EAChG,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;SACL;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;CACJ,CAAA;AAjBY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,+BAAc,CAAC,MAAM,CAAC,CAAA;IAAsC,WAAA,IAAA,iBAAM,EAAC,+BAAc,CAAC,MAAM,CAAC,CAAA;qCAA1D,uDAA0B;GAHpE,yBAAyB,CAiBrC;AAjBY,8DAAyB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.featureFlagService = void 0;
|
|
4
|
+
const ioc_1 = require("../ioc");
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated For backwards compatibility. Use ioc container instead.
|
|
7
|
+
*/
|
|
8
|
+
exports.featureFlagService = ioc_1.OutputGatewayContainer.resolve(ioc_1.ContainerToken.FeatureFlagService);
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/index.ts"],"names":[],"mappings":";;;AACA,gCAAiE;AAEjE;;GAEG;AACU,QAAA,kBAAkB,GAAG,4BAAsB,CAAC,OAAO,CAAsB,oBAAc,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -12,6 +12,8 @@ const ContainerToken = {
|
|
|
12
12
|
RedisConnector: Symbol(),
|
|
13
13
|
CacheMiddleware: Symbol(),
|
|
14
14
|
MongoDatabase: Symbol(),
|
|
15
|
+
FeatureFlagService: Symbol(),
|
|
16
|
+
FeatureFlagServiceWrapper: Symbol(),
|
|
15
17
|
};
|
|
16
18
|
exports.ContainerToken = ContainerToken;
|
|
17
19
|
//# sourceMappingURL=ContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,2BAA2B,EAAE,MAAM,EAAE;IACrC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,cAAc,EAAE,MAAM,EAAE;IACxB,eAAe,EAAE,MAAM,EAAE;IACzB,aAAa,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,2BAA2B,EAAE,MAAM,EAAE;IACrC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,cAAc,EAAE,MAAM,EAAE;IACxB,eAAe,EAAE,MAAM,EAAE;IACzB,aAAa,EAAE,MAAM,EAAE;IACvB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,yBAAyB,EAAE,MAAM,EAAE;CACtC,CAAC;AAEO,wCAAc"}
|
|
@@ -4,6 +4,7 @@ exports.OutputGatewayContainer = void 0;
|
|
|
4
4
|
const _helpers_1 = require("../../helpers");
|
|
5
5
|
const Di_1 = require("../../helpers/ioc/Di");
|
|
6
6
|
const OutputGatewayConfiguration_1 = require("../config/OutputGatewayConfiguration");
|
|
7
|
+
const FeatureFlagServiceWrapper_1 = require("../data-access/FeatureFlagServiceWrapper");
|
|
7
8
|
const MongoDatabase_1 = require("../database/MongoDatabase");
|
|
8
9
|
const PostgreDatabase_1 = require("../database/PostgreDatabase");
|
|
9
10
|
const CacheMiddleware_1 = require("../redis/CacheMiddleware");
|
|
@@ -36,5 +37,9 @@ OutputGatewayContainer.register(ContainerToken_1.ContainerToken.PostgresDatabase
|
|
|
36
37
|
})
|
|
37
38
|
.registerSingleton(ContainerToken_1.ContainerToken.MongoDatabase, MongoDatabase_1.MongoDatabase)
|
|
38
39
|
.registerSingleton(ContainerToken_1.ContainerToken.RedisConnector, RedisConnector_1.RedisConnector)
|
|
39
|
-
.registerSingleton(ContainerToken_1.ContainerToken.CacheMiddleware, CacheMiddleware_1.CacheMiddleware)
|
|
40
|
+
.registerSingleton(ContainerToken_1.ContainerToken.CacheMiddleware, CacheMiddleware_1.CacheMiddleware)
|
|
41
|
+
.register(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper, FeatureFlagServiceWrapper_1.FeatureFlagServiceWrapper, singletonOptions)
|
|
42
|
+
.register(ContainerToken_1.ContainerToken.FeatureFlagService, {
|
|
43
|
+
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => c.resolve(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper).service),
|
|
44
|
+
});
|
|
40
45
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,4CAAsE;AACtE,6CAAkD;AAClD,qFAAmF;AACnF,6DAA2D;AAC3D,iEAAgE;AAChE,8DAA4D;AAC5D,4DAA0D;AAC1D,uCAA6D;AAC7D,qDAAkD;AAElD,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;AAC5D,MAAM,sBAAsB,GAAG,oBAAe,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,4CAAsE;AACtE,6CAAkD;AAClD,qFAAmF;AACnF,wFAAsF;AACtF,6DAA2D;AAC3D,iEAAgE;AAChE,8DAA4D;AAC5D,4DAA0D;AAC1D,uCAA6D;AAC7D,qDAAkD;AAElD,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;AAC5D,MAAM,sBAAsB,GAAG,oBAAe,CAAC,oBAAoB,EAAE,CAAC;AAgD7D,wDAAsB;AA/C/B,YAAY;AAEZ,iBAAiB;AACjB,sBAAsB,CAAC,iBAAiB,CAAC,+BAAc,CAAC,MAAM,EAAE,uDAA0B,CAAC,CAAC;AAC5F,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAA6B,+BAAc,CAAC,MAAM,CAAC,CAAC;AAEjG,sBAAsB,CAAC,QAAQ,CAAU,+BAAc,CAAC,MAAM,EAAE;IAC5D,UAAU,EAAE,IAAA,iCAAsB,EAAC,GAAG,EAAE,CACpC,IAAA,uBAAY,EAAC;QACT,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,QAAQ,EAAE,MAAM,CAAC,SAAS;KAC7B,CAAC,CACL;CACJ,CAAC,CAAC,gBAAgB,CACf,+BAAc,CAAC,aAAa,EAC5B,IAAA,8BAAmB,EAAC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAU,+BAAc,CAAC,MAAM,CAAC,CAAC,CACvG,CAAC;AACF,YAAY;AAEZ,qBAAqB;AACrB,sBAAsB,CAAC,QAAQ,CAC3B,+BAAc,CAAC,gBAAgB,EAC/B,EAAE,QAAQ,EAAE,kCAAgB,EAAE,EAC9B,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CACrC;KACI,QAAQ,CAAC,+BAAc,CAAC,2BAA2B,EAAE;IAClD,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE,CACrC,CAAC,CAAC,OAAO,CAAmB,+BAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,IAAI,EAAE,CAAC,CACnH;CACJ,CAAC;KACD,QAAQ,CAAC,+BAAc,CAAC,mBAAmB,EAAE;IAC1C,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE,CACrC,CAAC,CAAC,OAAO,CAAmB,+BAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CACzG;CACJ,CAAC;KACD,iBAAiB,CAAC,+BAAc,CAAC,aAAa,EAAE,6BAAa,CAAC;KAC9D,iBAAiB,CAAC,+BAAc,CAAC,cAAc,EAAE,+BAAc,CAAC;KAChE,iBAAiB,CAAC,+BAAc,CAAC,eAAe,EAAE,iCAAe,CAAC;KAClE,QAAQ,CAAC,+BAAc,CAAC,yBAAyB,EAAE,qDAAyB,EAAE,gBAAgB,CAAC;KAC/F,QAAQ,CAAC,+BAAc,CAAC,kBAAkB,EAAE;IACzC,UAAU,EAAE,IAAA,iCAAsB,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAA4B,+BAAc,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAChG;CACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/core",
|
|
3
|
-
"version": "1.3.1-dev.
|
|
3
|
+
"version": "1.3.1-dev.753243556",
|
|
4
4
|
"description": "Golemio Core Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -110,6 +110,8 @@
|
|
|
110
110
|
"geojson": "^0.5.0",
|
|
111
111
|
"iconv-lite": "^0.6.2",
|
|
112
112
|
"ioredis": "^4.28.5",
|
|
113
|
+
"launchdarkly-node-server-sdk": "^7.0.0",
|
|
114
|
+
"launchdarkly-node-server-sdk-redis": "^2.1.0",
|
|
113
115
|
"lightship": "^6.7.2",
|
|
114
116
|
"luxon": "^2.5.2",
|
|
115
117
|
"moment-timezone": "^0.5.26",
|