starta.microservice 0.1.2209
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/lib/Exception.d.ts +21 -0
- package/lib/Exception.js +56 -0
- package/lib/Exception.js.map +1 -0
- package/lib/adapters/aws/index.d.ts +5 -0
- package/lib/adapters/aws/index.js +15 -0
- package/lib/adapters/aws/index.js.map +1 -0
- package/lib/adapters/database/DBScripts/BaseMigration.d.ts +11 -0
- package/lib/adapters/database/DBScripts/BaseMigration.js +12 -0
- package/lib/adapters/database/DBScripts/BaseMigration.js.map +1 -0
- package/lib/adapters/database/DBScripts/DBInitialise.d.ts +4 -0
- package/lib/adapters/database/DBScripts/DBInitialise.js +22 -0
- package/lib/adapters/database/DBScripts/DBInitialise.js.map +1 -0
- package/lib/adapters/database/index.d.ts +25 -0
- package/lib/adapters/database/index.js +88 -0
- package/lib/adapters/database/index.js.map +1 -0
- package/lib/adapters/logger/index.d.ts +14 -0
- package/lib/adapters/logger/index.js +113 -0
- package/lib/adapters/logger/index.js.map +1 -0
- package/lib/adapters/rabbitmq/index.d.ts +17 -0
- package/lib/adapters/rabbitmq/index.js +145 -0
- package/lib/adapters/rabbitmq/index.js.map +1 -0
- package/lib/adapters/redisService/Listener.d.ts +10 -0
- package/lib/adapters/redisService/Listener.js +35 -0
- package/lib/adapters/redisService/Listener.js.map +1 -0
- package/lib/adapters/redisService/Publisher.d.ts +7 -0
- package/lib/adapters/redisService/Publisher.js +38 -0
- package/lib/adapters/redisService/Publisher.js.map +1 -0
- package/lib/adapters/redisService/RedisAdapter.d.ts +29 -0
- package/lib/adapters/redisService/RedisAdapter.js +161 -0
- package/lib/adapters/redisService/RedisAdapter.js.map +1 -0
- package/lib/adapters/redisService/index.d.ts +71 -0
- package/lib/adapters/redisService/index.js +337 -0
- package/lib/adapters/redisService/index.js.map +1 -0
- package/lib/adapters/redisService/types.d.ts +14 -0
- package/lib/adapters/redisService/types.js +3 -0
- package/lib/adapters/redisService/types.js.map +1 -0
- package/lib/config.d.ts +103 -0
- package/lib/config.js +126 -0
- package/lib/config.js.map +1 -0
- package/lib/entities/Account.d.ts +191 -0
- package/lib/entities/Account.js +62 -0
- package/lib/entities/Account.js.map +1 -0
- package/lib/entities/Base.d.ts +29 -0
- package/lib/entities/Base.js +62 -0
- package/lib/entities/Base.js.map +1 -0
- package/lib/entities/Version.d.ts +6 -0
- package/lib/entities/Version.js +10 -0
- package/lib/entities/Version.js.map +1 -0
- package/lib/entities/types/index.d.ts +108 -0
- package/lib/entities/types/index.js +3 -0
- package/lib/entities/types/index.js.map +1 -0
- package/lib/helpers/index.d.ts +24 -0
- package/lib/helpers/index.js +151 -0
- package/lib/helpers/index.js.map +1 -0
- package/lib/repositories/Repository.d.ts +39 -0
- package/lib/repositories/Repository.js +403 -0
- package/lib/repositories/Repository.js.map +1 -0
- package/lib/repositories/index.d.ts +6 -0
- package/lib/repositories/index.js +16 -0
- package/lib/repositories/index.js.map +1 -0
- package/lib/repositories/types/AggregateOptions.d.ts +4 -0
- package/lib/repositories/types/AggregateOptions.js +6 -0
- package/lib/repositories/types/AggregateOptions.js.map +1 -0
- package/lib/repositories/types/FindOptions.d.ts +16 -0
- package/lib/repositories/types/FindOptions.js +6 -0
- package/lib/repositories/types/FindOptions.js.map +1 -0
- package/lib/repositories/types/IQuery.d.ts +4 -0
- package/lib/repositories/types/IQuery.js +3 -0
- package/lib/repositories/types/IQuery.js.map +1 -0
- package/lib/repositories/types/JoinOptions.d.ts +8 -0
- package/lib/repositories/types/JoinOptions.js +6 -0
- package/lib/repositories/types/JoinOptions.js.map +1 -0
- package/lib/services/ServiceExecutor.d.ts +16 -0
- package/lib/services/ServiceExecutor.js +169 -0
- package/lib/services/ServiceExecutor.js.map +1 -0
- package/lib/services/ServiceExecutorHandler.d.ts +13 -0
- package/lib/services/ServiceExecutorHandler.js +323 -0
- package/lib/services/ServiceExecutorHandler.js.map +1 -0
- package/lib/services/ServiceFactoryBase.d.ts +15 -0
- package/lib/services/ServiceFactoryBase.js +11 -0
- package/lib/services/ServiceFactoryBase.js.map +1 -0
- package/lib/services/ServiceHandlerBase.d.ts +30 -0
- package/lib/services/ServiceHandlerBase.js +113 -0
- package/lib/services/ServiceHandlerBase.js.map +1 -0
- package/lib/services/dataSelectors.d.ts +38 -0
- package/lib/services/dataSelectors.js +60 -0
- package/lib/services/dataSelectors.js.map +1 -0
- package/lib/timeProvider.d.ts +14 -0
- package/lib/timeProvider.js +37 -0
- package/lib/timeProvider.js.map +1 -0
- package/lib/types/index.d.ts +72 -0
- package/lib/types/index.js +14 -0
- package/lib/types/index.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _Listener_redisClientSub;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
class Listener {
|
|
16
|
+
constructor(redisClientDB) {
|
|
17
|
+
_Listener_redisClientSub.set(this, void 0);
|
|
18
|
+
__classPrivateFieldSet(this, _Listener_redisClientSub, redisClientDB, "f"); //redisClientDB.duplicate();
|
|
19
|
+
}
|
|
20
|
+
psubscribe(pattern) {
|
|
21
|
+
return __classPrivateFieldGet(this, _Listener_redisClientSub, "f").psubscribe(pattern);
|
|
22
|
+
}
|
|
23
|
+
subscribe(channel) {
|
|
24
|
+
return __classPrivateFieldGet(this, _Listener_redisClientSub, "f").subscribe(channel);
|
|
25
|
+
}
|
|
26
|
+
on(channel, cb) {
|
|
27
|
+
return __classPrivateFieldGet(this, _Listener_redisClientSub, "f").on(channel, cb);
|
|
28
|
+
}
|
|
29
|
+
unsubscribe() {
|
|
30
|
+
__classPrivateFieldGet(this, _Listener_redisClientSub, "f").unsubscribe();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
_Listener_redisClientSub = new WeakMap();
|
|
34
|
+
exports.default = Listener;
|
|
35
|
+
//# sourceMappingURL=Listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Listener.js","sourceRoot":"","sources":["../../../src/adapters/redisService/Listener.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,MAAM,QAAQ;IAGZ,YAAY,aAAqB;QAFjC,2CAAwB;QAGtB,uBAAA,IAAI,4BAAmB,aAAa,MAAA,CAAC,CAAC,4BAA4B;IACpE,CAAC;IAED,UAAU,CAAC,OAAO;QAChB,OAAO,uBAAA,IAAI,gCAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,OAAO;QACf,OAAO,uBAAA,IAAI,gCAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,EAAE,CAAC,OAAO,EAAE,EAAE;QACZ,OAAO,uBAAA,IAAI,gCAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,uBAAA,IAAI,gCAAgB,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;CACF;;AACD,kBAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
12
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
13
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
14
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
15
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
16
|
+
};
|
|
17
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
18
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
21
|
+
};
|
|
22
|
+
var _Publisher_redisClientPub;
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
const util_1 = require("util");
|
|
25
|
+
class Publisher {
|
|
26
|
+
constructor(redisClientPub) {
|
|
27
|
+
_Publisher_redisClientPub.set(this, void 0);
|
|
28
|
+
__classPrivateFieldSet(this, _Publisher_redisClientPub, redisClientPub, "f");
|
|
29
|
+
}
|
|
30
|
+
publish(channel, message) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
return yield (0, util_1.promisify)(__classPrivateFieldGet(this, _Publisher_redisClientPub, "f").publish.bind(__classPrivateFieldGet(this, _Publisher_redisClientPub, "f")))(channel, message);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
_Publisher_redisClientPub = new WeakMap();
|
|
37
|
+
exports.default = Publisher;
|
|
38
|
+
//# sourceMappingURL=Publisher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Publisher.js","sourceRoot":"","sources":["../../../src/adapters/redisService/Publisher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,+BAAiC;AAEjC,MAAM,SAAS;IAGb,YAAY,cAAsB;QAFlC,4CAAwB;QAGtB,uBAAA,IAAI,6BAAmB,cAAc,MAAA,CAAC;IACxC,CAAC;IAEK,OAAO,CAAC,OAAe,EAAE,OAAe;;YAC5C,OAAO,MAAM,IAAA,gBAAS,EAAC,uBAAA,IAAI,iCAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAA,IAAI,iCAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpG,CAAC;KAAA;CACF;;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Redlock from 'redlock';
|
|
2
|
+
import Publisher from './Publisher';
|
|
3
|
+
import Listener from './Listener';
|
|
4
|
+
import ServerLogger from '../../adapters/logger';
|
|
5
|
+
declare class RedisService {
|
|
6
|
+
redisPublisher: Publisher;
|
|
7
|
+
redlock: any;
|
|
8
|
+
logger: ServerLogger;
|
|
9
|
+
constructor(logger: ServerLogger);
|
|
10
|
+
checkLiveness(): Promise<boolean>;
|
|
11
|
+
disconnect(): Promise<unknown>;
|
|
12
|
+
getPublisher(): Publisher;
|
|
13
|
+
createListener(): Listener;
|
|
14
|
+
getLocker(): Redlock;
|
|
15
|
+
_getVar(key: string): Promise<string>;
|
|
16
|
+
_getVarExpirationTime(key: string): Promise<any>;
|
|
17
|
+
_setVar(key: string, variable: string, expirationTime?: number): Promise<any>;
|
|
18
|
+
_setVarIfNotExits(key: string, variable: string): Promise<any>;
|
|
19
|
+
_getHash<T>(key: string): Promise<T>;
|
|
20
|
+
_setHash(key: string, object: object, expirationTime?: number): Promise<any>;
|
|
21
|
+
_deleteHash(key: string): Promise<number>;
|
|
22
|
+
flushAll(): Promise<any>;
|
|
23
|
+
_resetExpireTimeout(key: string, expirationTime: number): Promise<any>;
|
|
24
|
+
_increment(key: string): Promise<number>;
|
|
25
|
+
_decrement(key: string): Promise<number>;
|
|
26
|
+
keys(pattern: any): Promise<string[]>;
|
|
27
|
+
emitEvent(eventName: any, message: any): Promise<any>;
|
|
28
|
+
}
|
|
29
|
+
export default RedisService;
|
|
@@ -0,0 +1,161 @@
|
|
|
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
|
+
const redlock_1 = __importDefault(require("redlock"));
|
|
16
|
+
const config_1 = __importDefault(require("../../config"));
|
|
17
|
+
const Publisher_1 = __importDefault(require("./Publisher"));
|
|
18
|
+
const Listener_1 = __importDefault(require("./Listener"));
|
|
19
|
+
const util_1 = require("util");
|
|
20
|
+
const ioredis_1 = __importDefault(require("ioredis"));
|
|
21
|
+
const redisClientListener = new ioredis_1.default({ host: config_1.default.redis.host, port: config_1.default.redis.port });
|
|
22
|
+
const redisClientPublisher = new ioredis_1.default({ host: config_1.default.redis.host, port: config_1.default.redis.port });
|
|
23
|
+
const redlockClient = new ioredis_1.default({ host: config_1.default.redis.host, port: config_1.default.redis.port });
|
|
24
|
+
redisClientListener.config('SET', 'notify-keyspace-events', 'AKE', () => {
|
|
25
|
+
//ok for aws
|
|
26
|
+
});
|
|
27
|
+
const redlock = new redlock_1.default([redlockClient], // should be odd number
|
|
28
|
+
{
|
|
29
|
+
driftFactor: 0.01,
|
|
30
|
+
retryCount: 1000,
|
|
31
|
+
retryDelay: 100,
|
|
32
|
+
retryJitter: 100,
|
|
33
|
+
});
|
|
34
|
+
//68yieSWrrv8bWzG
|
|
35
|
+
redlock.on('clientError', (err) => {
|
|
36
|
+
throw new Error(`A redis error has occurred: ${err}`);
|
|
37
|
+
});
|
|
38
|
+
class RedisService {
|
|
39
|
+
constructor(logger) {
|
|
40
|
+
this.redisPublisher = this.getPublisher();
|
|
41
|
+
this.redlock = redlock;
|
|
42
|
+
this.logger = logger;
|
|
43
|
+
}
|
|
44
|
+
checkLiveness() {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
return yield (0, util_1.promisify)(redisClientPublisher.ping.bind(redisClientPublisher))();
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
disconnect() {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
this.logger.generic.info('shutting down redisClientPublisher');
|
|
53
|
+
redisClientPublisher.quit((err) => {
|
|
54
|
+
if (err) {
|
|
55
|
+
this.logger.internalError(err, 'Unable to redisClientPublisher.quit');
|
|
56
|
+
}
|
|
57
|
+
this.logger.generic.info('shutting down redisClientListener');
|
|
58
|
+
redisClientListener.quit((err) => {
|
|
59
|
+
if (err) {
|
|
60
|
+
this.logger.internalError(err, 'Unable to redisClientListener.quit');
|
|
61
|
+
}
|
|
62
|
+
this.logger.generic.info('shutting down redlockClient');
|
|
63
|
+
redlockClient.quit((err) => {
|
|
64
|
+
if (err) {
|
|
65
|
+
this.logger.internalError(err, 'Unable to redlockClient.quit');
|
|
66
|
+
}
|
|
67
|
+
this.logger.generic.info('all the redises are down');
|
|
68
|
+
resolve(null);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
getPublisher() {
|
|
76
|
+
return new Publisher_1.default(redisClientPublisher);
|
|
77
|
+
}
|
|
78
|
+
createListener() {
|
|
79
|
+
return new Listener_1.default(redisClientListener);
|
|
80
|
+
}
|
|
81
|
+
getLocker() {
|
|
82
|
+
return this.redlock;
|
|
83
|
+
}
|
|
84
|
+
_getVar(key) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
return yield (0, util_1.promisify)(redisClientPublisher.get.bind(redisClientPublisher))(key.toLowerCase());
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
_getVarExpirationTime(key) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
return yield (0, util_1.promisify)(redisClientPublisher.ttl.bind(redisClientPublisher))(key.toLocaleLowerCase());
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
_setVar(key, variable, expirationTime = null) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
const set = (k, v, e, callback) => {
|
|
97
|
+
if (e) {
|
|
98
|
+
redisClientPublisher.setex(k, e, v, callback);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
redisClientPublisher.set(k, v, callback);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
return yield (0, util_1.promisify)(set.bind(redisClientPublisher))(key.toLowerCase(), variable, expirationTime);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
_setVarIfNotExits(key, variable) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
return yield (0, util_1.promisify)(redisClientPublisher.setnx.bind(redisClientPublisher))(key.toLowerCase(), variable);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
_getHash(key) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
const value = yield this._getVar(key);
|
|
115
|
+
return JSON.parse(value);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
_setHash(key, object, expirationTime = null) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
return yield this._setVar(key, JSON.stringify(object), expirationTime);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
_deleteHash(key) {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
const del = (s, c) => redisClientPublisher.del(s, c);
|
|
126
|
+
return yield (0, util_1.promisify)(del.bind(redisClientPublisher))(key.toLowerCase());
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
flushAll() {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
return yield (0, util_1.promisify)(redisClientPublisher.flushall.bind(redisClientPublisher))();
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
_resetExpireTimeout(key, expirationTime) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
return yield (0, util_1.promisify)(redisClientPublisher.expire.bind(redisClientPublisher))(key.toLowerCase(), expirationTime);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
_increment(key) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
return yield (0, util_1.promisify)(redisClientPublisher.incr.bind(redisClientPublisher))(key.toLowerCase());
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
_decrement(key) {
|
|
145
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
return yield (0, util_1.promisify)(redisClientPublisher.decr.bind(redisClientPublisher))(key.toLowerCase());
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
keys(pattern) {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
return yield (0, util_1.promisify)(redisClientPublisher.keys)(pattern);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
emitEvent(eventName, message) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
return yield this.redisPublisher.publish(eventName, JSON.stringify(message));
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.default = RedisService;
|
|
161
|
+
//# sourceMappingURL=RedisAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedisAdapter.js","sourceRoot":"","sources":["../../../src/adapters/redisService/RedisAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AccountType, PermissionsMap } from '../../types';
|
|
2
|
+
import ServerLogger from '../../adapters/logger';
|
|
3
|
+
import { LandingInfo } from './types';
|
|
4
|
+
declare class RedisService {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(logger: ServerLogger);
|
|
7
|
+
disconnect(): Promise<void>;
|
|
8
|
+
checkLiveness(): Promise<boolean>;
|
|
9
|
+
flushAll(): Promise<any>;
|
|
10
|
+
getLocker(): import("redlock").default;
|
|
11
|
+
createListener(): import("./Listener").default;
|
|
12
|
+
emitEvent(eventName: any, message: any): Promise<any>;
|
|
13
|
+
getLandingPage(version: any, lang: any): Promise<string>;
|
|
14
|
+
getOrganizationInfo(prganizationLogin: any): Promise<LandingInfo>;
|
|
15
|
+
setOrganizationInfo(prganizationLogin: any, landingMetaInfo: LandingInfo): Promise<any>;
|
|
16
|
+
_tryLockWithTimeout(key: any, timeout: any): Promise<boolean>;
|
|
17
|
+
tryLockEmailConfirmation(login: any): Promise<boolean>;
|
|
18
|
+
resetEmailConfirmation(login: any): Promise<number>;
|
|
19
|
+
getRemainingEmailConfirmationLockTime(login: any): Promise<number>;
|
|
20
|
+
tryLockPhoneConfirmation(login: any): Promise<boolean>;
|
|
21
|
+
resetPhoneConfirmation(login: any): Promise<number>;
|
|
22
|
+
getRemainingPhoneConfirmationLockTime(login: any): Promise<number>;
|
|
23
|
+
clearConfirmationAttemptAvailability(login: any): Promise<number>;
|
|
24
|
+
getSecondsTillConfirmationAvailable(login: any): Promise<number>;
|
|
25
|
+
setLandingPage(version: any, lang: any, value: any): Promise<any>;
|
|
26
|
+
getNextCustomerId(login: any): Promise<number>;
|
|
27
|
+
incrementInstancesCount(version: any): Promise<number>;
|
|
28
|
+
decrementInstancesCount(version: any): Promise<number>;
|
|
29
|
+
setCurrentCustomerId(login: any, id: any): Promise<any>;
|
|
30
|
+
setIssueRevisionFresh(project: any, id: any, login: any): Promise<void>;
|
|
31
|
+
resetIssueRevisionFreshTimeout(project: any, id: any, login: any, expirationTime: any): Promise<void>;
|
|
32
|
+
getSession(sessionId: any): Promise<any>;
|
|
33
|
+
createSession({ id, ...sessionData }: {
|
|
34
|
+
[x: string]: any;
|
|
35
|
+
id: any;
|
|
36
|
+
}): Promise<any>;
|
|
37
|
+
enableAccessForIp(ip: any): Promise<any>;
|
|
38
|
+
isAccessForIpEnabled(ip: any): Promise<boolean>;
|
|
39
|
+
updateSession({ id, ...sessionData }: {
|
|
40
|
+
[x: string]: any;
|
|
41
|
+
id: any;
|
|
42
|
+
}): Promise<any>;
|
|
43
|
+
createView(viewString: any, expirationTime: any): Promise<any>;
|
|
44
|
+
deleteSession(sessionId: any): Promise<number>;
|
|
45
|
+
resetSessionExpireTimeout(sessionId: any, expirationTime: any): Promise<any>;
|
|
46
|
+
getOrganizationRole(accountLogin: any, organizationLogin: any): Promise<unknown>;
|
|
47
|
+
setOrganizationMemberPermissions(organizationLogin: string, accountLogin: string, permissions: PermissionsMap): Promise<any>;
|
|
48
|
+
deleteOrganizationMemberPermissions(organizationLogin: string, accountLogin: string): Promise<number>;
|
|
49
|
+
getOrganizationMemberPermissions(organizationLogin: string, accountLogin: string): Promise<PermissionsMap>;
|
|
50
|
+
setOrganizationRole(accountLogin: any, organizationLogin: any, roleData: any): Promise<any>;
|
|
51
|
+
removeOrganizationRole(accountLogin: any, organizationLogin: any): Promise<number>;
|
|
52
|
+
getOrganizationPrivacy(organizationLogin: any): Promise<string>;
|
|
53
|
+
setOrganizationPrivacy(organizationLogin: any, isPrivate: any): Promise<any>;
|
|
54
|
+
getRestorePasswordToken(token: any): Promise<unknown>;
|
|
55
|
+
setRestorePasswordToken(token: any, accountLogin: any, timeout: any): Promise<any>;
|
|
56
|
+
deleteRestorePasswordToken(token: any): Promise<number>;
|
|
57
|
+
getAccountType(login: any): Promise<AccountType>;
|
|
58
|
+
setAccountType(login: any, accountType: AccountType): Promise<any>;
|
|
59
|
+
getAdminPermissions(login: any): Promise<Object>;
|
|
60
|
+
setAdminPermissions(login: any, permissions: any): Promise<any>;
|
|
61
|
+
removeAdminPermissions(login: any): Promise<any>;
|
|
62
|
+
getProjectRole(accountLogin: any, projectId: any, projectOwner: any): Promise<unknown>;
|
|
63
|
+
setProjectRole(accountLogin: any, projectId: any, projectOwner: any, roleData: any): Promise<any>;
|
|
64
|
+
removeProjectRole(accountLogin: any, projectId: any, projectOwner: any): Promise<number>;
|
|
65
|
+
getProjectPrivacy(projectId: any, projectOwner: any): Promise<string>;
|
|
66
|
+
setProjectPrivacy(projectId: any, projectOwner: any, isPrivate: any): Promise<any>;
|
|
67
|
+
getJobOwnerByJobId(jobId: any): Promise<unknown>;
|
|
68
|
+
setJobOwnerByJobId(jobId: any, ownerData: any): Promise<any>;
|
|
69
|
+
updateMeeting(meetingId: any, notifyTime: any, expirationTime: any): Promise<any>;
|
|
70
|
+
}
|
|
71
|
+
export default RedisService;
|