@volcanicminds/backend 2.2.0 → 2.2.1

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.
@@ -9,4 +9,7 @@ export declare function remove(req: FastifyRequest, reply: FastifyReply): Promis
9
9
  export declare function getCurrentUser(req: FastifyRequest, reply: FastifyReply): Promise<never>;
10
10
  export declare function updateCurrentUser(req: FastifyRequest, reply: FastifyReply): Promise<any>;
11
11
  export declare function isAdmin(req: FastifyRequest, reply: FastifyReply): Promise<never>;
12
+ export declare function resetMfa(req: FastifyRequest, reply: FastifyReply): Promise<{
13
+ ok: boolean;
14
+ }>;
12
15
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../lib/api/users/controller/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGtD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAGtE;AAED,wBAAsB,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAEnE;AAED,wBAAsB,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAGlE;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAIrE;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAepE;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAQpE;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAMpE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAG5E;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAS/E;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAGrE"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../lib/api/users/controller/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGtD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAGtE;AAED,wBAAsB,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAEnE;AAED,wBAAsB,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAGlE;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAIrE;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAepE;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAQpE;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAMpE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAG5E;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAS/E;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,kBAGrE;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAkBtE"}
@@ -59,4 +59,21 @@ export async function isAdmin(req, reply) {
59
59
  const user = req.user;
60
60
  return reply.send({ isAdmin: user?.getId() && req.hasRole(roles.admin) });
61
61
  }
62
+ export async function resetMfa(req, reply) {
63
+ const { id } = req.parameters();
64
+ if (!req.hasRole(roles.admin)) {
65
+ return reply.status(403).send(new Error('Only admins can reset MFA'));
66
+ }
67
+ if (!id) {
68
+ return reply.status(400).send(new Error('Missing user id'));
69
+ }
70
+ try {
71
+ await req.server['userManager'].disableMfa(id);
72
+ return { ok: true };
73
+ }
74
+ catch (error) {
75
+ req.log.error(error);
76
+ return reply.status(500).send(new Error('Failed to reset MFA'));
77
+ }
78
+ }
62
79
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../lib/api/users/controller/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../lib/api/users/controller/user.ts"],"names":[],"mappings":"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"}
@@ -167,6 +167,29 @@ declare const _default: {
167
167
  params?: undefined;
168
168
  body?: undefined;
169
169
  };
170
+ } | {
171
+ method: string;
172
+ path: string;
173
+ roles: import("../../../index.js").Role[];
174
+ handler: string;
175
+ middlewares: string[];
176
+ config: {
177
+ title: string;
178
+ description: string;
179
+ params: {
180
+ $ref: string;
181
+ };
182
+ response: {
183
+ 200: {
184
+ $ref: string;
185
+ description?: undefined;
186
+ type?: undefined;
187
+ items?: undefined;
188
+ };
189
+ };
190
+ query?: undefined;
191
+ body?: undefined;
192
+ };
170
193
  })[];
171
194
  };
172
195
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../lib/api/users/routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuLC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../lib/api/users/routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsMC"}
@@ -179,6 +179,21 @@ export default {
179
179
  200: { $ref: 'isAdminSchema#' }
180
180
  }
181
181
  }
182
+ },
183
+ {
184
+ method: 'POST',
185
+ path: '/:id/mfa/reset',
186
+ roles: [roles.admin],
187
+ handler: 'user.resetMfa',
188
+ middlewares: ['global.isAuthenticated'],
189
+ config: {
190
+ title: 'Reset MFA for user',
191
+ description: 'Disable MFA for a specific user (Admin only)',
192
+ params: { $ref: 'globalParamsSchema#' },
193
+ response: {
194
+ 200: { $ref: 'defaultResponse#' }
195
+ }
196
+ }
182
197
  }
183
198
  ]
184
199
  };
@@ -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":"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"}
@@ -5,7 +5,7 @@ export async function getRoles(req: FastifyRequest, reply: FastifyReply) {
5
5
  const allRoles = Object.keys(roles).map((key) => roles[key])
6
6
  return reply.send(allRoles)
7
7
  }
8
- // ... resto del file invariato ...
8
+
9
9
  export async function count(req: FastifyRequest, reply: FastifyReply) {
10
10
  return req.server['userManager'].countQuery(req.data())
11
11
  }
@@ -76,3 +76,23 @@ export async function isAdmin(req: FastifyRequest, reply: FastifyReply) {
76
76
  const user: AuthenticatedUser | undefined = req.user
77
77
  return reply.send({ isAdmin: user?.getId() && req.hasRole(roles.admin) })
78
78
  }
79
+
80
+ export async function resetMfa(req: FastifyRequest, reply: FastifyReply) {
81
+ const { id } = req.parameters()
82
+
83
+ if (!req.hasRole(roles.admin)) {
84
+ return reply.status(403).send(new Error('Only admins can reset MFA'))
85
+ }
86
+
87
+ if (!id) {
88
+ return reply.status(400).send(new Error('Missing user id'))
89
+ }
90
+
91
+ try {
92
+ await req.server['userManager'].disableMfa(id)
93
+ return { ok: true }
94
+ } catch (error) {
95
+ req.log.error(error)
96
+ return reply.status(500).send(new Error('Failed to reset MFA'))
97
+ }
98
+ }
@@ -179,6 +179,21 @@ export default {
179
179
  200: { $ref: 'isAdminSchema#' }
180
180
  }
181
181
  }
182
+ },
183
+ {
184
+ method: 'POST',
185
+ path: '/:id/mfa/reset',
186
+ roles: [roles.admin],
187
+ handler: 'user.resetMfa',
188
+ middlewares: ['global.isAuthenticated'],
189
+ config: {
190
+ title: 'Reset MFA for user',
191
+ description: 'Disable MFA for a specific user (Admin only)',
192
+ params: { $ref: 'globalParamsSchema#' },
193
+ response: {
194
+ 200: { $ref: 'defaultResponse#' }
195
+ }
196
+ }
182
197
  }
183
198
  ]
184
199
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volcanicminds/backend",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "type": "module",
5
5
  "codename": "rome",
6
6
  "license": "MIT",