@volcanicminds/backend 0.2.14 → 0.2.15

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.
@@ -26,7 +26,7 @@ module.exports = (req, reply) => __awaiter(void 0, void 0, void 0, function* ()
26
26
  id: userId || 123,
27
27
  name: name,
28
28
  email: 'jerry@george.com',
29
- password: 'pippolippo',
29
+ password: 'seinfeld',
30
30
  roles: [roles.public]
31
31
  };
32
32
  log.debug('Inject demo user ' + req.user.id);
@@ -34,8 +34,8 @@ module.exports = (req, reply) => __awaiter(void 0, void 0, void 0, function* ()
34
34
  if (((_b = req.routeConfig.requiredRoles) === null || _b === void 0 ? void 0 : _b.length) > 0) {
35
35
  const { method, url, requiredRoles } = req.routeConfig;
36
36
  const userRoles = ((_d = (_c = req.user) === null || _c === void 0 ? void 0 : _c.roles) === null || _d === void 0 ? void 0 : _d.map(({ code }) => code)) || [];
37
- const resolvedRole = userRoles.length > 0 ? requiredRoles.filter((r) => userRoles.includes(r.code)) : [];
38
- if (!resolvedRole.length) {
37
+ const resolvedRoles = userRoles.length > 0 ? requiredRoles.filter((r) => userRoles.includes(r.code)) : [];
38
+ if (!resolvedRoles.length) {
39
39
  log.w && log.warn(`Not allowed to call ${method.toUpperCase()} ${url}`);
40
40
  return reply
41
41
  .code(403)
@@ -1 +1 @@
1
- {"version":3,"file":"onRequest.js","sourceRoot":"","sources":["../../../lib/hooks/onRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onRequest.js","sourceRoot":"","sources":["../../../lib/hooks/onRequest.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  module.exports = (req, reply) => __awaiter(void 0, void 0, void 0, function* () {
12
- var _a;
13
12
  let extraMessage = '';
14
- if (log.i) {
15
- const elapsed = new Date().getTime() - (((_a = req.startedAt) === null || _a === void 0 ? void 0 : _a.getTime()) || 0);
13
+ if (log.i && req.startedAt) {
14
+ const elapsed = new Date().getTime() - req.startedAt.getTime();
16
15
  extraMessage = `(${elapsed}ms)`;
17
16
  }
18
17
  if (log.t) {
@@ -1 +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,YAAY,GAAW,EAAE,CAAA;IAC7B,IAAI,GAAG,CAAC,CAAC,EAAE;QACT,MAAM,OAAO,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA,MAAA,GAAG,CAAC,SAAS,0CAAE,OAAO,EAAE,KAAI,CAAC,CAAC,CAAA;QAC9E,YAAY,GAAG,IAAI,OAAO,KAAK,CAAA;KAChC;IACD,IAAI,GAAG,CAAC,CAAC,EAAE;QACT,MAAM,OAAO,GAAW,OAAO,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,CAAA;QACrD,MAAM,SAAS,GAAW,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAClF,YAAY,IAAI,IAAI,OAAO,GAAG,SAAS,SAAS,CAAA;KACjD;IAED,MAAM,OAAO,GAAW,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,EAAE,CAAA;IACtF,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"}
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,YAAY,GAAW,EAAE,CAAA;IAC7B,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE;QAC1B,MAAM,OAAO,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;QACtE,YAAY,GAAG,IAAI,OAAO,KAAK,CAAA;KAChC;IACD,IAAI,GAAG,CAAC,CAAC,EAAE;QACT,MAAM,OAAO,GAAW,OAAO,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,CAAA;QACrD,MAAM,SAAS,GAAW,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAClF,YAAY,IAAI,IAAI,OAAO,GAAG,SAAS,SAAS,CAAA;KACjD;IAED,MAAM,OAAO,GAAW,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,EAAE,CAAA;IACtF,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"}
@@ -9,38 +9,39 @@ module.exports = async (req, reply) => {
9
9
  req.roles = () => ((req.user && req.user.roles) || []).map((role: Role) => role?.code) || []
10
10
  req.hasRole = (r: Role) => ((req.user && req.user.roles) || []).some((role: Role) => role?.code === r?.code)
11
11
 
12
- // authorization
12
+ // authorization check
13
13
  const auth = req.headers?.authorization || ''
14
14
  const [prefix, token] = auth.split(' ')
15
15
  if (prefix === 'Bearer' && token != null) {
16
16
  const { sub: userId, name, iat, exp } = reply.server.jwt.verify(token)
17
17
 
18
- // demo
18
+ //TODO: demo
19
19
  if (global.npmDebugServerStarted) {
20
20
  req.user = {
21
21
  id: userId || 123,
22
22
  name: name,
23
23
  email: 'jerry@george.com',
24
- password: 'pippolippo',
24
+ password: 'seinfeld',
25
25
  // roles: [roles.admin, roles.public]
26
26
  roles: [roles.public]
27
- }
27
+ } as AuthenticatedUser
28
+
28
29
  log.debug('Inject demo user ' + req.user.id)
29
30
  }
30
31
 
32
+ //TODO: recall plugin UserManagement for find user or error
33
+
31
34
  if (req.routeConfig.requiredRoles?.length > 0) {
32
35
  const { method, url, requiredRoles } = req.routeConfig
33
36
  const userRoles: string[] = req.user?.roles?.map(({ code }) => code) || []
34
- const resolvedRole = userRoles.length > 0 ? requiredRoles.filter((r) => userRoles.includes(r.code)) : []
37
+ const resolvedRoles = userRoles.length > 0 ? requiredRoles.filter((r) => userRoles.includes(r.code)) : []
35
38
 
36
- if (!resolvedRole.length) {
39
+ if (!resolvedRoles.length) {
37
40
  log.w && log.warn(`Not allowed to call ${method.toUpperCase()} ${url}`)
38
41
  return reply
39
42
  .code(403)
40
43
  .send({ statusCode: 403, code: 'ROLE_NOT_ALLOWED', message: 'Not allowed to call this route' })
41
44
  }
42
45
  }
43
-
44
- // recall UserManager find / enrichment
45
46
  }
46
47
  }
@@ -1,7 +1,7 @@
1
1
  module.exports = async (req, reply) => {
2
2
  let extraMessage: string = ''
3
- if (log.i) {
4
- const elapsed: number = new Date().getTime() - (req.startedAt?.getTime() || 0)
3
+ if (log.i && req.startedAt) {
4
+ const elapsed: number = new Date().getTime() - req.startedAt.getTime()
5
5
  extraMessage = `(${elapsed}ms)`
6
6
  }
7
7
  if (log.t) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volcanicminds/backend",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "codename": "turin",
5
5
  "license": "MIT",
6
6
  "description": "The volcanic (minds) backend",