@xitkov/core 2.4.9
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/README.md +256 -0
- package/lib/app.d.ts +75 -0
- package/lib/app.js +143 -0
- package/lib/app.js.map +1 -0
- package/lib/errors/index.d.ts +25 -0
- package/lib/errors/index.js +41 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/hooks/business.d.ts +1 -0
- package/lib/hooks/business.js +26 -0
- package/lib/hooks/business.js.map +1 -0
- package/lib/hooks/hooks.d.ts +4 -0
- package/lib/hooks/hooks.js +66 -0
- package/lib/hooks/hooks.js.map +1 -0
- package/lib/hooks/index.d.ts +3 -0
- package/lib/hooks/index.js +20 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/types.d.ts +9 -0
- package/lib/hooks/types.js +3 -0
- package/lib/hooks/types.js.map +1 -0
- package/lib/index.d.ts +17 -0
- package/lib/index.js +23 -0
- package/lib/index.js.map +1 -0
- package/lib/libs/cache.d.ts +7 -0
- package/lib/libs/cache.js +22 -0
- package/lib/libs/cache.js.map +1 -0
- package/lib/libs/index.d.ts +5 -0
- package/lib/libs/index.js +22 -0
- package/lib/libs/index.js.map +1 -0
- package/lib/libs/logs.d.ts +5 -0
- package/lib/libs/logs.js +26 -0
- package/lib/libs/logs.js.map +1 -0
- package/lib/libs/queue.d.ts +21 -0
- package/lib/libs/queue.js +49 -0
- package/lib/libs/queue.js.map +1 -0
- package/lib/libs/socket.d.ts +8 -0
- package/lib/libs/socket.js +26 -0
- package/lib/libs/socket.js.map +1 -0
- package/lib/libs/utils.d.ts +8 -0
- package/lib/libs/utils.js +28 -0
- package/lib/libs/utils.js.map +1 -0
- package/lib/logger/index.d.ts +11 -0
- package/lib/logger/index.js +50 -0
- package/lib/logger/index.js.map +1 -0
- package/lib/services/auth.d.ts +19 -0
- package/lib/services/auth.js +41 -0
- package/lib/services/auth.js.map +1 -0
- package/lib/services/databases/index.d.ts +3 -0
- package/lib/services/databases/index.js +20 -0
- package/lib/services/databases/index.js.map +1 -0
- package/lib/services/databases/mongo-service.d.ts +26 -0
- package/lib/services/databases/mongo-service.js +55 -0
- package/lib/services/databases/mongo-service.js.map +1 -0
- package/lib/services/databases/postgres-service.d.ts +28 -0
- package/lib/services/databases/postgres-service.js +126 -0
- package/lib/services/databases/postgres-service.js.map +1 -0
- package/lib/services/databases/types.d.ts +26 -0
- package/lib/services/databases/types.js +3 -0
- package/lib/services/databases/types.js.map +1 -0
- package/lib/services/index.d.ts +6 -0
- package/lib/services/index.js +23 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/micro-service.d.ts +60 -0
- package/lib/services/micro-service.js +146 -0
- package/lib/services/micro-service.js.map +1 -0
- package/lib/services/register-micro-services.d.ts +1 -0
- package/lib/services/register-micro-services.js +41 -0
- package/lib/services/register-micro-services.js.map +1 -0
- package/lib/services/register-services.d.ts +5 -0
- package/lib/services/register-services.js +272 -0
- package/lib/services/register-services.js.map +1 -0
- package/lib/services/service.d.ts +46 -0
- package/lib/services/service.js +63 -0
- package/lib/services/service.js.map +1 -0
- package/package.json +49 -0
- package/src/app.ts +182 -0
- package/src/errors/index.ts +37 -0
- package/src/hooks/business.ts +23 -0
- package/src/hooks/hooks.ts +60 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/types.ts +9 -0
- package/src/index.ts +18 -0
- package/src/libs/cache.ts +25 -0
- package/src/libs/index.ts +5 -0
- package/src/libs/logs.ts +21 -0
- package/src/libs/queue.ts +48 -0
- package/src/libs/socket.ts +28 -0
- package/src/libs/utils.ts +28 -0
- package/src/logger/index.ts +49 -0
- package/src/services/auth.ts +48 -0
- package/src/services/databases/index.ts +3 -0
- package/src/services/databases/mongo-service.ts +75 -0
- package/src/services/databases/postgres-service.ts +149 -0
- package/src/services/databases/types.ts +29 -0
- package/src/services/index.ts +6 -0
- package/src/services/micro-service.ts +188 -0
- package/src/services/register-micro-services.ts +37 -0
- package/src/services/register-services.ts +268 -0
- package/src/services/service.ts +118 -0
|
@@ -0,0 +1,20 @@
|
|
|
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("./hooks"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./business"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,6CAA0B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":""}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './services';
|
|
2
|
+
export * from './errors';
|
|
3
|
+
export * from './hooks';
|
|
4
|
+
export * from './libs';
|
|
5
|
+
export * from './logger';
|
|
6
|
+
export * from './app';
|
|
7
|
+
export interface ServiceTypes {
|
|
8
|
+
[service: string]: any;
|
|
9
|
+
}
|
|
10
|
+
export interface MicroServiceNames {
|
|
11
|
+
[microService: string]: {
|
|
12
|
+
[service: string]: any;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface SubMicroServiceNames {
|
|
16
|
+
[service: string]: any;
|
|
17
|
+
}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
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("./services"), exports);
|
|
18
|
+
__exportStar(require("./errors"), exports);
|
|
19
|
+
__exportStar(require("./hooks"), exports);
|
|
20
|
+
__exportStar(require("./libs"), exports);
|
|
21
|
+
__exportStar(require("./logger"), exports);
|
|
22
|
+
__exportStar(require("./app"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAyB;AACzB,0CAAwB;AACxB,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Cache = void 0;
|
|
4
|
+
class Cache {
|
|
5
|
+
static async set(key, value, expirationInSeconds = 600) {
|
|
6
|
+
await Cache.client.set(key, JSON.stringify(value));
|
|
7
|
+
await Cache.client.expire(key, expirationInSeconds);
|
|
8
|
+
}
|
|
9
|
+
static async get(key) {
|
|
10
|
+
const cacheData = await Cache.client.get(key);
|
|
11
|
+
if (!cacheData) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const data = JSON.parse(cacheData);
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
static async delete(key) {
|
|
18
|
+
await Cache.client.del(key);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Cache = Cache;
|
|
22
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/libs/cache.ts"],"names":[],"mappings":";;;AAEA,MAAa,KAAK;IAEhB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,mBAAmB,GAAG,GAAG;QACjE,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAW;QAC1B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CAEF;AArBD,sBAqBC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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("./queue"), exports);
|
|
18
|
+
__exportStar(require("./socket"), exports);
|
|
19
|
+
__exportStar(require("./logs"), exports);
|
|
20
|
+
__exportStar(require("./utils"), exports);
|
|
21
|
+
__exportStar(require("./cache"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB"}
|
package/lib/libs/logs.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InternalLogs = void 0;
|
|
7
|
+
const winston_1 = __importDefault(require("winston"));
|
|
8
|
+
const express_winston_1 = __importDefault(require("express-winston"));
|
|
9
|
+
class InternalLogs {
|
|
10
|
+
static middleware(options) {
|
|
11
|
+
return express_winston_1.default.logger({
|
|
12
|
+
transports: [
|
|
13
|
+
new winston_1.default.transports.Console()
|
|
14
|
+
],
|
|
15
|
+
format: winston_1.default.format.combine(winston_1.default.format.json()),
|
|
16
|
+
meta: true,
|
|
17
|
+
msg: "HTTP {{req.method}} {{req.url}}",
|
|
18
|
+
expressFormat: true,
|
|
19
|
+
colorize: false,
|
|
20
|
+
ignoreRoute: function (req, res) { return false; },
|
|
21
|
+
...(options !== null && options !== void 0 ? options : {})
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.InternalLogs = InternalLogs;
|
|
26
|
+
//# sourceMappingURL=logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/libs/logs.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,sEAA6C;AAE7C,MAAa,YAAY;IACrB,MAAM,CAAC,UAAU,CAAC,OAA+C;QAC7D,OAAO,yBAAc,CAAC,MAAM,CAAC;YACzB,UAAU,EAAE;gBACV,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;aACjC;YACD,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACtB;YACD,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,iCAAiC;YACtC,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,UAAU,GAAG,EAAE,GAAG,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC;YAClD,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;SACrB,CAAC,CAAA;IACN,CAAC;CACJ;AAjBD,oCAiBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import BullQueue from 'bull';
|
|
2
|
+
export declare class Queue<T = any> {
|
|
3
|
+
readonly queue: BullQueue.Queue<T>;
|
|
4
|
+
private readonly queueName;
|
|
5
|
+
constructor(name: string, redisUrl: string, opts?: BullQueue.QueueOptions);
|
|
6
|
+
add(data: T, opts?: BullQueue.JobOptions): Promise<BullQueue.Job<T>>;
|
|
7
|
+
get consume(): {
|
|
8
|
+
(callback: BullQueue.ProcessCallbackFunction<T>): Promise<void>;
|
|
9
|
+
(callback: BullQueue.ProcessPromiseFunction<T>): Promise<void>;
|
|
10
|
+
(callback: string): Promise<void>;
|
|
11
|
+
(concurrency: number, callback: BullQueue.ProcessCallbackFunction<T>): Promise<void>;
|
|
12
|
+
(concurrency: number, callback: BullQueue.ProcessPromiseFunction<T>): Promise<void>;
|
|
13
|
+
(concurrency: number, callback: string): Promise<void>;
|
|
14
|
+
(name: string, callback: BullQueue.ProcessCallbackFunction<T>): Promise<void>;
|
|
15
|
+
(name: string, callback: BullQueue.ProcessPromiseFunction<T>): Promise<void>;
|
|
16
|
+
(name: string, callback: string): Promise<void>;
|
|
17
|
+
(name: string, concurrency: number, callback: BullQueue.ProcessCallbackFunction<T>): Promise<void>;
|
|
18
|
+
(name: string, concurrency: number, callback: BullQueue.ProcessPromiseFunction<T>): Promise<void>;
|
|
19
|
+
(name: string, concurrency: number, callback: string): Promise<void>;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Queue = void 0;
|
|
7
|
+
const bull_1 = __importDefault(require("bull"));
|
|
8
|
+
const logger_1 = require("../logger");
|
|
9
|
+
class Queue {
|
|
10
|
+
constructor(name, redisUrl, opts = {}) {
|
|
11
|
+
var _a;
|
|
12
|
+
const defaultOpts = {
|
|
13
|
+
limiter: {
|
|
14
|
+
duration: 50000,
|
|
15
|
+
max: 30,
|
|
16
|
+
},
|
|
17
|
+
...opts
|
|
18
|
+
};
|
|
19
|
+
const env = (_a = process.env.ENVIRONMENT) !== null && _a !== void 0 ? _a : 'dev';
|
|
20
|
+
let queueName = `${name}_${env}`;
|
|
21
|
+
if (/prod/gi.test(env) && !/pre/gi.test(env)) {
|
|
22
|
+
queueName = name;
|
|
23
|
+
}
|
|
24
|
+
this.queue = new bull_1.default(queueName, redisUrl, defaultOpts);
|
|
25
|
+
this.queueName = queueName;
|
|
26
|
+
this.queue.on('completed', function (job, result) {
|
|
27
|
+
const payload = { job, result };
|
|
28
|
+
logger_1.Logger.info(`Completed ${queueName}: `, payload);
|
|
29
|
+
});
|
|
30
|
+
this.queue.on('failed', async function (job, error) {
|
|
31
|
+
const payload = { job, error };
|
|
32
|
+
logger_1.Logger.info(`Failed ${queueName}: `, payload);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async add(data, opts) {
|
|
36
|
+
const options = {
|
|
37
|
+
removeOnComplete: true,
|
|
38
|
+
removeOnFail: true,
|
|
39
|
+
attempts: 1,
|
|
40
|
+
...(opts !== null && opts !== void 0 ? opts : {})
|
|
41
|
+
};
|
|
42
|
+
return this.queue.add(data, options);
|
|
43
|
+
}
|
|
44
|
+
get consume() {
|
|
45
|
+
return this.queue.process;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.Queue = Queue;
|
|
49
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/libs/queue.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA6B;AAC7B,sCAAmC;AAEnC,MAAa,KAAK;IAIhB,YAAY,IAAY,EAAE,QAAgB,EAAE,OAA+B,EAAE;;QAC3E,MAAM,WAAW,GAA2B;YAC1C,OAAO,EAAE;gBACP,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,EAAE;aACR;YACD,GAAG,IAAI;SACR,CAAA;QACD,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,WAAW,mCAAI,KAAK,CAAC;QAC7C,IAAI,SAAS,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,CAAA;QAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC5C,SAAS,GAAG,IAAI,CAAA;SACjB;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,cAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,GAAG,EAAE,MAAM;YAC9C,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;YAC/B,eAAM,CAAC,IAAI,CAAC,aAAa,SAAS,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,WAAW,GAAG,EAAE,KAAK;YAChD,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YAC9B,eAAM,CAAC,IAAI,CAAC,UAAU,SAAS,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAO,EAAE,IAA2B;QAC5C,MAAM,OAAO,GAAyB;YACpC,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;SAChB,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;CACF;AA5CD,sBA4CC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DefaultEventsMap } from "socket.io/dist/typed-events";
|
|
2
|
+
import { Server, Socket as SocketIO } from "socket.io";
|
|
3
|
+
export declare class Socket {
|
|
4
|
+
static io: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
|
|
5
|
+
static emit(eventName: string, data: any): boolean;
|
|
6
|
+
static on(eventName: string, cb: (...args: any[]) => void): Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
|
|
7
|
+
static client(cb: (socket: SocketIO<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>) => void, debug?: boolean): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Socket = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class Socket {
|
|
6
|
+
static emit(eventName, data) {
|
|
7
|
+
return Socket.io.emit(eventName, data);
|
|
8
|
+
}
|
|
9
|
+
static on(eventName, cb) {
|
|
10
|
+
return Socket.io.on(eventName, cb);
|
|
11
|
+
}
|
|
12
|
+
static client(cb, debug = false) {
|
|
13
|
+
Socket.io.on('connection', function (socket) {
|
|
14
|
+
if (debug) {
|
|
15
|
+
__1.Logger.debug('Client Connected', socket.id);
|
|
16
|
+
}
|
|
17
|
+
cb(socket);
|
|
18
|
+
// Whenever someone disconnects this piece of code executed
|
|
19
|
+
socket.on('disconnect', function () {
|
|
20
|
+
__1.Logger.debug('Client Disconnected', socket.id);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Socket = Socket;
|
|
26
|
+
//# sourceMappingURL=socket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/libs/socket.ts"],"names":[],"mappings":";;;AAEA,0BAA4B;AAE5B,MAAa,MAAM;IAGf,MAAM,CAAC,IAAI,CAAC,SAAiB,EAAE,IAAS;QACpC,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,SAAiB,EAAE,EAA4B;QACrD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,EAAyF,EAAE,KAAK,GAAG,KAAK;QAClH,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,UAAS,MAAM;YACtC,IAAI,KAAK,EAAE;gBACP,UAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aAC/C;YACD,EAAE,CAAC,MAAM,CAAC,CAAC;YACX,2DAA2D;YAC3D,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;gBACpB,UAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAvBD,wBAuBC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function to slice an array given a limit and offset
|
|
3
|
+
* @param array input array
|
|
4
|
+
* @param limit how many records to return
|
|
5
|
+
* @param offset offset to discard elements
|
|
6
|
+
* @returns sliced array or empty if input is null or has length = 0 or even if the params (limit/offset) exceeds the array length
|
|
7
|
+
*/
|
|
8
|
+
export declare function limitOffset<T>(array: T[], limit: string, offset: string): T[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.limitOffset = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Function to slice an array given a limit and offset
|
|
6
|
+
* @param array input array
|
|
7
|
+
* @param limit how many records to return
|
|
8
|
+
* @param offset offset to discard elements
|
|
9
|
+
* @returns sliced array or empty if input is null or has length = 0 or even if the params (limit/offset) exceeds the array length
|
|
10
|
+
*/
|
|
11
|
+
function limitOffset(array, limit, offset) {
|
|
12
|
+
if (!array)
|
|
13
|
+
return [];
|
|
14
|
+
const $limit = parseInt(limit, 10);
|
|
15
|
+
const $offset = parseInt(offset, 10);
|
|
16
|
+
const length = array.length;
|
|
17
|
+
if (!length) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
if ($offset > length - 1) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const start = Math.min(length - 1, $offset);
|
|
24
|
+
const end = Math.min(length, $offset + $limit);
|
|
25
|
+
return array.slice(start, end);
|
|
26
|
+
}
|
|
27
|
+
exports.limitOffset = limitOffset;
|
|
28
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/libs/utils.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,KAAU,EAAE,KAAa,EAAE,MAAc;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IACD,IAAI,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAnBH,kCAmBG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import winston from 'winston';
|
|
2
|
+
export type Level = "error" | "warn" | "info" | "http" | "verbose" | "debug" | "silly";
|
|
3
|
+
export declare class Logger {
|
|
4
|
+
private static isLocalEnv;
|
|
5
|
+
static readonly instance: winston.Logger;
|
|
6
|
+
static info(message: string, payload?: any): void;
|
|
7
|
+
static error(message: string, error: any): void;
|
|
8
|
+
static warn(message: string, data: any): void;
|
|
9
|
+
static debug(message: string, data: any): void;
|
|
10
|
+
static enableLogger(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Logger = void 0;
|
|
7
|
+
const winston_1 = __importDefault(require("winston"));
|
|
8
|
+
class Logger {
|
|
9
|
+
static info(message, payload = {}) {
|
|
10
|
+
if (Logger.isLocalEnv) {
|
|
11
|
+
console.info(message, payload);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
Logger.instance.info(message, payload);
|
|
15
|
+
}
|
|
16
|
+
static error(message, error) {
|
|
17
|
+
if (Logger.isLocalEnv) {
|
|
18
|
+
console.error(message, error);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
Logger.instance.error(message, error);
|
|
22
|
+
}
|
|
23
|
+
static warn(message, data) {
|
|
24
|
+
if (Logger.isLocalEnv) {
|
|
25
|
+
console.warn(message, data);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
Logger.instance.warn(message, data);
|
|
29
|
+
}
|
|
30
|
+
static debug(message, data) {
|
|
31
|
+
if (Logger.isLocalEnv) {
|
|
32
|
+
console.debug(message, data);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
Logger.instance.debug(message, data);
|
|
36
|
+
}
|
|
37
|
+
static enableLogger() {
|
|
38
|
+
Logger.isLocalEnv = false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.Logger = Logger;
|
|
42
|
+
Logger.isLocalEnv = process.env.NODE_ENV === "local";
|
|
43
|
+
Logger.instance = winston_1.default.createLogger({
|
|
44
|
+
transports: [
|
|
45
|
+
new winston_1.default.transports.Console(),
|
|
46
|
+
],
|
|
47
|
+
format: winston_1.default.format.combine(winston_1.default.format.json()),
|
|
48
|
+
exitOnError: false,
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAI9B,MAAa,MAAM;IAYjB,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,UAAe,EAAE;QAC5C,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC9B,OAAM;SACP;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,KAAU;QACtC,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC7B,OAAM;SACP;QACD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,IAAS;QACpC,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC3B,OAAM;SACP;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,IAAS;QACrC,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC5B,OAAM;SACP;QACD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAA;IAC3B,CAAC;;AA3CH,wBA4CC;AA3CgB,iBAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAA;AAC5C,eAAQ,GAAG,iBAAO,CAAC,YAAY,CAAC;IAC9C,UAAU,EAAE;QACV,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;KACjC;IACD,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACtB;IACD,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
2
|
+
export type AuthServiceQuery = {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
};
|
|
5
|
+
export interface InternalAuthServiceMethods {
|
|
6
|
+
readonly request: AxiosInstance;
|
|
7
|
+
readonly baseURL: string;
|
|
8
|
+
}
|
|
9
|
+
export interface InternalAuthServiceOptions {
|
|
10
|
+
axiosConfig?: AxiosRequestConfig;
|
|
11
|
+
baseURL: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class AuthService implements InternalAuthServiceMethods {
|
|
14
|
+
readonly request: AxiosInstance;
|
|
15
|
+
readonly baseURL: string;
|
|
16
|
+
constructor({ axiosConfig, baseURL }: InternalAuthServiceOptions);
|
|
17
|
+
throwError(err: any): never;
|
|
18
|
+
verify<T = any>(query?: AuthServiceQuery, config?: AxiosRequestConfig): Promise<T>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AuthService = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const errors_1 = require("../errors");
|
|
9
|
+
class AuthService {
|
|
10
|
+
constructor({ axiosConfig, baseURL }) {
|
|
11
|
+
this.request = axios_1.default.create({ ...(axiosConfig !== null && axiosConfig !== void 0 ? axiosConfig : {}), baseURL, });
|
|
12
|
+
this.baseURL = baseURL;
|
|
13
|
+
}
|
|
14
|
+
throwError(err) {
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
|
+
const message = (_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
|
|
17
|
+
const status = (_c = err === null || err === void 0 ? void 0 : err.response) === null || _c === void 0 ? void 0 : _c.status;
|
|
18
|
+
if (message) {
|
|
19
|
+
switch (status) {
|
|
20
|
+
case 401: throw new errors_1.Unauthorized(message);
|
|
21
|
+
case 400: throw new errors_1.BadRequest(message);
|
|
22
|
+
case 500: throw new errors_1.InternalServer(message);
|
|
23
|
+
case 204: throw new errors_1.NoContent(message);
|
|
24
|
+
default: throw new errors_1.InternalServer(message);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
throw new errors_1.InternalServer((_d = err === null || err === void 0 ? void 0 : err.message) !== null && _d !== void 0 ? _d : String(err));
|
|
28
|
+
}
|
|
29
|
+
async verify(query, config = {}) {
|
|
30
|
+
var _a;
|
|
31
|
+
try {
|
|
32
|
+
const { data } = await this.request.post(`/verify`, undefined, { ...config, params: query });
|
|
33
|
+
return (_a = data === null || data === void 0 ? void 0 : data.data) !== null && _a !== void 0 ? _a : data;
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
this.throwError(err);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.AuthService = AuthService;
|
|
41
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiE;AACjE,sCAAgF;AAchF,MAAa,WAAW;IAIpB,YAAY,EAAE,WAAW,EAAE,OAAO,EAA8B;QAC5D,IAAI,CAAC,OAAO,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,EAAE,OAAO,GAAE,CAAC,CAAA;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,GAAQ;;QACf,MAAM,OAAO,GAAG,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,MAAM,CAAA;QACpC,IAAI,OAAO,EAAE;YACT,QAAO,MAAM,EAAE;gBACX,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,qBAAY,CAAC,OAAO,CAAC,CAAA;gBACzC,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAA;gBACvC,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,uBAAc,CAAC,OAAO,CAAC,CAAA;gBAC3C,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,kBAAS,CAAC,OAAO,CAAC,CAAA;gBACtC,OAAO,CAAC,CAAE,MAAM,IAAI,uBAAc,CAAC,OAAO,CAAC,CAAA;aAC9C;SACJ;QACD,MAAM,IAAI,uBAAc,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAU,KAAwB,EAAE,SAA6B,EAAE;;QAC3E,IAAI;YACA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAC5F,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,IAAI,CAAA;SAC5B;QAAC,OAAM,GAAQ,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACvB;IACL,CAAC;CACJ;AAhCD,kCAgCC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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("./postgres-service"), exports);
|
|
18
|
+
__exportStar(require("./mongo-service"), exports);
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/databases/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,kDAAgC;AAChC,0CAAwB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Request, Response } from "express";
|
|
2
|
+
import { Model } from "mongoose";
|
|
3
|
+
import type { InternalServiceMethods, Query, User } from "./types";
|
|
4
|
+
export interface MongoInternalServiceMethods<T = any> extends InternalServiceMethods<T> {
|
|
5
|
+
model: Model<T>;
|
|
6
|
+
}
|
|
7
|
+
export interface MongoInternalServiceOptions {
|
|
8
|
+
Model: Model<any>;
|
|
9
|
+
}
|
|
10
|
+
export declare class MongoDBService<T> implements MongoInternalServiceMethods<T> {
|
|
11
|
+
readonly Model: Model<any>;
|
|
12
|
+
constructor({ Model }: MongoInternalServiceOptions);
|
|
13
|
+
find(query?: Query, user?: User, req?: Request, res?: Response): Promise<T[]>;
|
|
14
|
+
get(id: string | null, query?: Query, user?: User, req?: Request, res?: Response): Promise<T | null>;
|
|
15
|
+
create(data: Partial<T> | Partial<T>[], query?: Query, user?: User, req?: Request, res?: Response): Promise<T | T[]>;
|
|
16
|
+
update(id: string, data: T, query?: Query, user?: User, req?: Request, res?: Response): Promise<T | null>;
|
|
17
|
+
patch(id: string, data: Partial<T>, query?: Query, user?: User, req?: Request, res?: Response): Promise<T | T[] | null>;
|
|
18
|
+
remove(id: string, query?: Query, user?: User, req?: Request, res?: Response): Promise<T | T[] | null>;
|
|
19
|
+
get model(): Model<any, {}, {}, {}>;
|
|
20
|
+
_find(query?: Query): Promise<T[]>;
|
|
21
|
+
_get(id: string | null, query?: Query): Promise<T | null>;
|
|
22
|
+
_create(data: Partial<T> | Partial<T>[]): Promise<T | T[]>;
|
|
23
|
+
_update(id: string, data: T): Promise<T | null>;
|
|
24
|
+
_patch(id: string, data: Partial<T>): Promise<T | T[] | null>;
|
|
25
|
+
_remove(id: string, query?: Query): Promise<T | T[] | null>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MongoDBService = void 0;
|
|
4
|
+
class MongoDBService {
|
|
5
|
+
constructor({ Model }) {
|
|
6
|
+
this.Model = Model;
|
|
7
|
+
}
|
|
8
|
+
async find(query, user, req, res) {
|
|
9
|
+
return await this.Model.find(query !== null && query !== void 0 ? query : {});
|
|
10
|
+
}
|
|
11
|
+
async get(id, query, user, req, res) {
|
|
12
|
+
return await this.Model.findOne({
|
|
13
|
+
_id: id,
|
|
14
|
+
...query
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async create(data, query, user, req, res) {
|
|
18
|
+
return (await this.Model.create(data)).toJSON();
|
|
19
|
+
}
|
|
20
|
+
async update(id, data, query, user, req, res) {
|
|
21
|
+
return await this.Model.findOneAndUpdate({ _id: id }, { $set: data }, { new: true });
|
|
22
|
+
}
|
|
23
|
+
async patch(id, data, query, user, req, res) {
|
|
24
|
+
return await this.Model.findOneAndUpdate({ _id: id }, { $set: data }, { new: true });
|
|
25
|
+
}
|
|
26
|
+
async remove(id, query, user, req, res) {
|
|
27
|
+
return await this.Model.findOneAndDelete({ _id: id, ...query });
|
|
28
|
+
}
|
|
29
|
+
get model() {
|
|
30
|
+
return this.Model;
|
|
31
|
+
}
|
|
32
|
+
async _find(query) {
|
|
33
|
+
return await this.Model.find(query !== null && query !== void 0 ? query : {});
|
|
34
|
+
}
|
|
35
|
+
async _get(id, query) {
|
|
36
|
+
return await this.Model.findOne({
|
|
37
|
+
_id: id,
|
|
38
|
+
...query
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async _create(data) {
|
|
42
|
+
return (await this.Model.create(data)).toJSON();
|
|
43
|
+
}
|
|
44
|
+
async _update(id, data) {
|
|
45
|
+
return await this.Model.findOneAndUpdate({ _id: id }, { $set: data }, { new: true });
|
|
46
|
+
}
|
|
47
|
+
async _patch(id, data) {
|
|
48
|
+
return await this.Model.findOneAndUpdate({ _id: id }, { $set: data }, { new: true });
|
|
49
|
+
}
|
|
50
|
+
async _remove(id, query) {
|
|
51
|
+
return await this.Model.findOneAndDelete({ _id: id, ...query });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.MongoDBService = MongoDBService;
|
|
55
|
+
//# sourceMappingURL=mongo-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo-service.js","sourceRoot":"","sources":["../../../src/services/databases/mongo-service.ts"],"names":[],"mappings":"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"}
|