@volcanicminds/backend 0.6.3 → 0.6.4
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/index.js +332 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api/auth/controller/auth.js +337 -0
- package/dist/lib/api/auth/controller/auth.js.map +1 -0
- package/dist/lib/api/auth/routes.js +195 -0
- package/dist/lib/api/auth/routes.js.map +1 -0
- package/dist/lib/api/health/controller/health.js +8 -0
- package/dist/lib/api/health/controller/health.js.map +1 -0
- package/dist/lib/api/health/routes.js +26 -0
- package/dist/lib/api/health/routes.js.map +1 -0
- package/dist/lib/api/token/controller/token.js +116 -0
- package/dist/lib/api/token/controller/token.js.map +1 -0
- package/dist/lib/api/token/routes.js +152 -0
- package/dist/lib/api/token/routes.js.map +1 -0
- package/dist/lib/api/tool/controller/tool.js +25 -0
- package/dist/lib/api/tool/controller/tool.js.map +1 -0
- package/dist/lib/api/tool/routes.js +26 -0
- package/dist/lib/api/tool/routes.js.map +1 -0
- package/dist/lib/api/users/controller/user.js +14 -0
- package/dist/lib/api/users/controller/user.js.map +1 -0
- package/dist/lib/api/users/routes.js +65 -0
- package/dist/lib/api/users/routes.js.map +1 -0
- package/dist/lib/apollo/context.js +19 -0
- package/dist/lib/apollo/context.js.map +1 -0
- package/dist/lib/apollo/resolvers.js +9 -0
- package/dist/lib/apollo/resolvers.js.map +1 -0
- package/dist/lib/apollo/type-defs.js +9 -0
- package/dist/lib/apollo/type-defs.js.map +1 -0
- package/dist/lib/config/general.js +9 -0
- package/dist/lib/config/general.js.map +1 -0
- package/dist/lib/config/plugins.js +57 -0
- package/dist/lib/config/plugins.js.map +1 -0
- package/dist/lib/config/roles.js +19 -0
- package/dist/lib/config/roles.js.map +1 -0
- package/dist/lib/config/tracking.js +10 -0
- package/dist/lib/config/tracking.js.map +1 -0
- package/dist/lib/hooks/onError.js +15 -0
- package/dist/lib/hooks/onError.js.map +1 -0
- package/dist/lib/hooks/onRequest.js +71 -0
- package/dist/lib/hooks/onRequest.js.map +1 -0
- package/dist/lib/hooks/onResponse.js +25 -0
- package/dist/lib/hooks/onResponse.js.map +1 -0
- package/dist/lib/hooks/preHandler.js +39 -0
- package/dist/lib/hooks/preHandler.js.map +1 -0
- package/dist/lib/hooks/preSerialization.js +47 -0
- package/dist/lib/hooks/preSerialization.js.map +1 -0
- package/dist/lib/loader/general.js +29 -0
- package/dist/lib/loader/general.js.map +1 -0
- package/dist/lib/loader/hooks.js +46 -0
- package/dist/lib/loader/hooks.js.map +1 -0
- package/dist/lib/loader/plugins.js +24 -0
- package/dist/lib/loader/plugins.js.map +1 -0
- package/dist/lib/loader/roles.js +22 -0
- package/dist/lib/loader/roles.js.map +1 -0
- package/dist/lib/loader/router.js +173 -0
- package/dist/lib/loader/router.js.map +1 -0
- package/dist/lib/loader/schemas.js +34 -0
- package/dist/lib/loader/schemas.js.map +1 -0
- package/dist/lib/loader/tracking.js +70 -0
- package/dist/lib/loader/tracking.js.map +1 -0
- package/dist/lib/loader/translation.js +53 -0
- package/dist/lib/loader/translation.js.map +1 -0
- package/dist/lib/locales/en.json +12 -0
- package/dist/lib/locales/it.json +12 -0
- package/dist/lib/middleware/dispatchForgotPasswordLink.js +19 -0
- package/dist/lib/middleware/dispatchForgotPasswordLink.js.map +1 -0
- package/dist/lib/middleware/isAdmin.js +17 -0
- package/dist/lib/middleware/isAdmin.js.map +1 -0
- package/dist/lib/middleware/isAuthenticated.js +18 -0
- package/dist/lib/middleware/isAuthenticated.js.map +1 -0
- package/dist/lib/middleware/postAuth.js +19 -0
- package/dist/lib/middleware/postAuth.js.map +1 -0
- package/dist/lib/middleware/preAuth.js +17 -0
- package/dist/lib/middleware/preAuth.js.map +1 -0
- package/dist/lib/middleware/preForgotPasswordHandler.js +17 -0
- package/dist/lib/middleware/preForgotPasswordHandler.js.map +1 -0
- package/dist/lib/schemas/auth.js +101 -0
- package/dist/lib/schemas/auth.js.map +1 -0
- package/dist/lib/schemas/common.js +66 -0
- package/dist/lib/schemas/common.js.map +1 -0
- package/dist/lib/schemas/token.js +38 -0
- package/dist/lib/schemas/token.js.map +1 -0
- package/dist/lib/util/common.js +19 -0
- package/dist/lib/util/common.js.map +1 -0
- package/dist/lib/util/errors.js +19 -0
- package/dist/lib/util/errors.js.map +1 -0
- package/dist/lib/util/generate.js +10 -0
- package/dist/lib/util/generate.js.map +1 -0
- package/dist/lib/util/logger.js +52 -0
- package/dist/lib/util/logger.js.map +1 -0
- package/dist/lib/util/mark.js +25 -0
- package/dist/lib/util/mark.js.map +1 -0
- package/dist/lib/util/path.js +12 -0
- package/dist/lib/util/path.js.map +1 -0
- package/dist/lib/util/regexp.js +15 -0
- package/dist/lib/util/regexp.js.map +1 -0
- package/dist/lib/util/tracker.js +123 -0
- package/dist/lib/util/tracker.js.map +1 -0
- package/dist/lib/util/yn.js +17 -0
- package/dist/lib/util/yn.js.map +1 -0
- package/dist/nodemon.json +7 -0
- package/dist/package.json +101 -0
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -0
- package/dist/tsconfig.json +32 -0
- package/package.json +2 -2
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.load = void 0;
|
|
4
|
+
const path_1 = require("../util/path");
|
|
5
|
+
const glob = require('glob');
|
|
6
|
+
const METHODS = ['POST', 'PUT', 'DELETE'];
|
|
7
|
+
function load() {
|
|
8
|
+
const trackChangesList = {};
|
|
9
|
+
let trackConfig = {};
|
|
10
|
+
const patterns = (0, path_1.normalizePatterns)(['..', 'config', 'tracking.{ts,js}'], ['src', 'config', 'tracking.{ts,js}']);
|
|
11
|
+
patterns.forEach((pattern) => {
|
|
12
|
+
log.t && log.trace('Looking for ' + pattern);
|
|
13
|
+
glob.sync(pattern).forEach((f) => {
|
|
14
|
+
const configTracking = require(f);
|
|
15
|
+
const { config, changes } = configTracking || {};
|
|
16
|
+
const { enableAll = true, primaryKey = 'id', changeEntity = 'Change' } = config || {};
|
|
17
|
+
trackConfig = Object.assign(Object.assign({}, trackConfig), config);
|
|
18
|
+
enableAll &&
|
|
19
|
+
changes.forEach((change) => {
|
|
20
|
+
var _a;
|
|
21
|
+
const tc = Object.assign({ primaryKey: primaryKey, changeEntity: changeEntity }, change);
|
|
22
|
+
const code = getCodeBy(tc.method, tc.path);
|
|
23
|
+
if (code in trackChangesList) {
|
|
24
|
+
log.warn(`* Tracking changes on ${(_a = tc.method) === null || _a === void 0 ? void 0 : _a.toUpperCase()} ${tc.path} already loaded (override)`);
|
|
25
|
+
trackChangesList[code] = Object.assign(Object.assign({}, trackChangesList[code]), tc);
|
|
26
|
+
}
|
|
27
|
+
else if (isValid(tc)) {
|
|
28
|
+
trackChangesList[code] = tc;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
const keys = Object.keys(trackChangesList) || [];
|
|
34
|
+
log.d && log.debug(`Tracking changes loaded: ${(keys === null || keys === void 0 ? void 0 : keys.length) || 0}`);
|
|
35
|
+
return { tracking: trackChangesList, trackingConfig: trackConfig };
|
|
36
|
+
}
|
|
37
|
+
exports.load = load;
|
|
38
|
+
function getCodeBy(method, path) {
|
|
39
|
+
if (method == null || path == null) {
|
|
40
|
+
throw new Error('Tracking changes: impossible retrieve code by method and path');
|
|
41
|
+
}
|
|
42
|
+
return `${method.toUpperCase()}::${path}`;
|
|
43
|
+
}
|
|
44
|
+
function isValid(tc) {
|
|
45
|
+
const { method: m, path, enable = true, primaryKey, entity } = tc;
|
|
46
|
+
const method = m === null || m === void 0 ? void 0 : m.toUpperCase();
|
|
47
|
+
const label = `${method} ${path}`;
|
|
48
|
+
if (!enable) {
|
|
49
|
+
log.warn(`* Tracking changes on ${label} disabled`);
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
if (!METHODS.includes(method)) {
|
|
53
|
+
log.error(`* Tracking changes on ${label} available only on methods ${METHODS.join(', ')}`);
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
if (path == null || path.length === 0) {
|
|
57
|
+
log.error(`* Tracking changes on ${label} specify a valid path (ex /users)`);
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (entity == null || entity.length === 0) {
|
|
61
|
+
log.error(`* Tracking changes on ${label} specify a valid entity (ex User)`);
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
if (primaryKey == null || primaryKey.length === 0) {
|
|
65
|
+
log.error(`* Tracking changes on ${label} specify a valid primaryKey (ex id)`);
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=tracking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../../lib/loader/tracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.load = void 0;
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const glob = require('glob');
|
|
6
|
+
const { I18n } = require('i18n');
|
|
7
|
+
function load() {
|
|
8
|
+
const i18n = new I18n({
|
|
9
|
+
locales: ['en', 'it'],
|
|
10
|
+
defaultLocale: 'en',
|
|
11
|
+
autoReload: false,
|
|
12
|
+
updateFiles: false,
|
|
13
|
+
syncFiles: false,
|
|
14
|
+
extension: '.json',
|
|
15
|
+
prefix: '',
|
|
16
|
+
objectNotation: true,
|
|
17
|
+
logDebugFn: (msg) => log.debug(msg),
|
|
18
|
+
logWarnFn: (msg) => log.warn(msg),
|
|
19
|
+
logErrorFn: (msg) => log.error(msg)
|
|
20
|
+
});
|
|
21
|
+
const basePath = path.join(__dirname, '..', 'locales', '*.json').replaceAll('\\', '/');
|
|
22
|
+
glob.sync(basePath).forEach((f) => {
|
|
23
|
+
log.info('* Loading base dictionary %s', path.parse(f).base);
|
|
24
|
+
try {
|
|
25
|
+
const content = require(f);
|
|
26
|
+
addLocaleFile(i18n, path.parse(f).name, content);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
log.error(err);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const addPath = path.join(process.cwd(), 'src', 'locales', '*.json').replaceAll('\\', '/');
|
|
33
|
+
glob.sync(addPath).forEach((f) => {
|
|
34
|
+
log.info('* Loading additional dictionary %s', path.parse(f).base);
|
|
35
|
+
try {
|
|
36
|
+
const content = require(f);
|
|
37
|
+
addLocaleFile(i18n, path.parse(f).name, content);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
log.error(err);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
i18n.setLocale(i18n.defaultLocale || 'en');
|
|
44
|
+
return i18n;
|
|
45
|
+
}
|
|
46
|
+
exports.load = load;
|
|
47
|
+
function addLocaleFile(i18n, locale, content) {
|
|
48
|
+
let catalog = i18n && i18n.getCatalog();
|
|
49
|
+
if (catalog && locale && content) {
|
|
50
|
+
catalog[locale] = catalog[locale] ? Object.assign(Object.assign({}, catalog[locale]), content) : content;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=translation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation.js","sourceRoot":"","sources":["../../../lib/loader/translation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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.preSerialization = void 0;
|
|
13
|
+
function preSerialization(req, res, payload) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
return payload;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
exports.preSerialization = preSerialization;
|
|
19
|
+
//# sourceMappingURL=dispatchForgotPasswordLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatchForgotPasswordLink.js","sourceRoot":"","sources":["../../../lib/middleware/dispatchForgotPasswordLink.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAsB,gBAAgB,CAAC,GAAmB,EAAE,GAAiB,EAAE,OAAO;;QACpF,OAAO,OAAO,CAAA;IAChB,CAAC;CAAA;AAFD,4CAEC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preHandler = void 0;
|
|
4
|
+
function preHandler(req, res, done) {
|
|
5
|
+
try {
|
|
6
|
+
if (req.user && req.user.getId() && req.hasRole(roles.admin)) {
|
|
7
|
+
return done();
|
|
8
|
+
}
|
|
9
|
+
throw new Error('User without this privilege');
|
|
10
|
+
}
|
|
11
|
+
catch (err) {
|
|
12
|
+
log.e && log.error(`Upps, something just happened ${err}`);
|
|
13
|
+
res.code(403).send(new Error('User without this privilege'));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.preHandler = preHandler;
|
|
17
|
+
//# sourceMappingURL=isAdmin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isAdmin.js","sourceRoot":"","sources":["../../../lib/middleware/isAdmin.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,GAAmB,EAAE,GAAiB,EAAE,IAAS;IAC1E,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;QAC1D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAXD,gCAWC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preHandler = void 0;
|
|
4
|
+
function preHandler(req, res, done) {
|
|
5
|
+
var _a;
|
|
6
|
+
try {
|
|
7
|
+
if (!!((_a = req.user) === null || _a === void 0 ? void 0 : _a.getId())) {
|
|
8
|
+
return done();
|
|
9
|
+
}
|
|
10
|
+
throw new Error('Unauthorized');
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
log.e && log.error(`Upps, something just happened ${err}`);
|
|
14
|
+
return res.code(401).send(new Error('Unauthorized'));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.preHandler = preHandler;
|
|
18
|
+
//# sourceMappingURL=isAuthenticated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isAuthenticated.js","sourceRoot":"","sources":["../../../lib/middleware/isAuthenticated.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,GAAmB,EAAE,GAAiB,EAAE,IAAS;;IAC1E,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,EAAE,CAAC;YACxB,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAXD,gCAWC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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.preSerialization = void 0;
|
|
13
|
+
function preSerialization(req, res, payload) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
return payload;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
exports.preSerialization = preSerialization;
|
|
19
|
+
//# sourceMappingURL=postAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postAuth.js","sourceRoot":"","sources":["../../../lib/middleware/postAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAsB,gBAAgB,CAAC,GAAmB,EAAE,GAAiB,EAAE,OAAO;;QACpF,OAAO,OAAO,CAAA;IAChB,CAAC;CAAA;AAFD,4CAEC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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.preHandler = void 0;
|
|
13
|
+
function preHandler(req, res) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () { });
|
|
15
|
+
}
|
|
16
|
+
exports.preHandler = preHandler;
|
|
17
|
+
//# sourceMappingURL=preAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preAuth.js","sourceRoot":"","sources":["../../../lib/middleware/preAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAsB,UAAU,CAAC,GAAmB,EAAE,GAAiB;0DAAG,CAAC;CAAA;AAA3E,gCAA2E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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.preHandler = void 0;
|
|
13
|
+
function preHandler(req, res) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () { });
|
|
15
|
+
}
|
|
16
|
+
exports.preHandler = preHandler;
|
|
17
|
+
//# sourceMappingURL=preForgotPasswordHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preForgotPasswordHandler.js","sourceRoot":"","sources":["../../../lib/middleware/preForgotPasswordHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAsB,UAAU,CAAC,GAAmB,EAAE,GAAiB;0DAAG,CAAC;CAAA;AAA3E,gCAA2E"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resetPasswordBodySchema = exports.authChangePasswordBodySchema = exports.authRegisterResponseSchema = exports.authRefreshTokenResponseSchema = exports.authRefreshTokenBodySchema = exports.authLoginResponseSchema = exports.authRegisterBodySchema = exports.authForgotPasswordBodySchema = exports.authLoginBodySchema = void 0;
|
|
4
|
+
exports.authLoginBodySchema = {
|
|
5
|
+
$id: 'authLoginBodySchema',
|
|
6
|
+
type: 'object',
|
|
7
|
+
nullable: true,
|
|
8
|
+
properties: {
|
|
9
|
+
email: { type: 'string' },
|
|
10
|
+
password: { type: 'string' }
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
exports.authForgotPasswordBodySchema = {
|
|
14
|
+
$id: 'authForgotPasswordBodySchema',
|
|
15
|
+
type: 'object',
|
|
16
|
+
nullable: true,
|
|
17
|
+
properties: {
|
|
18
|
+
username: { type: 'string' },
|
|
19
|
+
email: { type: 'string' }
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.authRegisterBodySchema = {
|
|
23
|
+
$id: 'authRegisterBodySchema',
|
|
24
|
+
type: 'object',
|
|
25
|
+
nullable: true,
|
|
26
|
+
properties: {
|
|
27
|
+
username: { type: 'string' },
|
|
28
|
+
email: { type: 'string' },
|
|
29
|
+
password1: { type: 'string' },
|
|
30
|
+
password2: { type: 'string' },
|
|
31
|
+
requiredRoles: { type: 'array', items: { type: 'string' } }
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.authLoginResponseSchema = {
|
|
35
|
+
$id: 'authLoginResponseSchema',
|
|
36
|
+
type: 'object',
|
|
37
|
+
nullable: true,
|
|
38
|
+
properties: {
|
|
39
|
+
id: { type: 'string' },
|
|
40
|
+
_id: { type: 'string' },
|
|
41
|
+
externalId: { type: 'string' },
|
|
42
|
+
username: { type: 'string' },
|
|
43
|
+
email: { type: 'string' },
|
|
44
|
+
roles: { type: 'array', items: { type: 'string' } },
|
|
45
|
+
token: { type: 'string' },
|
|
46
|
+
refreshToken: { type: 'string' }
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.authRefreshTokenBodySchema = {
|
|
50
|
+
$id: 'authRefreshTokenBodySchema',
|
|
51
|
+
type: 'object',
|
|
52
|
+
nullable: true,
|
|
53
|
+
properties: {
|
|
54
|
+
token: { type: 'string' },
|
|
55
|
+
refreshToken: { type: 'string' }
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
exports.authRefreshTokenResponseSchema = {
|
|
59
|
+
$id: 'authRefreshTokenResponseSchema',
|
|
60
|
+
type: 'object',
|
|
61
|
+
nullable: true,
|
|
62
|
+
properties: {
|
|
63
|
+
token: { type: 'string' }
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.authRegisterResponseSchema = {
|
|
67
|
+
$id: 'authRegisterResponseSchema',
|
|
68
|
+
type: 'object',
|
|
69
|
+
nullable: true,
|
|
70
|
+
properties: {
|
|
71
|
+
id: { type: 'string' },
|
|
72
|
+
_id: { type: 'string' },
|
|
73
|
+
externalId: { type: 'string' },
|
|
74
|
+
username: { type: 'string' },
|
|
75
|
+
email: { type: 'string' },
|
|
76
|
+
enabled: { type: 'boolean' },
|
|
77
|
+
roles: { type: 'array', items: { type: 'string' } }
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
exports.authChangePasswordBodySchema = {
|
|
81
|
+
$id: 'authChangePasswordBodySchema',
|
|
82
|
+
type: 'object',
|
|
83
|
+
nullable: true,
|
|
84
|
+
properties: {
|
|
85
|
+
email: { type: 'string' },
|
|
86
|
+
oldPassword: { type: 'string' },
|
|
87
|
+
newPassword1: { type: 'string' },
|
|
88
|
+
newPassword2: { type: 'string' }
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
exports.resetPasswordBodySchema = {
|
|
92
|
+
$id: 'resetPasswordBodySchema',
|
|
93
|
+
type: 'object',
|
|
94
|
+
nullable: true,
|
|
95
|
+
properties: {
|
|
96
|
+
code: { type: 'string' },
|
|
97
|
+
newPassword1: { type: 'string' },
|
|
98
|
+
newPassword2: { type: 'string' }
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../lib/schemas/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultResponse = exports.blockBodySchema = exports.onlyPasswordSchema = exports.onlyCodeSchema = exports.onlyIdSchema = exports.getQueryParamsSchema = void 0;
|
|
4
|
+
exports.getQueryParamsSchema = {
|
|
5
|
+
$id: 'getQueryParamsSchema',
|
|
6
|
+
type: 'object',
|
|
7
|
+
nullable: true,
|
|
8
|
+
properties: {
|
|
9
|
+
page: {
|
|
10
|
+
type: 'number',
|
|
11
|
+
description: 'Page **number** (default 1)'
|
|
12
|
+
},
|
|
13
|
+
pageSize: {
|
|
14
|
+
type: 'number',
|
|
15
|
+
description: 'Page **size** (default 25)'
|
|
16
|
+
},
|
|
17
|
+
sort: {
|
|
18
|
+
type: 'array',
|
|
19
|
+
description: 'Sorting **order** (default ascending).<br/>\
|
|
20
|
+
Otherwise, use the postfix `:desc` or `:asc` (like `&sort=myfield:desc`)',
|
|
21
|
+
items: { type: 'string' }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.onlyIdSchema = {
|
|
26
|
+
$id: 'onlyIdSchema',
|
|
27
|
+
type: 'object',
|
|
28
|
+
nullable: true,
|
|
29
|
+
properties: {
|
|
30
|
+
id: { type: 'string', description: 'Entity id' }
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.onlyCodeSchema = {
|
|
34
|
+
$id: 'onlyCodeSchema',
|
|
35
|
+
type: 'object',
|
|
36
|
+
nullable: true,
|
|
37
|
+
properties: {
|
|
38
|
+
code: { type: 'string', description: 'Code' }
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.onlyPasswordSchema = {
|
|
42
|
+
$id: 'onlyPasswordSchema',
|
|
43
|
+
type: 'object',
|
|
44
|
+
nullable: true,
|
|
45
|
+
properties: {
|
|
46
|
+
password: { type: 'string', description: 'Password' }
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.blockBodySchema = {
|
|
50
|
+
$id: 'blockBodySchema',
|
|
51
|
+
type: 'object',
|
|
52
|
+
nullable: true,
|
|
53
|
+
properties: {
|
|
54
|
+
reason: { type: 'string', description: 'Reason' }
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.defaultResponse = {
|
|
58
|
+
$id: 'defaultResponse',
|
|
59
|
+
type: 'object',
|
|
60
|
+
description: 'Default response',
|
|
61
|
+
nullable: true,
|
|
62
|
+
properties: {
|
|
63
|
+
ok: { type: 'boolean' }
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../lib/schemas/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,sBAAsB;IAC3B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6BAA6B;SAC3C;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4BAA4B;SAC1C;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EACT;iFACyE;YAC3E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;KACF;CACF,CAAA;AAEY,QAAA,YAAY,GAAG;IAC1B,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;KACjD;CACF,CAAA;AAEY,QAAA,cAAc,GAAG;IAC5B,GAAG,EAAE,gBAAgB;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;KAC9C;CACF,CAAA;AAEY,QAAA,kBAAkB,GAAG;IAChC,GAAG,EAAE,oBAAoB;IACzB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;KACtD;CACF,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;KAClD;CACF,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KACxB;CACF,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tokenSchema = exports.tokenUpdateBodySchema = exports.tokenCreateBodySchema = void 0;
|
|
4
|
+
exports.tokenCreateBodySchema = {
|
|
5
|
+
$id: 'tokenCreateBodySchema',
|
|
6
|
+
type: 'object',
|
|
7
|
+
nullable: true,
|
|
8
|
+
properties: {
|
|
9
|
+
name: { type: 'string' },
|
|
10
|
+
description: { type: 'string' },
|
|
11
|
+
expiresIn: { type: 'string', default: undefined },
|
|
12
|
+
requiredRoles: { type: 'array', items: { type: 'string' } }
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.tokenUpdateBodySchema = {
|
|
16
|
+
$id: 'tokenUpdateBodySchema',
|
|
17
|
+
type: 'object',
|
|
18
|
+
nullable: true,
|
|
19
|
+
properties: {
|
|
20
|
+
name: { type: 'string' },
|
|
21
|
+
description: { type: 'string' }
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.tokenSchema = {
|
|
25
|
+
$id: 'tokenSchema',
|
|
26
|
+
type: 'object',
|
|
27
|
+
nullable: true,
|
|
28
|
+
properties: {
|
|
29
|
+
id: { type: 'string' },
|
|
30
|
+
_id: { type: 'string' },
|
|
31
|
+
externalId: { type: 'string' },
|
|
32
|
+
name: { type: 'string' },
|
|
33
|
+
description: { type: 'string' },
|
|
34
|
+
token: { type: 'string' },
|
|
35
|
+
roles: { type: 'array', items: { type: 'string' } }
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../lib/schemas/token.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACnC,GAAG,EAAE,uBAAuB;IAC5B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;QACjD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KAC5D;CACF,CAAA;AAEY,QAAA,qBAAqB,GAAG;IACnC,GAAG,EAAE,uBAAuB;IAC5B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC;CACF,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KACpD;CACF,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getParams = exports.getData = void 0;
|
|
4
|
+
function getData(req) {
|
|
5
|
+
if (!req)
|
|
6
|
+
return {};
|
|
7
|
+
const hasValues = (obj) => Object.values(obj || {}).some((v) => v !== null && typeof v !== 'undefined');
|
|
8
|
+
const data = hasValues(req.query) ? req.query : hasValues(req.body) ? req.body : null;
|
|
9
|
+
return !data ? {} : Object.assign({}, data);
|
|
10
|
+
}
|
|
11
|
+
exports.getData = getData;
|
|
12
|
+
function getParams(req) {
|
|
13
|
+
if (!req)
|
|
14
|
+
return {};
|
|
15
|
+
const data = req.params || {};
|
|
16
|
+
return !data ? {} : Object.assign({}, data);
|
|
17
|
+
}
|
|
18
|
+
exports.getParams = getParams;
|
|
19
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../lib/util/common.ts"],"names":[],"mappings":";;;AAGA,SAAgB,OAAO,CAAC,GAAmB;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IAEnB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,WAAW,CAAC,CAAA;IACvG,MAAM,IAAI,GAAQ,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAW,CAAC,CAAC,mBAAM,IAAI,CAAE,CAAA;AAC3C,CAAC;AAND,0BAMC;AAED,SAAgB,SAAS,CAAC,GAAmB;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,MAAM,IAAI,GAAQ,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAW,CAAC,CAAC,mBAAM,IAAI,CAAE,CAAA;AAC3C,CAAC;AAJD,8BAIC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TranslatedError = void 0;
|
|
4
|
+
class TranslatedError extends Error {
|
|
5
|
+
constructor({ translationCode, data = {}, locale = 'en', defaultMessage = null, status = 400 }) {
|
|
6
|
+
var _a;
|
|
7
|
+
super();
|
|
8
|
+
this.name = ((_a = this.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'TranslatedError';
|
|
9
|
+
this.locale = locale;
|
|
10
|
+
this.status = status;
|
|
11
|
+
this.translationCode = translationCode;
|
|
12
|
+
this.translatedMessage = global.t.__({ phrase: translationCode || defaultMessage, locale: locale || 'en' }, data);
|
|
13
|
+
this.message = this.translatedMessage || defaultMessage || 'generic error';
|
|
14
|
+
this.data = data;
|
|
15
|
+
Error.captureStackTrace(this, this.constructor || TranslatedError);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.TranslatedError = TranslatedError;
|
|
19
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../lib/util/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAgB,SAAQ,KAAK;IAOxC,YAAY,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE;;QAC5F,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,IAAI,GAAG,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,KAAI,iBAAiB,CAAA;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;QACjH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,IAAI,cAAc,IAAI,eAAe,CAAA;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,CAAA;IACpE,CAAC;CACF;AAnBD,0CAmBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newAuthCode = void 0;
|
|
4
|
+
const { customAlphabet } = require('nanoid');
|
|
5
|
+
const nanoid = customAlphabet('AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789');
|
|
6
|
+
function newAuthCode() {
|
|
7
|
+
return nanoid(Number(process.env.AUTH_CODE_SIZE) || 10);
|
|
8
|
+
}
|
|
9
|
+
exports.newAuthCode = newAuthCode;
|
|
10
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../lib/util/generate.ts"],"names":[],"mappings":";;;AAAA,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,gEAAgE,CAAC,CAAA;AAE/F,SAAgB,WAAW;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA;AACzD,CAAC;AAFD,kCAEC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
const pino_1 = __importDefault(require("pino"));
|
|
7
|
+
const yn_1 = __importDefault(require("./yn"));
|
|
8
|
+
const logLevels = ['fatal', 'error', 'warn', 'info', 'debug', 'trace'];
|
|
9
|
+
const { LOG_LEVEL, LOG_COLORIZE, LOG_TIMESTAMP, LOG_TIMESTAMP_READABLE } = process.env;
|
|
10
|
+
function getLogLevel() {
|
|
11
|
+
const lvl = LOG_LEVEL === null || LOG_LEVEL === void 0 ? void 0 : LOG_LEVEL.toLowerCase();
|
|
12
|
+
return LOG_LEVEL && logLevels.includes(lvl) ? lvl : 'debug';
|
|
13
|
+
}
|
|
14
|
+
const logColorize = (0, yn_1.default)(LOG_COLORIZE, true);
|
|
15
|
+
const logTimestamp = (0, yn_1.default)(LOG_TIMESTAMP, true);
|
|
16
|
+
const logTimestampReadable = (0, yn_1.default)(LOG_TIMESTAMP_READABLE, true);
|
|
17
|
+
const loggerConfig = {
|
|
18
|
+
level: getLogLevel(),
|
|
19
|
+
timestamp: logTimestamp,
|
|
20
|
+
transport: {
|
|
21
|
+
target: 'pino-pretty',
|
|
22
|
+
options: {
|
|
23
|
+
translateTime: logTimestampReadable ? 'yyyymmdd HH:MM:ss.l' : false,
|
|
24
|
+
colorize: logColorize
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
let logger = (0, pino_1.default)(loggerConfig);
|
|
29
|
+
const logLevel = logger.levels.values[loggerConfig.level];
|
|
30
|
+
const loggerExt = Object.assign(logger, {
|
|
31
|
+
t: logLevel < 11,
|
|
32
|
+
d: logLevel < 21,
|
|
33
|
+
i: logLevel < 31,
|
|
34
|
+
w: logLevel < 41,
|
|
35
|
+
e: logLevel < 51,
|
|
36
|
+
f: logLevel < 61,
|
|
37
|
+
getLogLevel: getLogLevel,
|
|
38
|
+
loggerConfig: loggerConfig,
|
|
39
|
+
updateLevel: () => {
|
|
40
|
+
loggerExt.t = loggerExt.levelVal < 11;
|
|
41
|
+
loggerExt.d = loggerExt.levelVal < 21;
|
|
42
|
+
loggerExt.i = loggerExt.levelVal < 31;
|
|
43
|
+
loggerExt.w = loggerExt.levelVal < 41;
|
|
44
|
+
loggerExt.e = loggerExt.levelVal < 51;
|
|
45
|
+
loggerExt.f = loggerExt.levelVal < 61;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
loggerExt.on('level-change', () => {
|
|
49
|
+
log.trace('Log level changed');
|
|
50
|
+
});
|
|
51
|
+
exports.default = loggerExt;
|
|
52
|
+
//# sourceMappingURL=logger.js.map
|