@volcanicminds/backend 0.2.3 → 0.2.5

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/TODO.md CHANGED
@@ -6,9 +6,16 @@ https://github.com/fastify/fastify-swagger
6
6
  https://www.fastify.io/docs/latest/Reference/Validation-and-Serialization/
7
7
  https://json-schema.org/draft/2020-12/json-schema-validation.html#name-pattern
8
8
 
9
- - database psql
10
- - models
9
+ - route schemas ($ref)
11
10
  - validations
12
11
  - authentication
13
12
  - metrics (plugin?)
14
13
  - api versioning
14
+
15
+ ## knex
16
+
17
+ https://www.atatus.com/blog/node-js-orms-and-why-you-shouldnt-use-them/
18
+ https://devhints.io/knex
19
+ https://zetcode.com/javascript/knex/
20
+ https://www.rockyourcode.com/docker-postgres-knex-setup/
21
+ https://knexjs.org
package/dist/index.js CHANGED
@@ -56,7 +56,6 @@ const fastify_2 = __importStar(require("@as-integrations/fastify"));
56
56
  const context_1 = require("./lib/apollo/context");
57
57
  const resolvers_1 = __importDefault(require("./lib/apollo/resolvers"));
58
58
  const type_defs_1 = __importDefault(require("./lib/apollo/type-defs"));
59
- const common_1 = require("./lib/util/common");
60
59
  function attachApollo(fastify) {
61
60
  return __awaiter(this, void 0, void 0, function* () {
62
61
  log.info('Attach ApolloServer to Fastify');
@@ -83,25 +82,7 @@ function addFastifyRouting(fastify) {
83
82
  return __awaiter(this, void 0, void 0, function* () {
84
83
  log.trace('Add fastify routes');
85
84
  loaderHooks.apply(fastify);
86
- fastify.addHook('onResponse', (req, reply) => __awaiter(this, void 0, void 0, function* () {
87
- var _a;
88
- const elapsed = new Date().getTime() - (((_a = req.start) === null || _a === void 0 ? void 0 : _a.getTime()) || 0);
89
- const message = `Return ${reply.statusCode} - ${req.method} ${req.url} (${elapsed}ms)`;
90
- reply.statusCode < 300 ? log.info(message) : reply.statusCode < 400 ? log.warn(message) : log.error(message);
91
- }));
92
- fastify.addHook('onError', (req, reply, error) => __awaiter(this, void 0, void 0, function* () {
93
- log.debug(`onError ${error}`);
94
- }));
95
- fastify.addHook('onRequest', (req, reply) => __awaiter(this, void 0, void 0, function* () {
96
- req.start = new Date();
97
- req.user = {
98
- id: 306,
99
- name: 'Huseyin',
100
- roles: ['admin', 'public']
101
- };
102
- req.data = () => (0, common_1.getData)(req);
103
- req.pars = () => (0, common_1.getParams)(req);
104
- }));
85
+ fastify.addHook('onRequest', (req, reply) => __awaiter(this, void 0, void 0, function* () { }));
105
86
  const routes = loaderRouter.load();
106
87
  routes && loaderRouter.apply(fastify, routes);
107
88
  });
@@ -181,14 +162,14 @@ const start = () => __awaiter(void 0, void 0, void 0, function* () {
181
162
  .then((address) => {
182
163
  const elapsed = (new Date().getTime() - begin) / 100;
183
164
  log.info(`All stuff loaded in ${elapsed} sec`);
184
- log.info(`🚀 Server ready at ${address}`);
165
+ log.info(`Server ready at ${address} 🚀`);
185
166
  const loadSwagger = (0, yn_1.default)(process.env.SWAGGER, false);
186
- loadSwagger && log.info(`📄 Swagger ready at ${address}${process.env.SWAGGER_PREFIX_URL || '/documentation'}`);
167
+ loadSwagger && log.info(`Swagger ready at ${address}${process.env.SWAGGER_PREFIX_URL || '/documentation'} 📄`);
187
168
  });
188
169
  return fastify;
189
170
  });
190
- var common_2 = require("./lib/util/common");
191
- Object.defineProperty(exports, "getData", { enumerable: true, get: function () { return common_2.getData; } });
171
+ var common_1 = require("./lib/util/common");
172
+ Object.defineProperty(exports, "getData", { enumerable: true, get: function () { return common_1.getData; } });
192
173
  module.exports = start;
193
174
  module.exports.server = start;
194
175
  module.exports.default = start;
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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"}
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.demo = exports.isAdmin = exports.user = void 0;
12
+ exports.isAdmin = exports.user = void 0;
13
13
  function user(req, reply) {
14
14
  return __awaiter(this, void 0, void 0, function* () {
15
15
  reply.send(req.user || {});
@@ -19,21 +19,8 @@ exports.user = user;
19
19
  function isAdmin(req, reply) {
20
20
  var _a;
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
- reply.send({ isAdmin: (((_a = req.user) === null || _a === void 0 ? void 0 : _a.roles) || []).includes('admin') || false });
22
+ reply.send({ isAdmin: !!((_a = req.user) === null || _a === void 0 ? void 0 : _a.id) && req.user.getRoles().includes('admin') });
23
23
  });
24
24
  }
25
25
  exports.isAdmin = isAdmin;
26
- function demo(req, reply) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- const data = req.data();
29
- log.debug('data ' + data.id + ' ' + data.role);
30
- reply.send({
31
- id: data.id || 'notfound',
32
- demo: true,
33
- date: new Date(),
34
- body: data
35
- });
36
- });
37
- }
38
- exports.demo = demo;
39
26
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../lib/api/users/controller/user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAsB,IAAI,CAAC,GAAmB,EAAE,KAAmB;;QACjE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC5B,CAAC;CAAA;AAFD,oBAEC;AAED,SAAsB,OAAO,CAAC,GAAmB,EAAE,KAAmB;;;QACpE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;;CAC5E;AAFD,0BAEC;AAED,SAAsB,IAAI,CAAC,GAAmB,EAAE,KAAmB;;QACjE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAEvB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QAE9C,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU;YACzB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;CAAA;AAXD,oBAWC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../lib/api/users/controller/user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAsB,IAAI,CAAC,GAAmB,EAAE,KAAmB;;QACjE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC5B,CAAC;CAAA;AAFD,oBAEC;AAED,SAAsB,OAAO,CAAC,GAAmB,EAAE,KAAmB;;;QACpE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE,CAAA,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;;CACjF;AAFD,0BAEC"}
@@ -53,97 +53,6 @@ module.exports = {
53
53
  deprecated: false,
54
54
  version: false
55
55
  }
56
- },
57
- {
58
- method: 'GET',
59
- path: '/demo',
60
- roles: [],
61
- handler: 'user.demo',
62
- middlewares: ['global.isAdmin'],
63
- config: {
64
- enable: false,
65
- title: 'Me title',
66
- description: 'Me description',
67
- deprecated: false,
68
- version: false,
69
- params: {
70
- type: 'object',
71
- properties: {
72
- id: {
73
- type: 'string',
74
- description: 'user id'
75
- }
76
- }
77
- },
78
- response: {
79
- 201: {
80
- description: 'Successful response',
81
- type: 'object',
82
- properties: {
83
- hello: { type: 'string' }
84
- }
85
- },
86
- 200: {
87
- description: 'Default response',
88
- type: 'object',
89
- properties: {
90
- id: { type: 'string' },
91
- demo: { type: 'boolean' },
92
- date: { type: 'string' },
93
- query: { type: 'object' },
94
- body: { type: 'object' }
95
- }
96
- }
97
- }
98
- }
99
- },
100
- {
101
- method: 'POST',
102
- path: '/demo',
103
- roles: [],
104
- handler: 'user.demo',
105
- middlewares: ['global.isAdmin'],
106
- config: {
107
- enable: false,
108
- title: 'Me title',
109
- description: 'Me description',
110
- deprecated: false,
111
- version: false,
112
- body: {
113
- type: 'object',
114
- properties: {
115
- id: {
116
- type: 'string',
117
- description: 'user id'
118
- }
119
- }
120
- },
121
- response: {
122
- 201: {
123
- description: 'Successful response',
124
- type: 'object',
125
- properties: {
126
- hello: { type: 'string' }
127
- }
128
- },
129
- 200: {
130
- description: 'Default response',
131
- type: 'object',
132
- properties: {
133
- id: { type: 'string' },
134
- demo: { type: 'boolean' },
135
- date: { type: 'string' },
136
- body: {
137
- type: 'object',
138
- properties: {
139
- id: { type: 'string' },
140
- role: { type: 'string' }
141
- }
142
- }
143
- }
144
- }
145
- }
146
- }
147
56
  }
148
57
  ]
149
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../lib/api/users/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../lib/api/users/routes.ts"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE;QACN,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,YAAY;QACxB,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,KAAK;KACf;IACD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,CAAC,wBAAwB,CAAC;YACvC,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,kBAAkB;gBAC/B,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE;oBACR,GAAG,EAAE;wBACH,WAAW,EAAE,qBAAqB;wBAClC,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;oBACD,GAAG,EAAE;wBACH,WAAW,EAAE,kBAAkB;wBAC/B,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBACvB;qBACF;iBACF;aACF;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,CAAC,wBAAwB,CAAC;YACvC,MAAM,EAAE;gBACN,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,uCAAuC;gBACpD,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,KAAK;aACf;SACF;KACF;CACF,CAAA"}
@@ -0,0 +1,14 @@
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
+ module.exports = (req, reply, error) => __awaiter(void 0, void 0, void 0, function* () {
12
+ log.debug(`onError ${error}`);
13
+ });
14
+ //# sourceMappingURL=onError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onError.js","sourceRoot":"","sources":["../../../lib/hooks/onError.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,MAAM,CAAC,OAAO,GAAG,CAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC3C,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;AAC/B,CAAC,CAAA,CAAA"}
@@ -8,10 +8,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- function hook(req, reply) {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- log.debug('aaaaaaaaaa');
14
- });
15
- }
16
- module.exports = { hook };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const common_1 = require("../util/common");
13
+ module.exports = (req, reply) => __awaiter(void 0, void 0, void 0, function* () {
14
+ req.start = new Date();
15
+ req.data = () => (0, common_1.getData)(req);
16
+ req.pars = () => (0, common_1.getParams)(req);
17
+ if (req.user) {
18
+ req.user.getRoles = () => { var _a, _b; return ((_b = (_a = req.user) === null || _a === void 0 ? void 0 : _a.roles) === null || _b === void 0 ? void 0 : _b.map(({ code }) => code)) || []; };
19
+ }
20
+ if (global.npmDebugServerStarted) {
21
+ req.user = {
22
+ id: 123,
23
+ name: 'Jerry',
24
+ roles: [roles.admin, roles.public, roles.mechanic]
25
+ };
26
+ log.debug('Inject demo user ' + JSON.stringify(req.user));
27
+ }
28
+ });
17
29
  //# sourceMappingURL=onRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onRequest.js","sourceRoot":"","sources":["../../../lib/hooks/onRequest.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,SAAe,IAAI,CAAC,GAAG,EAAE,KAAK;;QAC5B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACzB,CAAC;CAAA;AAED,MAAM,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"onRequest.js","sourceRoot":"","sources":["../../../lib/hooks/onRequest.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAmD;AAEnD,MAAM,CAAC,OAAO,GAAG,CAAO,GAAG,EAAE,KAAK,EAAE,EAAE;IACpC,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAA,gBAAO,EAAC,GAAG,CAAC,CAAA;IAC7B,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,GAAG,CAAC,IAAI,EAAE;QACZ,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,eAAC,OAAA,CAAA,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,0CAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAI,EAAE,CAAA,EAAA,CAAA;KACzE;IAGD,IAAI,MAAM,CAAC,qBAAqB,EAAE;QAChC,GAAG,CAAC,IAAI,GAAG;YACT,EAAE,EAAE,GAAG;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;SACnD,CAAA;QACD,GAAG,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;KAC1D;AACH,CAAC,CAAA,CAAA"}
@@ -0,0 +1,23 @@
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
+ module.exports = (req, reply) => __awaiter(void 0, void 0, void 0, function* () {
12
+ var _a;
13
+ let payloadSizesMessage = '';
14
+ if (log.t) {
15
+ const reqSize = `req: ${req.payloadSize}`;
16
+ const replySize = reply.payloadSize ? ` reply: ${reply.payloadSize}` : '';
17
+ payloadSizesMessage = ` [${reqSize}${replySize} bytes]`;
18
+ }
19
+ const elapsed = new Date().getTime() - (((_a = req.start) === null || _a === void 0 ? void 0 : _a.getTime()) || 0);
20
+ const message = `${req.method} ${req.url} ${reply.statusCode} (${elapsed}ms)${payloadSizesMessage}`;
21
+ reply.statusCode < 300 ? log.info(message) : reply.statusCode < 400 ? log.warn(message) : log.error(message);
22
+ });
23
+ //# sourceMappingURL=onResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onResponse.js","sourceRoot":"","sources":["../../../lib/hooks/onResponse.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,MAAM,CAAC,OAAO,GAAG,CAAO,GAAG,EAAE,KAAK,EAAE,EAAE;;IACpC,IAAI,mBAAmB,GAAW,EAAE,CAAA;IACpC,IAAI,GAAG,CAAC,CAAC,EAAE;QACT,MAAM,OAAO,GAAW,QAAQ,GAAG,CAAC,WAAW,EAAE,CAAA;QACjD,MAAM,SAAS,GAAW,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACjF,mBAAmB,GAAG,KAAK,OAAO,GAAG,SAAS,SAAS,CAAA;KACxD;IAED,MAAM,OAAO,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA,MAAA,GAAG,CAAC,KAAK,0CAAE,OAAO,EAAE,KAAI,CAAC,CAAC,CAAA;IAC1E,MAAM,OAAO,GAAW,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,MAAM,mBAAmB,EAAE,CAAA;IAC3G,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC9G,CAAC,CAAA,CAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const object_sizeof_1 = __importDefault(require("object-sizeof"));
16
+ module.exports = (req, reply, payload) => __awaiter(void 0, void 0, void 0, function* () {
17
+ if (log.t) {
18
+ req.payloadSize = (0, object_sizeof_1.default)(req.data()) + (0, object_sizeof_1.default)(req.pars()) + (0, object_sizeof_1.default)(req.query);
19
+ reply.payloadSize = (0, object_sizeof_1.default)(payload);
20
+ }
21
+ });
22
+ //# sourceMappingURL=preSerialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preSerialization.js","sourceRoot":"","sources":["../../../lib/hooks/preSerialization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kEAAkC;AAElC,MAAM,CAAC,OAAO,GAAG,CAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC7C,IAAI,GAAG,CAAC,CAAC,EAAE;QACT,GAAG,CAAC,WAAW,GAAG,IAAA,uBAAM,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAA,uBAAM,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAA,uBAAM,EAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7E,KAAK,CAAC,WAAW,GAAG,IAAA,uBAAM,EAAC,OAAO,CAAC,CAAA;KACpC;AACH,CAAC,CAAA,CAAA"}
@@ -13,20 +13,19 @@ const hooks = [
13
13
  'onRegistry',
14
14
  'preParsing',
15
15
  'preValidation',
16
- 'preSeralization',
16
+ 'preSerialization',
17
17
  'preHandler'
18
18
  ];
19
19
  const glob = require('glob');
20
20
  const path = require('path');
21
21
  function apply(server) {
22
- log.debug('LOAD HOOKS');
23
22
  const patterns = [`${__dirname}/../hooks/*.{ts,js}`, `${process.cwd()}/src/hooks/*.{ts,js}`];
24
23
  const allHooks = hooks.reduce((acc, v) => (Object.assign(Object.assign({}, acc), { [v]: [] })), {});
25
24
  patterns.forEach((pattern) => {
26
25
  log.d && log.debug('Looking for ' + pattern);
27
26
  glob.sync(pattern).forEach((f) => {
28
27
  const hookName = path.basename(f, path.extname(f));
29
- const { hook: fn } = require(f);
28
+ const fn = require(f);
30
29
  if (fn != null) {
31
30
  if (allHooks[hookName] == null) {
32
31
  allHooks[hookName] = [];
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../lib/loader/hooks.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,YAAY;CACb,CAAA;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,SAAgB,KAAK,CAAC,MAAW;IAC/B,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAEvB,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,qBAAqB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;IAC5F,MAAM,QAAQ,GAAQ,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAM,GAAG,KAAE,CAAC,CAAC,CAAC,EAAE,EAAgB,IAAG,EAAE,EAAE,CAAC,CAAA;IAGvF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAE/B,IAAI,EAAE,IAAI,IAAI,EAAE;gBACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;oBAC9B,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAgB,CAAA;iBACtC;gBACD,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;aAClD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrB,MAAM,GAAG,GAAe,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1C,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,KAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;QACrE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,IAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAc,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;AACJ,CAAC;AA3BD,sBA2BC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../lib/loader/hooks.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,YAAY;CACb,CAAA;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,SAAgB,KAAK,CAAC,MAAW;IAE/B,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,qBAAqB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;IAC5F,MAAM,QAAQ,GAAQ,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAM,GAAG,KAAE,CAAC,CAAC,CAAC,EAAE,EAAgB,IAAG,EAAE,EAAE,CAAC,CAAA;IAGvF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAErB,IAAI,EAAE,IAAI,IAAI,EAAE;gBACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;oBAC9B,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAgB,CAAA;iBACtC;gBACD,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;aAClD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrB,MAAM,GAAG,GAAe,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1C,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,KAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;QACrE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,IAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAc,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;AACJ,CAAC;AA1BD,sBA0BC"}
@@ -110,12 +110,12 @@ function apply(server, routes) {
110
110
  schema: doc,
111
111
  preHandler: allMiddlewares,
112
112
  handler: (req, reply) => {
113
- var _a;
113
+ var _a, _b;
114
114
  try {
115
115
  if ((roles === null || roles === void 0 ? void 0 : roles.length) > 0) {
116
- const userRoles = ((_a = req.user) === null || _a === void 0 ? void 0 : _a.roles) || [];
117
- const resolvedRole = roles.filter((r) => userRoles.includes(r.code));
118
- if (!resolvedRole || resolvedRole.length === 0) {
116
+ const userRoles = ((_b = (_a = req.user) === null || _a === void 0 ? void 0 : _a.roles) === null || _b === void 0 ? void 0 : _b.map(({ code }) => code)) || [];
117
+ const resolvedRole = userRoles.length > 0 ? roles.filter((r) => userRoles.includes(r.code)) : [];
118
+ if (!!(resolvedRole === null || resolvedRole === void 0 ? void 0 : resolvedRole.length)) {
119
119
  log.w && log.warn(`Not allowed to call ${method.toUpperCase()} ${path}`);
120
120
  return reply.code(403).send();
121
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../lib/loader/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../lib/loader/router.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const log = global.log;
4
4
  module.exports = (req, res, next) => {
5
- var _a, _b, _c;
5
+ var _a, _b;
6
6
  try {
7
- if (!!((_a = req.user) === null || _a === void 0 ? void 0 : _a.id) && (((_b = req.user) === null || _b === void 0 ? void 0 : _b.roles) || []).includes(roles.admin.code)) {
8
- log.d && log.trace('isAdmin - user id ' + ((_c = req.user) === null || _c === void 0 ? void 0 : _c.id));
7
+ if (!!((_a = req.user) === null || _a === void 0 ? void 0 : _a.id) && req.user.getRoles().includes(roles.admin.code)) {
8
+ log.d && log.trace('isAdmin - user id ' + ((_b = req.user) === null || _b === void 0 ? void 0 : _b.id));
9
9
  return next();
10
10
  }
11
11
  throw new Error('User not valid');
@@ -1 +1 @@
1
- {"version":3,"file":"isAdmin.js","sourceRoot":"","sources":["../../../lib/middleware/isAdmin.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;AACtB,MAAM,CAAC,OAAO,GAAG,CAAC,GAAmB,EAAE,GAAiB,EAAE,IAAS,EAAE,EAAE;;IACrE,IAAI;QACF,IAAI,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE,CAAA,IAAI,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACxE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE,CAAA,CAAC,CAAA;YACvD,OAAO,IAAI,EAAE,CAAA;SACd;QACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAClC;IAAC,OAAO,GAAG,EAAE;QACZ,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;QAC1D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACxB;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"isAdmin.js","sourceRoot":"","sources":["../../../lib/middleware/isAdmin.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;AACtB,MAAM,CAAC,OAAO,GAAG,CAAC,GAAmB,EAAE,GAAiB,EAAE,IAAS,EAAE,EAAE;;IACrE,IAAI;QACF,IAAI,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE,CAAA,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACpE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE,CAAA,CAAC,CAAA;YACvD,OAAO,IAAI,EAAE,CAAA;SACd;QACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAClC;IAAC,OAAO,GAAG,EAAE;QACZ,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;QAC1D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACxB;AACH,CAAC,CAAA"}
package/dist/server.js CHANGED
@@ -1,3 +1,4 @@
1
1
  'use strict';
2
+ global.npmDebugServerStarted = true;
2
3
  require('./index')();
3
4
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAA;AACnC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA"}
package/index.ts CHANGED
@@ -24,8 +24,6 @@ import fastifyApollo, { fastifyApolloHandler, fastifyApolloDrainPlugin } from '@
24
24
  import { myContextFunction, MyContext } from './lib/apollo/context'
25
25
  import resolvers from './lib/apollo/resolvers'
26
26
  import typeDefs from './lib/apollo/type-defs'
27
- import { getParams, getData } from './lib/util/common'
28
- // import { FastifyRequest } from './../types/global'
29
27
 
30
28
  async function attachApollo(fastify: FastifyInstance) {
31
29
  log.info('Attach ApolloServer to Fastify')
@@ -60,55 +58,9 @@ async function addApolloRouting(fastify: FastifyInstance, apollo: ApolloServer<M
60
58
  async function addFastifyRouting(fastify: FastifyInstance) {
61
59
  log.trace('Add fastify routes')
62
60
 
63
- // fastify.addHook('onSend', async (req, reply) => {
64
- // log.debug('onSend')
65
- // })
66
-
67
61
  loaderHooks.apply(fastify)
68
62
 
69
- fastify.addHook('onResponse', async (req, reply) => {
70
- const elapsed: number = new Date().getTime() - (req.start?.getTime() || 0)
71
- const message: string = `Return ${reply.statusCode} - ${req.method} ${req.url} (${elapsed}ms)`
72
- reply.statusCode < 300 ? log.info(message) : reply.statusCode < 400 ? log.warn(message) : log.error(message)
73
- // log.debug(req)
74
- // log.debug('onResponse')
75
- })
76
-
77
- // fastify.addHook('onTimeout', async (req, reply) => {
78
- // log.debug('onTimeout')
79
- // })
80
-
81
- // fastify.addHook('onReady', async () => {
82
- // log.debug('onReady')
83
- // })
84
-
85
- // fastify.addHook('onClose', async (instance) => {
86
- // log.debug('onClose')
87
- // })
88
-
89
- fastify.addHook('onError', async (req, reply, error) => {
90
- log.debug(`onError ${error}`)
91
- })
92
-
93
- fastify.addHook('onRequest', async (req, reply) => {
94
- req.start = new Date()
95
- req.user = {
96
- id: 306,
97
- name: 'Huseyin',
98
- roles: ['admin', 'public']
99
- }
100
- req.data = () => getData(req)
101
- req.pars = () => getParams(req)
102
- })
103
-
104
- // fastify.addHook('preParsing', async (req) => {
105
- // log.debug(`preParsing ${req.method} ${req.url}`)
106
- // req.user = {
107
- // id: 42,
108
- // name: 'Jane Doe',
109
- // roles: ['admin', 'public']
110
- // }
111
- // })
63
+ fastify.addHook('onRequest', async (req, reply) => {})
112
64
 
113
65
  const routes = loaderRouter.load()
114
66
  routes && loaderRouter.apply(fastify, routes)
@@ -253,10 +205,10 @@ const start = async () => {
253
205
  .then((address) => {
254
206
  const elapsed = (new Date().getTime() - begin) / 100
255
207
  log.info(`All stuff loaded in ${elapsed} sec`)
256
- log.info(`🚀 Server ready at ${address}`)
208
+ log.info(`Server ready at ${address} 🚀`)
257
209
 
258
210
  const loadSwagger = yn(process.env.SWAGGER, false)
259
- loadSwagger && log.info(`📄 Swagger ready at ${address}${process.env.SWAGGER_PREFIX_URL || '/documentation'}`)
211
+ loadSwagger && log.info(`Swagger ready at ${address}${process.env.SWAGGER_PREFIX_URL || '/documentation'} 📄`)
260
212
  })
261
213
 
262
214
  return fastify
@@ -5,18 +5,5 @@ export async function user(req: FastifyRequest, reply: FastifyReply) {
5
5
  }
6
6
 
7
7
  export async function isAdmin(req: FastifyRequest, reply: FastifyReply) {
8
- reply.send({ isAdmin: (req.user?.roles || []).includes('admin') || false })
9
- }
10
-
11
- export async function demo(req: FastifyRequest, reply: FastifyReply) {
12
- const data = req.data() // query or body
13
-
14
- log.debug('data ' + data.id + ' ' + data.role)
15
-
16
- reply.send({
17
- id: data.id || 'notfound',
18
- demo: true,
19
- date: new Date(),
20
- body: data
21
- })
8
+ reply.send({ isAdmin: !!req.user?.id && req.user.getRoles().includes('admin') })
22
9
  }
@@ -52,97 +52,6 @@ module.exports = {
52
52
  deprecated: false,
53
53
  version: false
54
54
  }
55
- },
56
- {
57
- method: 'GET',
58
- path: '/demo',
59
- roles: [],
60
- handler: 'user.demo',
61
- middlewares: ['global.isAdmin'],
62
- config: {
63
- enable: false,
64
- title: 'Me title', // swagger summary
65
- description: 'Me description', // swagger
66
- deprecated: false, // swagger
67
- version: false, // swagger
68
- params: {
69
- type: 'object',
70
- properties: {
71
- id: {
72
- type: 'string',
73
- description: 'user id'
74
- }
75
- }
76
- }, // swagger
77
- response: {
78
- 201: {
79
- description: 'Successful response',
80
- type: 'object',
81
- properties: {
82
- hello: { type: 'string' }
83
- }
84
- },
85
- 200: {
86
- description: 'Default response',
87
- type: 'object',
88
- properties: {
89
- id: { type: 'string' },
90
- demo: { type: 'boolean' },
91
- date: { type: 'string' },
92
- query: { type: 'object' },
93
- body: { type: 'object' }
94
- }
95
- }
96
- } // swagger
97
- }
98
- },
99
- {
100
- method: 'POST',
101
- path: '/demo',
102
- roles: [],
103
- handler: 'user.demo',
104
- middlewares: ['global.isAdmin'],
105
- config: {
106
- enable: false,
107
- title: 'Me title', // swagger summary
108
- description: 'Me description', // swagger
109
- deprecated: false, // swagger
110
- version: false, // swagger
111
- body: {
112
- type: 'object',
113
- properties: {
114
- id: {
115
- type: 'string',
116
- description: 'user id'
117
- }
118
- }
119
- }, // swagger
120
- response: {
121
- 201: {
122
- description: 'Successful response',
123
- type: 'object',
124
- properties: {
125
- hello: { type: 'string' }
126
- }
127
- },
128
- 200: {
129
- description: 'Default response',
130
- type: 'object',
131
- properties: {
132
- id: { type: 'string' },
133
- demo: { type: 'boolean' },
134
- date: { type: 'string' },
135
- body: {
136
- type: 'object',
137
- properties: {
138
- id: { type: 'string' },
139
- role: { type: 'string' }
140
- }
141
- }
142
- }
143
- }
144
- } // swagger
145
- }
146
55
  }
147
56
  ]
148
57
  }
@@ -0,0 +1,3 @@
1
+ module.exports = async (req, reply, error) => {
2
+ log.debug(`onError ${error}`)
3
+ }
@@ -1,5 +1,20 @@
1
- async function hook(req, reply) {
2
- log.debug('aaaaaaaaaa')
3
- }
1
+ import { getParams, getData } from '../util/common'
2
+
3
+ module.exports = async (req, reply) => {
4
+ req.start = new Date()
5
+ req.data = () => getData(req)
6
+ req.pars = () => getParams(req)
7
+ if (req.user) {
8
+ req.user.getRoles = () => req.user?.roles?.map(({ code }) => code) || []
9
+ }
4
10
 
5
- module.exports = { hook }
11
+ // demo
12
+ if (global.npmDebugServerStarted) {
13
+ req.user = {
14
+ id: 123,
15
+ name: 'Jerry',
16
+ roles: [roles.admin, roles.public, roles.mechanic]
17
+ }
18
+ log.debug('Inject demo user ' + JSON.stringify(req.user))
19
+ }
20
+ }
@@ -0,0 +1,12 @@
1
+ module.exports = async (req, reply) => {
2
+ let payloadSizesMessage: string = ''
3
+ if (log.t) {
4
+ const reqSize: string = `req: ${req.payloadSize}`
5
+ const replySize: string = reply.payloadSize ? ` reply: ${reply.payloadSize}` : ''
6
+ payloadSizesMessage = ` [${reqSize}${replySize} bytes]`
7
+ }
8
+
9
+ const elapsed: number = new Date().getTime() - (req.start?.getTime() || 0)
10
+ const message: string = `${req.method} ${req.url} ${reply.statusCode} (${elapsed}ms)${payloadSizesMessage}`
11
+ reply.statusCode < 300 ? log.info(message) : reply.statusCode < 400 ? log.warn(message) : log.error(message)
12
+ }
@@ -0,0 +1,8 @@
1
+ import sizeof from 'object-sizeof'
2
+
3
+ module.exports = async (req, reply, payload) => {
4
+ if (log.t) {
5
+ req.payloadSize = sizeof(req.data()) + sizeof(req.pars()) + sizeof(req.query)
6
+ reply.payloadSize = sizeof(payload)
7
+ }
8
+ }
@@ -10,7 +10,7 @@ const hooks = [
10
10
  'onRegistry',
11
11
  'preParsing',
12
12
  'preValidation',
13
- 'preSeralization',
13
+ 'preSerialization',
14
14
  'preHandler'
15
15
  ]
16
16
 
@@ -18,7 +18,6 @@ const glob = require('glob')
18
18
  const path = require('path')
19
19
 
20
20
  export function apply(server: any): void {
21
- log.debug('LOAD HOOKS')
22
21
  //const patterns = [`{${__dirname},${process.cwd()}}/../hooks/*.{ts,js}`]
23
22
  const patterns = [`${__dirname}/../hooks/*.{ts,js}`, `${process.cwd()}/src/hooks/*.{ts,js}`]
24
23
  const allHooks: any = hooks.reduce((acc, v) => ({ ...acc, [v]: [] as Function[] }), {})
@@ -28,7 +27,7 @@ export function apply(server: any): void {
28
27
  log.d && log.debug('Looking for ' + pattern)
29
28
  glob.sync(pattern).forEach((f: string) => {
30
29
  const hookName = path.basename(f, path.extname(f))
31
- const { hook: fn } = require(f)
30
+ const fn = require(f)
32
31
 
33
32
  if (fn != null) {
34
33
  if (allHooks[hookName] == null) {
@@ -140,10 +140,10 @@ export function apply(server: any, routes: ConfiguredRoute[]): void {
140
140
  handler: (req: FastifyRequest, reply: FastifyReply) => {
141
141
  try {
142
142
  if (roles?.length > 0) {
143
- const userRoles = req.user?.roles || []
144
- const resolvedRole = roles.filter((r) => userRoles.includes(r.code))
143
+ const userRoles: string[] = req.user?.roles?.map(({ code }) => code) || []
144
+ const resolvedRole = userRoles.length > 0 ? roles.filter((r) => userRoles.includes(r.code)) : []
145
145
 
146
- if (!resolvedRole || resolvedRole.length === 0) {
146
+ if (!!resolvedRole?.length) {
147
147
  log.w && log.warn(`Not allowed to call ${method.toUpperCase()} ${path}`)
148
148
  return reply.code(403).send()
149
149
  }
@@ -3,7 +3,7 @@ import { FastifyReply, FastifyRequest } from 'fastify'
3
3
  const log = global.log
4
4
  module.exports = (req: FastifyRequest, res: FastifyReply, next: any) => {
5
5
  try {
6
- if (!!req.user?.id && (req.user?.roles || []).includes(roles.admin.code)) {
6
+ if (!!req.user?.id && req.user.getRoles().includes(roles.admin.code)) {
7
7
  log.d && log.trace('isAdmin - user id ' + req.user?.id)
8
8
  return next()
9
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volcanicminds/backend",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "codename": "turin",
5
5
  "license": "MIT",
6
6
  "description": "The volcanic (minds) backend",
@@ -22,7 +22,6 @@
22
22
  "javascript",
23
23
  "rest",
24
24
  "restful",
25
- "postgresql",
26
25
  "graphql",
27
26
  "pino",
28
27
  "rate limit",
@@ -55,6 +54,7 @@
55
54
  "dotenv": "^16.0.3",
56
55
  "fastify": "^4.9.2",
57
56
  "graphql": "^16.6.0",
57
+ "object-sizeof": "^1.6.3",
58
58
  "pino": "^8.7.0",
59
59
  "pino-pretty": "^9.1.1",
60
60
  "root-require": "^0.3.1"
package/server.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  'use strict'
2
2
 
3
+ global.npmDebugServerStarted = true // internal debug purpose
3
4
  require('./index')()
package/types/global.d.ts CHANGED
@@ -2,8 +2,9 @@ import { FastifyRequest, FastifyReply } from 'fastify'
2
2
 
3
3
  export interface AuthenticatedUser {
4
4
  id: number
5
- name: string
6
- roles: string[]
5
+ extra: any
6
+ roles: Role[]
7
+ getRoles(): string[]
7
8
  }
8
9
 
9
10
  export interface Role {
@@ -72,6 +73,10 @@ declare module 'fastify' {
72
73
  start?: Date
73
74
  data(): Data
74
75
  pars(): Data
76
+ payloadSize?: number
77
+ }
78
+ export interface FastifyReply {
79
+ payloadSize?: number
75
80
  }
76
81
  }
77
82
 
@@ -80,15 +85,22 @@ export interface FastifyRequest extends FastifyRequest {
80
85
  start?: Date
81
86
  data(): Data
82
87
  pars(): Data
88
+ payloadSize?: number
83
89
  }
84
90
 
85
- export interface FastifyReply extends FastifyReply {}
91
+ export interface FastifyReply extends FastifyReply {
92
+ payloadSize?: number
93
+ }
86
94
 
87
95
  export interface global {}
88
96
 
89
97
  declare global {
90
98
  var log: any
91
99
  var roles: Roles
100
+ var database: {
101
+ model: any
102
+ repository: any
103
+ }
92
104
  }
93
105
 
94
106
  export { global }