@volcanicminds/backend 0.3.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.mocharc.json +3 -0
  2. package/README.md +1 -0
  3. package/TODO.md +0 -2
  4. package/dist/index.js +17 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/api/auth/controller/auth.js +2 -1
  7. package/dist/lib/api/auth/controller/auth.js.map +1 -1
  8. package/dist/lib/api/tool/controller/tool.js +25 -0
  9. package/dist/lib/api/tool/controller/tool.js.map +1 -0
  10. package/dist/lib/api/tool/routes.js +26 -0
  11. package/dist/lib/api/tool/routes.js.map +1 -0
  12. package/dist/lib/loader/translation.js +53 -0
  13. package/dist/lib/loader/translation.js.map +1 -0
  14. package/dist/lib/locales/en.json +12 -0
  15. package/dist/lib/locales/it.json +12 -0
  16. package/dist/lib/util/errors.js +19 -0
  17. package/dist/lib/util/errors.js.map +1 -0
  18. package/dist/nodemon.json +7 -0
  19. package/dist/package.json +100 -0
  20. package/dist/tsconfig.json +32 -0
  21. package/index.ts +16 -4
  22. package/lib/api/auth/controller/auth.ts +2 -1
  23. package/lib/api/tool/controller/tool.ts +13 -0
  24. package/lib/api/tool/routes.ts +24 -0
  25. package/lib/loader/translation.ts +67 -0
  26. package/lib/locales/en.json +12 -0
  27. package/lib/locales/it.json +12 -0
  28. package/lib/util/errors.ts +20 -0
  29. package/package.json +9 -3
  30. package/test/common/api.ts +80 -0
  31. package/test/common/bootstrap.ts +33 -0
  32. package/test/demo/demo.ts +9 -0
  33. package/test/demo/index.ts +14 -0
  34. package/test/e2e/index.ts +14 -0
  35. package/test/index.spec.ts +20 -0
  36. package/test/unit/index.ts +14 -0
  37. package/test/unit/semver.ts +24 -0
  38. package/test/unit/translation.ts +77 -0
  39. package/tsconfig.json +2 -1
  40. package/types/global.d.ts +5 -0
  41. package/test/example.test.js +0 -5
  42. package/test/semver.test.js +0 -16
package/.mocharc.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "loader": "ts-node/esm"
3
+ }
package/README.md CHANGED
@@ -151,6 +151,7 @@ With `reply.jwtSign(payload)` is possible obtain a fresh JWT token. Each authent
151
151
  With `await reply.server.jwt['refreshToken'].sign(payload)` is possible obtain a new Refresh JWT token.
152
152
 
153
153
  All tokens (authorization and refresh) can be invalidated through the appropriate route.
154
+ **Example**: Both `JWT_SECRET` and `JWT_REFRESH_SECRET` can be generated with a command like `openssl rand -base64 64`
154
155
 
155
156
  ## Swagger
156
157
 
package/TODO.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # TODO
2
2
 
3
3
  - add example / demo project (with @volcanicminds/backend & @volcanicminds/typeorm)
4
- - authentication
5
- - userManager methods
6
4
  - validations (see typeorm)
7
5
  - subscribers / hooks (Active Records: in separated files)
8
6
  - api versioning
package/dist/index.js CHANGED
@@ -35,16 +35,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.TranslatedError = exports.start = exports.yn = void 0;
38
39
  const dotenv_1 = __importDefault(require("dotenv"));
39
40
  dotenv_1.default.config();
40
41
  const yn_1 = __importDefault(require("./lib/util/yn"));
42
+ exports.yn = yn_1.default;
41
43
  const logger_1 = __importDefault(require("./lib/util/logger"));
42
44
  const mark = __importStar(require("./lib/util/mark"));
45
+ const errors_1 = require("./lib/util/errors");
46
+ Object.defineProperty(exports, "TranslatedError", { enumerable: true, get: function () { return errors_1.TranslatedError; } });
43
47
  const loaderPlugins = __importStar(require("./lib/loader/plugins"));
44
48
  const loaderRoles = __importStar(require("./lib/loader/roles"));
45
49
  const loaderRouter = __importStar(require("./lib/loader/router"));
46
50
  const loaderHooks = __importStar(require("./lib/loader/hooks"));
47
51
  const loaderSchemas = __importStar(require("./lib/loader/schemas"));
52
+ const loaderTranslation = __importStar(require("./lib/loader/translation"));
48
53
  const fastify_1 = __importDefault(require("fastify"));
49
54
  const jwt_1 = __importDefault(require("@fastify/jwt"));
50
55
  const swagger_1 = __importDefault(require("@fastify/swagger"));
@@ -153,6 +158,7 @@ const start = (decorators) => __awaiter(void 0, void 0, void 0, function* () {
153
158
  const begin = new Date().getTime();
154
159
  mark.print(logger_1.default);
155
160
  global.roles = loaderRoles.load();
161
+ global.t = loaderTranslation.load();
156
162
  const opts = (0, yn_1.default)(process.env.LOG_FASTIFY, false) ? { logger: logger_1.default } : {};
157
163
  const fastify = yield (0, fastify_1.default)(opts);
158
164
  const { HOST: host = '0.0.0.0', PORT: port = '2230', GRAPHQL } = process.env;
@@ -278,6 +284,13 @@ const start = (decorators) => __awaiter(void 0, void 0, void 0, function* () {
278
284
  removeTokenById(id) {
279
285
  throw new Error('Not implemented');
280
286
  }
287
+ }, dataBaseManager: {
288
+ isImplemented() {
289
+ return true;
290
+ },
291
+ synchronizeSchemas() {
292
+ throw new Error('Not implemented');
293
+ }
281
294
  } }, decorators);
282
295
  yield Promise.all(Object.keys(decorators || {}).map((key) => __awaiter(void 0, void 0, void 0, function* () {
283
296
  yield fastify.decorate(key, decorators[key]);
@@ -297,7 +310,8 @@ const start = (decorators) => __awaiter(void 0, void 0, void 0, function* () {
297
310
  global.server = fastify;
298
311
  return fastify;
299
312
  });
300
- module.exports = { yn: yn_1.default, start };
301
- module.exports.server = { yn: yn_1.default, start };
302
- module.exports.default = { yn: yn_1.default, start };
313
+ exports.start = start;
314
+ module.exports = { yn: yn_1.default, start, TranslatedError: errors_1.TranslatedError };
315
+ module.exports.server = { yn: yn_1.default, start, TranslatedError: errors_1.TranslatedError };
316
+ module.exports.default = { yn: yn_1.default, start, TranslatedError: errors_1.TranslatedError };
303
317
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -303,7 +303,8 @@ function block(req, reply) {
303
303
  }
304
304
  const { id: userId } = req.parameters();
305
305
  const { reason } = req.data();
306
- const user = yield req.server['userManager'].blockUserById(userId, reason);
306
+ let user = yield req.server['userManager'].blockUserById(userId, reason);
307
+ user = yield req.server['userManager'].resetExternalId(user.getId());
307
308
  return { ok: !!user.getId() };
308
309
  });
309
310
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../lib/api/auth/controller/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../lib/api/auth/controller/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
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.synchronizeSchemas = void 0;
13
+ function synchronizeSchemas(req, reply) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ if (!req.server['dataBaseManager'].isImplemented()) {
16
+ throw new Error('Not implemented');
17
+ }
18
+ reply.send({ ok: true });
19
+ log.warn('Database schema synchronization started');
20
+ yield req.server['dataBaseManager'].synchronizeSchemas();
21
+ log.warn('Database schema synchronization finished');
22
+ });
23
+ }
24
+ exports.synchronizeSchemas = synchronizeSchemas;
25
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../../lib/api/tool/controller/tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAsB,kBAAkB,CAAC,GAAmB,EAAE,KAAmB;;QAC/E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;SACnC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAExB,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;QACnD,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,EAAE,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,CAAC;CAAA;AAVD,gDAUC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ module.exports = {
3
+ config: {
4
+ title: 'Tool functions',
5
+ description: 'Tool functions',
6
+ controller: 'controller',
7
+ tags: ['tool']
8
+ },
9
+ routes: [
10
+ {
11
+ method: 'POST',
12
+ path: '/synchronize-schemas',
13
+ roles: [roles.admin],
14
+ handler: 'tool.synchronizeSchemas',
15
+ middlewares: ['global.isAuthenticated'],
16
+ config: {
17
+ title: 'Synchronize database schema',
18
+ description: 'Synchronize database schema',
19
+ response: {
20
+ 200: { $ref: 'defaultResponse#' }
21
+ }
22
+ }
23
+ }
24
+ ]
25
+ };
26
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../lib/api/tool/routes.ts"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE;QACN,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE,YAAY;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf;IACD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,CAAC,wBAAwB,CAAC;YACvC,MAAM,EAAE;gBACN,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EAAE,6BAA6B;gBAC1C,QAAQ,EAAE;oBACR,GAAG,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;iBAClC;aACF;SACF;KACF;CACF,CAAA"}
@@ -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,12 @@
1
+ {
2
+ "hello": "Hello",
3
+ "greeting": {
4
+ "formal": "Hello",
5
+ "informal": "Hi",
6
+ "placeholder": {
7
+ "formal": "Hello %s",
8
+ "informal": "Hi %s"
9
+ }
10
+ },
11
+ "complex": "Hello {{user.firstname}} {{user.lastname}}"
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "hello": "Ciao",
3
+ "greeting": {
4
+ "formal": "Ciao",
5
+ "informal": "Cià",
6
+ "placeholder": {
7
+ "formal": "Ciao %s",
8
+ "informal": "Cià %s"
9
+ }
10
+ },
11
+ "complex": "Ciao {{user.firstname}} {{user.lastname}}"
12
+ }
@@ -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,7 @@
1
+ {
2
+ "watch": ["lib"],
3
+ "verbose": true,
4
+ "ext": "js,ts,json,jsonc",
5
+ "ignore": [".git", "coverage", "dist", "lib/**/*.spec.ts", "node_modules"],
6
+ "exec": "ts-node ./lib/index.ts"
7
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "name": "@volcanicminds/backend",
3
+ "version": "0.5.0",
4
+ "codename": "turin",
5
+ "license": "MIT",
6
+ "description": "The volcanic (minds) backend",
7
+ "keywords": [
8
+ "volcanic",
9
+ "open source",
10
+ "api",
11
+ "framework",
12
+ "backend",
13
+ "http",
14
+ "https",
15
+ "fastify",
16
+ "apollo",
17
+ "swagger",
18
+ "graphql",
19
+ "helmet",
20
+ "json",
21
+ "typescript",
22
+ "javascript",
23
+ "rest",
24
+ "restful",
25
+ "graphql",
26
+ "pino",
27
+ "rate limit",
28
+ "jest"
29
+ ],
30
+ "main": "dist/index",
31
+ "typings": "dist/index",
32
+ "engines": {
33
+ "node": ">=16"
34
+ },
35
+ "scripts": {
36
+ "clean": "rm -rf dist esm",
37
+ "prebuild": "npm run clean",
38
+ "build:esm": "tsc --target es2018 --outDir esm",
39
+ "build:cjs": "tsc --target es2015 --module commonjs --outDir dist",
40
+ "build": "npm run build:esm && npm run build:cjs",
41
+ "compile": "npm run build",
42
+ "preprod": "npm run build",
43
+ "prod": "cd dist && node server.js",
44
+ "server": "cd dist && node server.js",
45
+ "start": "ts-node server.ts",
46
+ "dev": "nodemon --exec \"ts-node\" server.ts",
47
+ "test": "yarn test:full",
48
+ "test:full": "cross-env PORT=2231 NODE_ENV=memory BROWSER=false mocha ./test/index.spec.ts -t 100000",
49
+ "reset": "yarn && yarn upgrade && yarn compile",
50
+ "upgrade-deps": "yarn upgrade-interactive"
51
+ },
52
+ "dependencies": {
53
+ "@apollo/server": "^4.3.3",
54
+ "@as-integrations/fastify": "^1.2.0",
55
+ "@fastify/compress": "^6.2.0",
56
+ "@fastify/cors": "^8.2.0",
57
+ "@fastify/helmet": "^10.1.0",
58
+ "@fastify/jwt": "^6.5.0",
59
+ "@fastify/rate-limit": "^7.6.0",
60
+ "@fastify/swagger": "^8.2.0",
61
+ "@fastify/swagger-ui": "^1.3.0",
62
+ "@types/node": "^20.3.1",
63
+ "dotenv": "^16.0.3",
64
+ "fastify": "^4.13.0",
65
+ "glob": "^8.0.3",
66
+ "graphql": "^16.6.0",
67
+ "i18n": "^0.15.1",
68
+ "nanoid": "^4.0.1",
69
+ "object-sizeof": "^1.6.3",
70
+ "pino": "^8.10.0",
71
+ "pino-pretty": "^9.1.1",
72
+ "root-require": "^0.3.1",
73
+ "semver": "^7.3.8"
74
+ },
75
+ "devDependencies": {
76
+ "@types/mocha": "^10.0.1",
77
+ "cross-env": "^7.0.3",
78
+ "expect": "^29.5.0",
79
+ "mocha": "^10.2.0",
80
+ "nodemon": "^2.0.20",
81
+ "ts-node": "^10.9.1",
82
+ "typescript": "^4.9.3"
83
+ },
84
+ "repository": {
85
+ "type": "git",
86
+ "url": "git+https://github.com/volcanicminds/volcanic-backend.git"
87
+ },
88
+ "homepage": "https://volcanicminds.com",
89
+ "bugs": {
90
+ "url": "https://github.com/volcanicminds/volcanic-backend/issues"
91
+ },
92
+ "author": "Volcanic Minds <developers@volcanicminds.com> (https://volcanicminds.com)",
93
+ "maintainers": [
94
+ "Developers <developers@volcanicminds.com> (https://volcanicminds.com)"
95
+ ],
96
+ "directories": {
97
+ "lib": "lib",
98
+ "test": "test"
99
+ }
100
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "extends": "ts-node/node16/tsconfig.json",
3
+ "ts-node": {
4
+ "files": true,
5
+ "compilerOptions": {
6
+ "module": "commonjs"
7
+ }
8
+ },
9
+ "compilerOptions": {
10
+ "module": "commonjs",
11
+ "moduleResolution": "node",
12
+ "declaration": false,
13
+ "noImplicitAny": false,
14
+ "noUnusedLocals": false,
15
+ "removeComments": true,
16
+ "noLib": false,
17
+ "emitDecoratorMetadata": true,
18
+ "experimentalDecorators": true,
19
+ "useUnknownInCatchVariables": false,
20
+ "target": "es6",
21
+ "sourceMap": true,
22
+ "allowJs": true,
23
+ "outDir": "dist",
24
+ "lib": ["es7"],
25
+ "resolveJsonModule": true,
26
+ "paths": {
27
+ "@types": ["./types"]
28
+ }
29
+ },
30
+ "include": ["*.ts", "*.d.ts", "*.json", "lib/**/*", "lib/**/*.json", "types/*"],
31
+ "exclude": ["node_modules", "test/**/*"]
32
+ }
package/index.ts CHANGED
@@ -6,11 +6,13 @@ dotenv.config()
6
6
  import yn from './lib/util/yn'
7
7
  import logger from './lib/util/logger'
8
8
  import * as mark from './lib/util/mark'
9
+ import { TranslatedError } from './lib/util/errors'
9
10
  import * as loaderPlugins from './lib/loader/plugins'
10
11
  import * as loaderRoles from './lib/loader/roles'
11
12
  import * as loaderRouter from './lib/loader/router'
12
13
  import * as loaderHooks from './lib/loader/hooks'
13
14
  import * as loaderSchemas from './lib/loader/schemas'
15
+ import * as loaderTranslation from './lib/loader/translation'
14
16
 
15
17
  import Fastify, { FastifyInstance } from 'fastify'
16
18
  import jwtValidator from '@fastify/jwt'
@@ -27,7 +29,7 @@ import fastifyApollo, { fastifyApolloDrainPlugin } from '@as-integrations/fastif
27
29
  import { myContextFunction, MyContext } from './lib/apollo/context'
28
30
  import resolvers from './lib/apollo/resolvers'
29
31
  import typeDefs from './lib/apollo/type-defs'
30
- import { UserManagement, TokenManagement } from './types/global'
32
+ import { UserManagement, TokenManagement, DataBaseManagement } from './types/global'
31
33
 
32
34
  global.log = logger
33
35
 
@@ -137,6 +139,7 @@ const start = async (decorators) => {
137
139
  const begin = new Date().getTime()
138
140
  mark.print(logger)
139
141
  global.roles = loaderRoles.load()
142
+ global.t = loaderTranslation.load()
140
143
 
141
144
  const opts = yn(process.env.LOG_FASTIFY, false) ? { logger: logger } : {}
142
145
  const fastify = await Fastify(opts)
@@ -282,6 +285,14 @@ const start = async (decorators) => {
282
285
  throw new Error('Not implemented')
283
286
  }
284
287
  } as TokenManagement,
288
+ dataBaseManager: {
289
+ isImplemented() {
290
+ return true
291
+ },
292
+ synchronizeSchemas() {
293
+ throw new Error('Not implemented')
294
+ }
295
+ } as DataBaseManagement,
285
296
  ...decorators
286
297
  }
287
298
 
@@ -336,6 +347,7 @@ export {
336
347
  * - `import server from '@volcanicminds/backend'`
337
348
  * - `import server, { TSC_definition } from '@volcanicminds/backend'`
338
349
  */
339
- module.exports = { yn, start }
340
- module.exports.server = { yn, start }
341
- module.exports.default = { yn, start }
350
+ export { yn, start, TranslatedError }
351
+ module.exports = { yn, start, TranslatedError }
352
+ module.exports.server = { yn, start, TranslatedError }
353
+ module.exports.default = { yn, start, TranslatedError }
@@ -309,7 +309,8 @@ export async function block(req: FastifyRequest, reply: FastifyReply) {
309
309
  const { id: userId } = req.parameters()
310
310
  const { reason } = req.data()
311
311
 
312
- const user = await req.server['userManager'].blockUserById(userId, reason)
312
+ let user = await req.server['userManager'].blockUserById(userId, reason)
313
+ user = await req.server['userManager'].resetExternalId(user.getId())
313
314
  return { ok: !!user.getId() }
314
315
  }
315
316
 
@@ -0,0 +1,13 @@
1
+ import { FastifyReply, FastifyRequest } from 'fastify'
2
+
3
+ export async function synchronizeSchemas(req: FastifyRequest, reply: FastifyReply) {
4
+ if (!req.server['dataBaseManager'].isImplemented()) {
5
+ throw new Error('Not implemented')
6
+ }
7
+
8
+ reply.send({ ok: true })
9
+
10
+ log.warn('Database schema synchronization started')
11
+ await req.server['dataBaseManager'].synchronizeSchemas()
12
+ log.warn('Database schema synchronization finished')
13
+ }
@@ -0,0 +1,24 @@
1
+ module.exports = {
2
+ config: {
3
+ title: 'Tool functions',
4
+ description: 'Tool functions',
5
+ controller: 'controller',
6
+ tags: ['tool']
7
+ },
8
+ routes: [
9
+ {
10
+ method: 'POST',
11
+ path: '/synchronize-schemas',
12
+ roles: [roles.admin],
13
+ handler: 'tool.synchronizeSchemas',
14
+ middlewares: ['global.isAuthenticated'],
15
+ config: {
16
+ title: 'Synchronize database schema',
17
+ description: 'Synchronize database schema',
18
+ response: {
19
+ 200: { $ref: 'defaultResponse#' }
20
+ }
21
+ }
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,67 @@
1
+ const path = require('path')
2
+ const glob = require('glob')
3
+ const { I18n } = require('i18n')
4
+
5
+ // import { normalizePatterns } from '../util/path'
6
+
7
+ export function load(): any {
8
+ const i18n = new I18n({
9
+ locales: ['en', 'it'],
10
+ defaultLocale: 'en',
11
+ // header: 'accept-language',
12
+ autoReload: false,
13
+ updateFiles: false,
14
+ syncFiles: false,
15
+ extension: '.json',
16
+ prefix: '',
17
+ objectNotation: true,
18
+ // mustacheConfig: { disable: false },
19
+ // directory: './src/locales',
20
+
21
+ logDebugFn: (msg) => log.debug(msg),
22
+ logWarnFn: (msg) => log.warn(msg),
23
+ logErrorFn: (msg) => log.error(msg)
24
+ })
25
+
26
+ const basePath = path.join(__dirname, '..', 'locales', '*.json').replaceAll('\\', '/')
27
+
28
+ glob.sync(basePath).forEach((f: string) => {
29
+ log.info('* Loading base dictionary %s', path.parse(f).base)
30
+ try {
31
+ const content = require(f)
32
+ addLocaleFile(i18n, path.parse(f).name, content)
33
+ } catch (err) {
34
+ log.error(err)
35
+ }
36
+ })
37
+
38
+ const addPath = path.join(process.cwd(), 'src', 'locales', '*.json').replaceAll('\\', '/')
39
+
40
+ glob.sync(addPath).forEach((f: string) => {
41
+ log.info('* Loading additional dictionary %s', path.parse(f).base)
42
+ try {
43
+ const content = require(f)
44
+ addLocaleFile(i18n, path.parse(f).name, content)
45
+ } catch (err) {
46
+ log.error(err)
47
+ }
48
+ })
49
+
50
+ i18n.setLocale(i18n.defaultLocale || 'en')
51
+ // let test1 = i18n.__('greeting.formal')
52
+ // let test2 = i18n.__('hello')
53
+ // let test3 = i18n.__('greeting.placeholder.formal', 'UGO')
54
+ // let test4 = i18n.__('greeting.placeholder.formalize:Buondì %s', 'UGO')
55
+ // let test5 = i18n.__('greeting.formal')
56
+ // let test6 = i18n.__({ phrase: 'greeting.formal', locale: 'it' })
57
+ // let test7 = i18n.__({ phrase: 'greeting.placeholder.formal', locale: 'it' }, 'UGO')
58
+ // i18n.setLocale(i18n.defaultLocale || 'en')
59
+ return i18n
60
+ }
61
+
62
+ function addLocaleFile(i18n, locale, content) {
63
+ let catalog = i18n && i18n.getCatalog()
64
+ if (catalog && locale && content) {
65
+ catalog[locale] = catalog[locale] ? { ...catalog[locale], ...content } : content
66
+ }
67
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "hello": "Hello",
3
+ "greeting": {
4
+ "formal": "Hello",
5
+ "informal": "Hi",
6
+ "placeholder": {
7
+ "formal": "Hello %s",
8
+ "informal": "Hi %s"
9
+ }
10
+ },
11
+ "complex": "Hello {{user.firstname}} {{user.lastname}}"
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "hello": "Ciao",
3
+ "greeting": {
4
+ "formal": "Ciao",
5
+ "informal": "Cià",
6
+ "placeholder": {
7
+ "formal": "Ciao %s",
8
+ "informal": "Cià %s"
9
+ }
10
+ },
11
+ "complex": "Ciao {{user.firstname}} {{user.lastname}}"
12
+ }
@@ -0,0 +1,20 @@
1
+ export class TranslatedError extends Error {
2
+ locale: string
3
+ status: number
4
+ translationCode: string
5
+ translatedMessage: string
6
+ data: any
7
+
8
+ constructor({ translationCode, data = {}, locale = 'en', defaultMessage = null, status = 400 }) {
9
+ super()
10
+ this.name = this.constructor?.name || 'TranslatedError'
11
+ this.locale = locale
12
+ this.status = status
13
+ this.translationCode = translationCode
14
+ this.translatedMessage = global.t.__({ phrase: translationCode || defaultMessage, locale: locale || 'en' }, data)
15
+ this.message = this.translatedMessage || defaultMessage || 'generic error'
16
+ this.data = data
17
+
18
+ Error.captureStackTrace(this, this.constructor || TranslatedError)
19
+ }
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volcanicminds/backend",
3
- "version": "0.3.5",
3
+ "version": "0.5.0",
4
4
  "codename": "turin",
5
5
  "license": "MIT",
6
6
  "description": "The volcanic (minds) backend",
@@ -44,7 +44,8 @@
44
44
  "server": "cd dist && node server.js",
45
45
  "start": "ts-node server.ts",
46
46
  "dev": "nodemon --exec \"ts-node\" server.ts",
47
- "test": "jest test --config jest.config.js",
47
+ "test": "yarn test:full",
48
+ "test:full": "cross-env PORT=2231 NODE_ENV=memory BROWSER=false mocha ./test/index.spec.ts -t 100000",
48
49
  "reset": "yarn && yarn upgrade && yarn compile",
49
50
  "upgrade-deps": "yarn upgrade-interactive"
50
51
  },
@@ -58,11 +59,12 @@
58
59
  "@fastify/rate-limit": "^7.6.0",
59
60
  "@fastify/swagger": "^8.2.0",
60
61
  "@fastify/swagger-ui": "^1.3.0",
61
- "@types/node": "^18.13.0",
62
+ "@types/node": "^20.3.1",
62
63
  "dotenv": "^16.0.3",
63
64
  "fastify": "^4.13.0",
64
65
  "glob": "^8.0.3",
65
66
  "graphql": "^16.6.0",
67
+ "i18n": "^0.15.1",
66
68
  "nanoid": "^4.0.1",
67
69
  "object-sizeof": "^1.6.3",
68
70
  "pino": "^8.10.0",
@@ -71,6 +73,10 @@
71
73
  "semver": "^7.3.8"
72
74
  },
73
75
  "devDependencies": {
76
+ "@types/mocha": "^10.0.1",
77
+ "cross-env": "^7.0.3",
78
+ "expect": "^29.5.0",
79
+ "mocha": "^10.2.0",
74
80
  "nodemon": "^2.0.20",
75
81
  "ts-node": "^10.9.1",
76
82
  "typescript": "^4.9.3"
@@ -0,0 +1,80 @@
1
+ const axios = require('axios')
2
+ const http = axios.create({ baseURL: `http://0.0.0.0:${process.env.PORT?.replace(/\\n/gm, '\n') || 2231}/` })
3
+
4
+ import { DEFAULT_ADMIN_EMAIL, DEFAULT_ADMIN_PASSWORD } from '../common/bootstrap'
5
+
6
+ export async function login(email = DEFAULT_ADMIN_EMAIL, password = DEFAULT_ADMIN_PASSWORD) {
7
+ try {
8
+ delete http.defaults.headers.common.Authorization
9
+ const { data } = await http.post('/auth/login', {
10
+ email,
11
+ password
12
+ })
13
+ http.defaults.headers.common['Authorization'] = `Bearer ${data.token}`
14
+ return data
15
+ } catch (err) {
16
+ console.log(err)
17
+ throw err
18
+ }
19
+ }
20
+
21
+ export async function logout() {
22
+ try {
23
+ delete http.defaults.headers.common.Authorization
24
+ } catch (err) {
25
+ throw err
26
+ }
27
+ }
28
+
29
+ export async function get(...args) {
30
+ try {
31
+ const { data } = await http.get(...args)
32
+ return data
33
+ } catch (err) {
34
+ throw err
35
+ }
36
+ }
37
+
38
+ export async function get_with_headers(...args) {
39
+ try {
40
+ const { data, headers } = await http.get(...args)
41
+ return { data, headers }
42
+ } catch (err) {
43
+ throw err
44
+ }
45
+ }
46
+
47
+ export async function post(...args) {
48
+ try {
49
+ const { data } = await http.post(...args)
50
+ return data
51
+ } catch (err) {
52
+ throw err
53
+ }
54
+ }
55
+
56
+ export async function put(...args) {
57
+ try {
58
+ const { data } = await http.put(...args)
59
+ return data
60
+ } catch (err) {
61
+ throw err
62
+ }
63
+ }
64
+
65
+ export async function del(...args) {
66
+ try {
67
+ const { data } = await http.delete(...args)
68
+ return data
69
+ } catch (err) {
70
+ throw err
71
+ }
72
+ }
73
+
74
+ export function toQueryString(data) {
75
+ let qs = ''
76
+ Object.keys(data).map((k) => {
77
+ qs += `&${k}=${data[k]}`
78
+ })
79
+ return qs.slice(1).replace(' ', '%20')
80
+ }
@@ -0,0 +1,33 @@
1
+ const { start: startServer } = require('../../index')
2
+
3
+ export const DEFAULT_ADMIN_EMAIL = 'admin@user.com'
4
+ export const DEFAULT_ADMIN_PASSWORD = '71iD$k%3X#m4'
5
+ export const COMPANY2_SUPERUSER_EMAIL = 'user@volcanicminds.ai'
6
+ export const COMPANY2_SUPERUSER_PASSWORD = '44O$^yWqn@R4'
7
+
8
+ let server: any
9
+
10
+ export async function startUp() {
11
+ try {
12
+ global.log.level = 'warn'
13
+ server = await startServer()
14
+ } catch (err) {
15
+ console.log(err)
16
+ throw err
17
+ }
18
+ }
19
+
20
+ export async function tearDown() {
21
+ await server.close()
22
+ process.exit(0)
23
+ }
24
+
25
+ export function buildTasks() {
26
+ const taskToSkip = (process.env.MOCHA_SKIP_TASK || '').toLowerCase().split(',')
27
+
28
+ return {
29
+ demo: !taskToSkip.includes('demo'),
30
+ unit: !taskToSkip.includes('unit'),
31
+ e2e: !taskToSkip.includes('e2e')
32
+ }
33
+ }
@@ -0,0 +1,9 @@
1
+ import { expect } from 'expect'
2
+
3
+ module.exports = () => {
4
+ describe('A simple test', () => {
5
+ it('should log useless message', async () => {
6
+ expect(100).toBeGreaterThan(0)
7
+ })
8
+ })
9
+ }
@@ -0,0 +1,14 @@
1
+ export default function load() {
2
+ describe('demo', async () => {
3
+ const fs = require('fs')
4
+ const files = fs.readdirSync(__dirname).filter((file) => !['index.ts'].includes(file))
5
+
6
+ await files.forEach(async (file) => {
7
+ try {
8
+ await require(`./${file}`)()
9
+ } catch (err) {
10
+ global.log.error(err)
11
+ }
12
+ })
13
+ })
14
+ }
@@ -0,0 +1,14 @@
1
+ export default function load() {
2
+ describe('e2e', async () => {
3
+ const fs = require('fs')
4
+ const files = fs.readdirSync(__dirname).filter((file) => !['index.ts'].includes(file))
5
+
6
+ await files.forEach(async (file) => {
7
+ try {
8
+ await require(`./${file}`)()
9
+ } catch (err) {
10
+ global.log.error(err)
11
+ }
12
+ })
13
+ })
14
+ }
@@ -0,0 +1,20 @@
1
+ import { startUp, tearDown, buildTasks } from './common/bootstrap'
2
+
3
+ import demo from './demo'
4
+ import unit from './unit'
5
+ import e2e from './e2e'
6
+
7
+ const pkg = require('../package.json')
8
+
9
+ const beforeAll = global.beforeAll || global.before
10
+ const afterAll = global.afterAll || global.after
11
+
12
+ beforeAll(async () => await startUp())
13
+ afterAll(async () => await tearDown())
14
+
15
+ describe(`Test: ${pkg.name}@${pkg.version} on node@${process.version}`, async () => {
16
+ const tasks = buildTasks()
17
+ tasks.e2e && (await e2e())
18
+ tasks.unit && (await unit())
19
+ tasks.demo && (await demo())
20
+ })
@@ -0,0 +1,14 @@
1
+ export default function load() {
2
+ describe('unit', async () => {
3
+ const fs = require('fs')
4
+ const files = fs.readdirSync(__dirname).filter((file) => !['index.ts'].includes(file))
5
+
6
+ await files.forEach(async (file) => {
7
+ try {
8
+ await require(`./${file}`)()
9
+ } catch (err) {
10
+ global.log.error(err)
11
+ }
12
+ })
13
+ })
14
+ }
@@ -0,0 +1,24 @@
1
+ import { expect } from 'expect'
2
+
3
+ module.exports = () => {
4
+ describe('Semver', () => {
5
+ it('should test semver library', () => {
6
+ const semver = require('semver')
7
+
8
+ const verx = 'v1.2.3'
9
+ const valid = semver.valid(verx)
10
+ const clean = semver.clean(verx)
11
+
12
+ const res1 = semver.satisfies(clean, '>1.0.0 <=1.2.4')
13
+ const res2 = semver.satisfies(clean, '>1.0')
14
+ const res3 = semver.satisfies(clean, '>1.0 <8.0')
15
+
16
+ global.log.debug(verx + ' ' + valid + ' ' + clean)
17
+ global.log.debug(res1 + ' ' + res2 + ' ' + res3)
18
+
19
+ expect(res1).toBeTruthy()
20
+ expect(res2).toBeTruthy()
21
+ expect(res3).toBeTruthy()
22
+ })
23
+ })
24
+ }
@@ -0,0 +1,77 @@
1
+ import { expect } from 'expect'
2
+ import { TranslatedError } from '../../lib/util/errors'
3
+
4
+ module.exports = () => {
5
+ describe('Translation', () => {
6
+ it('should translate various messages', () => {
7
+ try {
8
+ let translated = global.t.__('hello')
9
+ expect(translated).toBe('Hello')
10
+
11
+ translated = global.t.__('hello', 'Superman')
12
+ expect(translated).toBe('Hello')
13
+
14
+ translated = global.t.__('greeting.placeholder.formal', 'Superman')
15
+ expect(translated).toBe('Hello Superman')
16
+
17
+ translated = global.t.__({ phrase: 'greeting.placeholder.informal', locale: 'en' }, 'Superman')
18
+ expect(translated).toBe('Hi Superman')
19
+
20
+ translated = global.t.__({ phrase: 'greeting.placeholder.formal', locale: 'it' }, 'Superman')
21
+ expect(translated).toBe('Ciao Superman')
22
+
23
+ translated = global.t.__(
24
+ { phrase: 'complex', locale: 'en' },
25
+ { user: { firstname: 'Clark', lastname: 'Kent' } }
26
+ )
27
+ expect(translated).toBe('Hello Clark Kent')
28
+
29
+ translated = global.t.__(
30
+ { phrase: 'complex', locale: 'it' },
31
+ { user: { firstname: 'Clark', lastname: 'Kent' } }
32
+ )
33
+ expect(translated).toBe('Ciao Clark Kent')
34
+ } catch (err) {
35
+ global.log.error(err)
36
+ }
37
+ })
38
+
39
+ it('should translate various errors', () => {
40
+ let translated
41
+ try {
42
+ translated = new TranslatedError({ translationCode: 'hello' })
43
+ expect(translated).toBeDefined()
44
+ expect(translated.message).toBe('Hello')
45
+ expect(translated.translationCode).toBe('hello')
46
+ expect(translated.translatedMessage).toBe('Hello')
47
+ expect(translated.data).toMatchObject({})
48
+ expect(translated.name).toBe('TranslatedError')
49
+ expect(translated.locale).toBe('en')
50
+
51
+ translated = new TranslatedError({ translationCode: 'hello', locale: 'it' })
52
+ expect(translated).toBeDefined()
53
+ expect(translated.message).toBe('Ciao')
54
+ expect(translated.translationCode).toBe('hello')
55
+ expect(translated.translatedMessage).toBe('Ciao')
56
+ expect(translated.data).toEqual({})
57
+ expect(translated.name).toBe('TranslatedError')
58
+ expect(translated.locale).toBe('it')
59
+
60
+ translated = new TranslatedError({
61
+ translationCode: 'complex',
62
+ locale: 'it',
63
+ data: { user: { firstname: 'Clark', lastname: 'Kent' } }
64
+ })
65
+ expect(translated).toBeDefined()
66
+ expect(translated.message).toBe('Ciao Clark Kent')
67
+ expect(translated.translationCode).toBe('complex')
68
+ expect(translated.translatedMessage).toBe('Ciao Clark Kent')
69
+ expect(translated.data).toEqual({ user: { firstname: 'Clark', lastname: 'Kent' } })
70
+ expect(translated.name).toBe('TranslatedError')
71
+ expect(translated.locale).toBe('it')
72
+ } catch (err) {
73
+ global.log.error(err)
74
+ }
75
+ })
76
+ })
77
+ }
package/tsconfig.json CHANGED
@@ -23,6 +23,7 @@
23
23
  "allowJs": true,
24
24
  "outDir": "dist",
25
25
  "lib": ["es7"],
26
+ "resolveJsonModule": true,
26
27
  "paths": {
27
28
  "@types": ["./types"]
28
29
  }
@@ -34,6 +35,6 @@
34
35
  // "*": ["*", "components/*"]
35
36
  // }
36
37
  },
37
- "include": ["*.ts", "*.d.ts", "lib/**/*", "config/*", "hooks/*", "types/*"],
38
+ "include": ["*.ts", "*.d.ts", "*.json", "lib/**/*", "lib/**/*.json", "types/*"],
38
39
  "exclude": ["node_modules", "test/**/*"]
39
40
  }
package/types/global.d.ts CHANGED
@@ -112,6 +112,11 @@ export interface TokenManagement {
112
112
  removeTokenById(id: string): any | null
113
113
  }
114
114
 
115
+ export interface DataBaseManagement {
116
+ isImplemented(): boolean
117
+ synchronizeSchemas(): any | null
118
+ }
119
+
115
120
  declare module 'fastify' {
116
121
  export interface FastifyRequest {
117
122
  user?: AuthenticatedUser
@@ -1,5 +0,0 @@
1
- describe('sum module', () => {
2
- test('adds 1 + 2 to equal 3', () => {
3
- expect(1 + 2).toBe(3)
4
- })
5
- })
@@ -1,16 +0,0 @@
1
- describe('semver', () => {
2
- test('simple', () => {
3
- const semver = require('semver')
4
-
5
- const verx = 'v1.2.3+'
6
- const valid = semver.valid(verx)
7
- const clean = semver.clean(verx)
8
-
9
- const res1 = semver.satisfies(clean, '>1.0.0 <=1.2.4')
10
- const res2 = semver.satisfies(clean, '>1.0')
11
- const res3 = semver.satisfies(clean, '>1.0 <8.0')
12
-
13
- console.log(verx + ' ' + valid + ' ' + clean)
14
- console.log(res1 + ' ' + res2 + ' ' + res3)
15
- })
16
- })