@volcanicminds/backend 2.2.20 → 2.3.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.
- package/README.md +30 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -169
- package/dist/index.js.map +1 -1
- package/dist/lib/api/auth/controller/auth.d.ts +3 -9
- package/dist/lib/api/auth/controller/auth.d.ts.map +1 -1
- package/dist/lib/api/auth/controller/auth.js +58 -75
- package/dist/lib/api/auth/controller/auth.js.map +1 -1
- package/dist/lib/api/auth/routes.d.ts +0 -45
- package/dist/lib/api/auth/routes.d.ts.map +1 -1
- package/dist/lib/api/auth/routes.js +15 -32
- package/dist/lib/api/auth/routes.js.map +1 -1
- package/dist/lib/api/tool/controller/tool.d.ts.map +1 -1
- package/dist/lib/api/tool/controller/tool.js +4 -0
- package/dist/lib/api/tool/controller/tool.js.map +1 -1
- package/dist/lib/api/users/controller/user.d.ts +10 -1
- package/dist/lib/api/users/controller/user.d.ts.map +1 -1
- package/dist/lib/api/users/controller/user.js +56 -2
- package/dist/lib/api/users/controller/user.js.map +1 -1
- package/dist/lib/api/users/routes.d.ts +67 -0
- package/dist/lib/api/users/routes.d.ts.map +1 -1
- package/dist/lib/api/users/routes.js +55 -2
- package/dist/lib/api/users/routes.js.map +1 -1
- package/dist/lib/config/general.d.ts +7 -0
- package/dist/lib/config/general.d.ts.map +1 -1
- package/dist/lib/config/general.js +8 -1
- package/dist/lib/config/general.js.map +1 -1
- package/dist/lib/config/plugins.d.ts +17 -0
- package/dist/lib/config/plugins.d.ts.map +1 -1
- package/dist/lib/config/plugins.js +8 -0
- package/dist/lib/config/plugins.js.map +1 -1
- package/dist/lib/defaults/managers.d.ts +8 -0
- package/dist/lib/defaults/managers.d.ts.map +1 -0
- package/dist/lib/defaults/managers.js +71 -0
- package/dist/lib/defaults/managers.js.map +1 -0
- package/dist/lib/hooks/onRequest.d.ts.map +1 -1
- package/dist/lib/hooks/onRequest.js +73 -3
- package/dist/lib/hooks/onRequest.js.map +1 -1
- package/dist/lib/hooks/onResponse.d.ts.map +1 -1
- package/dist/lib/hooks/onResponse.js +5 -0
- package/dist/lib/hooks/onResponse.js.map +1 -1
- package/dist/lib/loader/general.d.ts.map +1 -1
- package/dist/lib/loader/general.js +6 -1
- package/dist/lib/loader/general.js.map +1 -1
- package/dist/lib/loader/tenant.d.ts +3 -0
- package/dist/lib/loader/tenant.d.ts.map +1 -0
- package/dist/lib/loader/tenant.js +61 -0
- package/dist/lib/loader/tenant.js.map +1 -0
- package/lib/api/auth/controller/auth.ts +66 -82
- package/lib/api/auth/routes.ts +18 -33
- package/lib/api/tool/controller/tool.ts +5 -0
- package/lib/api/users/controller/user.ts +69 -2
- package/lib/api/users/routes.ts +58 -2
- package/lib/config/general.ts +8 -1
- package/lib/config/plugins.ts +8 -0
- package/lib/defaults/managers.ts +88 -0
- package/lib/hooks/onRequest.ts +92 -4
- package/lib/hooks/onResponse.ts +6 -0
- package/lib/loader/general.ts +6 -1
- package/lib/loader/tenant.ts +79 -0
- package/package.json +2 -1
|
@@ -69,7 +69,33 @@ export async function isAdmin(req, reply) {
|
|
|
69
69
|
const user = req.user;
|
|
70
70
|
return reply.send({ isAdmin: user?.getId() && req.hasRole(roles.admin) });
|
|
71
71
|
}
|
|
72
|
-
export async function
|
|
72
|
+
export async function block(req, reply) {
|
|
73
|
+
if (!req.server['userManager'].isImplemented()) {
|
|
74
|
+
throw new Error('Not implemented');
|
|
75
|
+
}
|
|
76
|
+
if (!req.hasRole(roles.admin) && !req.hasRole(roles.backoffice)) {
|
|
77
|
+
return reply.status(403).send({ statusCode: 403, code: 'ROLE_NOT_ALLOWED', message: 'Not allowed to block a user' });
|
|
78
|
+
}
|
|
79
|
+
const { id: userId } = req.parameters();
|
|
80
|
+
const { reason } = req.data();
|
|
81
|
+
let user = await req.server['userManager'].blockUserById(userId, reason, req.runner);
|
|
82
|
+
user = await req.server['userManager'].resetExternalId(user.getId(), req.runner);
|
|
83
|
+
return { ok: !!user.getId() };
|
|
84
|
+
}
|
|
85
|
+
export async function unblock(req, reply) {
|
|
86
|
+
if (!req.server['userManager'].isImplemented()) {
|
|
87
|
+
throw new Error('Not implemented');
|
|
88
|
+
}
|
|
89
|
+
if (!req.hasRole(roles.admin) && !req.hasRole(roles.backoffice)) {
|
|
90
|
+
return reply
|
|
91
|
+
.status(403)
|
|
92
|
+
.send({ statusCode: 403, code: 'ROLE_NOT_ALLOWED', message: 'Not allowed to unblock a user' });
|
|
93
|
+
}
|
|
94
|
+
const { id: userId } = req.parameters();
|
|
95
|
+
const user = await req.server['userManager'].unblockUserById(userId, req.runner);
|
|
96
|
+
return { ok: !!user.getId() };
|
|
97
|
+
}
|
|
98
|
+
export async function resetMfaByAdmin(req, reply) {
|
|
73
99
|
const { id } = req.parameters();
|
|
74
100
|
if (!req.hasRole(roles.admin)) {
|
|
75
101
|
return reply.status(403).send(new Error('Only admins can reset MFA'));
|
|
@@ -78,7 +104,7 @@ export async function resetMfa(req, reply) {
|
|
|
78
104
|
return reply.status(400).send(new Error('Missing user id'));
|
|
79
105
|
}
|
|
80
106
|
try {
|
|
81
|
-
await req.server['userManager'].disableMfa(id);
|
|
107
|
+
await req.server['userManager'].disableMfa(id, req.runner);
|
|
82
108
|
return { ok: true };
|
|
83
109
|
}
|
|
84
110
|
catch (error) {
|
|
@@ -86,4 +112,32 @@ export async function resetMfa(req, reply) {
|
|
|
86
112
|
return reply.status(500).send(new Error('Failed to reset MFA'));
|
|
87
113
|
}
|
|
88
114
|
}
|
|
115
|
+
export async function resetPasswordByAdmin(req, reply) {
|
|
116
|
+
if (config.options?.allow_admin_change_password_users !== true) {
|
|
117
|
+
return reply.status(404).send();
|
|
118
|
+
}
|
|
119
|
+
if (!req.hasRole(roles.admin)) {
|
|
120
|
+
return reply.status(403).send(new Error('Only admins can reset user passwords'));
|
|
121
|
+
}
|
|
122
|
+
const { id } = req.parameters();
|
|
123
|
+
if (!id) {
|
|
124
|
+
return reply.status(400).send(new Error('Missing user id'));
|
|
125
|
+
}
|
|
126
|
+
const { password } = req.data();
|
|
127
|
+
if (!password) {
|
|
128
|
+
return reply.status(400).send(new Error('Missing password in request body'));
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const user = await req.server['userManager'].retrieveUserById(id);
|
|
132
|
+
if (!user) {
|
|
133
|
+
return reply.status(404).send(new Error('User not found'));
|
|
134
|
+
}
|
|
135
|
+
await req.server['userManager'].resetPassword(user, password);
|
|
136
|
+
return { ok: true };
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
req.log.error(error);
|
|
140
|
+
return reply.status(500).send(new Error('Failed to reset password'));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
89
143
|
//# 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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"}
|
|
@@ -112,6 +112,9 @@ declare const _default: {
|
|
|
112
112
|
};
|
|
113
113
|
body: {
|
|
114
114
|
$ref: string;
|
|
115
|
+
type?: undefined;
|
|
116
|
+
required?: undefined;
|
|
117
|
+
properties?: undefined;
|
|
115
118
|
};
|
|
116
119
|
response: {
|
|
117
120
|
200: {
|
|
@@ -134,6 +137,9 @@ declare const _default: {
|
|
|
134
137
|
description: string;
|
|
135
138
|
body: {
|
|
136
139
|
$ref: string;
|
|
140
|
+
type?: undefined;
|
|
141
|
+
required?: undefined;
|
|
142
|
+
properties?: undefined;
|
|
137
143
|
};
|
|
138
144
|
response: {
|
|
139
145
|
200: {
|
|
@@ -167,6 +173,34 @@ declare const _default: {
|
|
|
167
173
|
params?: undefined;
|
|
168
174
|
body?: undefined;
|
|
169
175
|
};
|
|
176
|
+
} | {
|
|
177
|
+
method: string;
|
|
178
|
+
path: string;
|
|
179
|
+
roles: import("../../../index.js").Role[];
|
|
180
|
+
handler: string;
|
|
181
|
+
middlewares: string[];
|
|
182
|
+
config: {
|
|
183
|
+
title: string;
|
|
184
|
+
description: string;
|
|
185
|
+
params: {
|
|
186
|
+
$ref: string;
|
|
187
|
+
};
|
|
188
|
+
body: {
|
|
189
|
+
$ref: string;
|
|
190
|
+
type?: undefined;
|
|
191
|
+
required?: undefined;
|
|
192
|
+
properties?: undefined;
|
|
193
|
+
};
|
|
194
|
+
response: {
|
|
195
|
+
200: {
|
|
196
|
+
$ref: string;
|
|
197
|
+
description?: undefined;
|
|
198
|
+
type?: undefined;
|
|
199
|
+
items?: undefined;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
query?: undefined;
|
|
203
|
+
};
|
|
170
204
|
} | {
|
|
171
205
|
method: string;
|
|
172
206
|
path: string;
|
|
@@ -190,6 +224,39 @@ declare const _default: {
|
|
|
190
224
|
query?: undefined;
|
|
191
225
|
body?: undefined;
|
|
192
226
|
};
|
|
227
|
+
} | {
|
|
228
|
+
method: string;
|
|
229
|
+
path: string;
|
|
230
|
+
roles: import("../../../index.js").Role[];
|
|
231
|
+
handler: string;
|
|
232
|
+
middlewares: string[];
|
|
233
|
+
config: {
|
|
234
|
+
title: string;
|
|
235
|
+
description: string;
|
|
236
|
+
params: {
|
|
237
|
+
$ref: string;
|
|
238
|
+
};
|
|
239
|
+
body: {
|
|
240
|
+
type: string;
|
|
241
|
+
required: string[];
|
|
242
|
+
properties: {
|
|
243
|
+
password: {
|
|
244
|
+
type: string;
|
|
245
|
+
minLength: number;
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
$ref?: undefined;
|
|
249
|
+
};
|
|
250
|
+
response: {
|
|
251
|
+
200: {
|
|
252
|
+
$ref: string;
|
|
253
|
+
description?: undefined;
|
|
254
|
+
type?: undefined;
|
|
255
|
+
items?: undefined;
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
query?: undefined;
|
|
259
|
+
};
|
|
193
260
|
})[];
|
|
194
261
|
};
|
|
195
262
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../lib/api/users/routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../lib/api/users/routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA8PC"}
|
|
@@ -180,20 +180,73 @@ export default {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
},
|
|
183
|
+
{
|
|
184
|
+
method: 'POST',
|
|
185
|
+
path: '/:id/block',
|
|
186
|
+
roles: [roles.admin, roles.backoffice],
|
|
187
|
+
handler: 'user.block',
|
|
188
|
+
middlewares: ['global.isAuthenticated'],
|
|
189
|
+
config: {
|
|
190
|
+
title: 'Block a user by id',
|
|
191
|
+
description: 'Block a user by id',
|
|
192
|
+
params: { $ref: 'onlyIdSchema#' },
|
|
193
|
+
body: { $ref: 'blockBodySchema#' },
|
|
194
|
+
response: {
|
|
195
|
+
200: { $ref: 'defaultResponse#' }
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
method: 'POST',
|
|
201
|
+
path: '/:id/unblock',
|
|
202
|
+
roles: [roles.admin, roles.backoffice],
|
|
203
|
+
handler: 'user.unblock',
|
|
204
|
+
middlewares: ['global.isAuthenticated'],
|
|
205
|
+
config: {
|
|
206
|
+
title: 'Unblock a user by id',
|
|
207
|
+
description: 'Unblock a user by id',
|
|
208
|
+
params: { $ref: 'onlyIdSchema#' },
|
|
209
|
+
response: {
|
|
210
|
+
200: { $ref: 'defaultResponse#' }
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
},
|
|
183
214
|
{
|
|
184
215
|
method: 'POST',
|
|
185
216
|
path: '/:id/mfa/reset',
|
|
186
217
|
roles: [roles.admin],
|
|
187
|
-
handler: 'user.
|
|
218
|
+
handler: 'user.resetMfaByAdmin',
|
|
188
219
|
middlewares: ['global.isAuthenticated'],
|
|
189
220
|
config: {
|
|
190
|
-
title: 'Reset MFA for user',
|
|
221
|
+
title: 'Reset MFA for specific user',
|
|
191
222
|
description: 'Disable MFA for a specific user (Admin only)',
|
|
192
223
|
params: { $ref: 'globalParamsSchema#' },
|
|
193
224
|
response: {
|
|
194
225
|
200: { $ref: 'defaultResponse#' }
|
|
195
226
|
}
|
|
196
227
|
}
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
method: 'POST',
|
|
231
|
+
path: '/:id/password/reset',
|
|
232
|
+
roles: [roles.admin],
|
|
233
|
+
handler: 'user.resetPasswordByAdmin',
|
|
234
|
+
middlewares: ['global.isAuthenticated'],
|
|
235
|
+
config: {
|
|
236
|
+
title: 'Reset password for specific user',
|
|
237
|
+
description: 'Admin can reset password for a specific user. Requires config option allow_admin_change_password_users to be enabled.',
|
|
238
|
+
params: { $ref: 'globalParamsSchema#' },
|
|
239
|
+
body: {
|
|
240
|
+
type: 'object',
|
|
241
|
+
required: ['password'],
|
|
242
|
+
properties: {
|
|
243
|
+
password: { type: 'string', minLength: 6 }
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
response: {
|
|
247
|
+
200: { $ref: 'defaultResponse#' }
|
|
248
|
+
}
|
|
249
|
+
}
|
|
197
250
|
}
|
|
198
251
|
]
|
|
199
252
|
};
|
|
@@ -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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"}
|
|
@@ -3,12 +3,19 @@ declare const _default: {
|
|
|
3
3
|
options: {
|
|
4
4
|
allow_multiple_admin: boolean;
|
|
5
5
|
admin_can_change_passwords: boolean;
|
|
6
|
+
allow_admin_change_password_users: boolean;
|
|
6
7
|
reset_external_id_on_login: boolean;
|
|
7
8
|
scheduler: boolean;
|
|
8
9
|
embedded_auth: boolean;
|
|
9
10
|
mfa_policy: string;
|
|
10
11
|
mfa_admin_forced_reset_email: null;
|
|
11
12
|
mfa_admin_forced_reset_until: null;
|
|
13
|
+
multi_tenant: {
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
resolver: string;
|
|
16
|
+
header_key: string;
|
|
17
|
+
query_key: string;
|
|
18
|
+
};
|
|
12
19
|
};
|
|
13
20
|
};
|
|
14
21
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/config/general.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/config/general.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,wBAmBC"}
|
|
@@ -3,12 +3,19 @@ export default {
|
|
|
3
3
|
options: {
|
|
4
4
|
allow_multiple_admin: false,
|
|
5
5
|
admin_can_change_passwords: false,
|
|
6
|
+
allow_admin_change_password_users: false,
|
|
6
7
|
reset_external_id_on_login: false,
|
|
7
8
|
scheduler: false,
|
|
8
9
|
embedded_auth: true,
|
|
9
10
|
mfa_policy: process.env.MFA_POLICY || 'OPTIONAL',
|
|
10
11
|
mfa_admin_forced_reset_email: null,
|
|
11
|
-
mfa_admin_forced_reset_until: null
|
|
12
|
+
mfa_admin_forced_reset_until: null,
|
|
13
|
+
multi_tenant: {
|
|
14
|
+
enabled: false,
|
|
15
|
+
resolver: 'subdomain',
|
|
16
|
+
header_key: 'x-tenant-id',
|
|
17
|
+
query_key: 'tid'
|
|
18
|
+
}
|
|
12
19
|
}
|
|
13
20
|
};
|
|
14
21
|
//# sourceMappingURL=general.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/config/general.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,IAAI,EAAE,SAAS;IACf,OAAO,EAAE;QACP,oBAAoB,EAAE,KAAK;QAC3B,0BAA0B,EAAE,KAAK;QACjC,0BAA0B,EAAE,KAAK;QACjC,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU;QAChD,4BAA4B,EAAE,IAAI;QAClC,4BAA4B,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/config/general.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,IAAI,EAAE,SAAS;IACf,OAAO,EAAE;QACP,oBAAoB,EAAE,KAAK;QAC3B,0BAA0B,EAAE,KAAK;QACjC,iCAAiC,EAAE,KAAK;QACxC,0BAA0B,EAAE,KAAK;QACjC,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU;QAChD,4BAA4B,EAAE,IAAI;QAClC,4BAA4B,EAAE,IAAI;QAClC,YAAY,EAAE;YACZ,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,KAAK;SACjB;KACF;CACF,CAAA"}
|
|
@@ -8,6 +8,8 @@ declare const _default: ({
|
|
|
8
8
|
credentials: boolean;
|
|
9
9
|
allowedHeaders: string[];
|
|
10
10
|
exposedHeaders: string[];
|
|
11
|
+
secret?: undefined;
|
|
12
|
+
parseOptions?: undefined;
|
|
11
13
|
};
|
|
12
14
|
} | {
|
|
13
15
|
name: string;
|
|
@@ -19,6 +21,21 @@ declare const _default: ({
|
|
|
19
21
|
credentials?: undefined;
|
|
20
22
|
allowedHeaders?: undefined;
|
|
21
23
|
exposedHeaders?: undefined;
|
|
24
|
+
secret?: undefined;
|
|
25
|
+
parseOptions?: undefined;
|
|
26
|
+
};
|
|
27
|
+
} | {
|
|
28
|
+
name: string;
|
|
29
|
+
enable: boolean;
|
|
30
|
+
options: {
|
|
31
|
+
secret: string | undefined;
|
|
32
|
+
parseOptions: {};
|
|
33
|
+
origin?: undefined;
|
|
34
|
+
methods?: undefined;
|
|
35
|
+
maxAge?: undefined;
|
|
36
|
+
credentials?: undefined;
|
|
37
|
+
allowedHeaders?: undefined;
|
|
38
|
+
exposedHeaders?: undefined;
|
|
22
39
|
};
|
|
23
40
|
})[];
|
|
24
41
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../lib/config/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../lib/config/plugins.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAwEC"}
|
|
@@ -61,6 +61,14 @@ export default [
|
|
|
61
61
|
name: 'rawBody',
|
|
62
62
|
enable: false,
|
|
63
63
|
options: {}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'cookie',
|
|
67
|
+
enable: process.env.AUTH_MODE === 'COOKIE',
|
|
68
|
+
options: {
|
|
69
|
+
secret: process.env.COOKIE_SECRET,
|
|
70
|
+
parseOptions: {}
|
|
71
|
+
}
|
|
64
72
|
}
|
|
65
73
|
];
|
|
66
74
|
//# sourceMappingURL=plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../lib/config/plugins.ts"],"names":[],"mappings":"AAAA,eAAe;IACb;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;YACrE,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE;gBACd,QAAQ;gBACR,iBAAiB;gBACjB,kBAAkB;gBAClB,cAAc;gBACd,gBAAgB;gBAChB,eAAe;gBACf,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,QAAQ;gBACR,YAAY;gBACZ,aAAa;aACd;YACD,cAAc,EAAE;gBACd,QAAQ;gBACR,iBAAiB;gBACjB,kBAAkB;gBAClB,cAAc;gBACd,gBAAgB;gBAChB,eAAe;gBACf,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,QAAQ;gBACR,YAAY;gBACZ,aAAa;aACd;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../lib/config/plugins.ts"],"names":[],"mappings":"AAAA,eAAe;IACb;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE;YACP,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;YACrE,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE;gBACd,QAAQ;gBACR,iBAAiB;gBACjB,kBAAkB;gBAClB,cAAc;gBACd,gBAAgB;gBAChB,eAAe;gBACf,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,QAAQ;gBACR,YAAY;gBACZ,aAAa;aACd;YACD,cAAc,EAAE;gBACd,QAAQ;gBACR,iBAAiB;gBACjB,kBAAkB;gBAClB,cAAc;gBACd,gBAAgB;gBAChB,eAAe;gBACf,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,QAAQ;gBACR,YAAY;gBACZ,aAAa;aACd;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ;QAC1C,OAAO,EAAE;YACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;YACjC,YAAY,EAAE,EAAE;SACjB;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { UserManagement, TokenManagement, DataBaseManagement, MfaManagement, TransferManagement, TenantManagement } from '../../types/global.js';
|
|
2
|
+
export declare const defaultTenantManager: TenantManagement;
|
|
3
|
+
export declare const defaultUserManager: UserManagement;
|
|
4
|
+
export declare const defaultTokenManager: TokenManagement;
|
|
5
|
+
export declare const defaultDataBaseManager: DataBaseManagement;
|
|
6
|
+
export declare const defaultMfaManager: MfaManagement;
|
|
7
|
+
export declare const defaultTransferManager: TransferManagement;
|
|
8
|
+
//# sourceMappingURL=managers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managers.d.ts","sourceRoot":"","sources":["../../../lib/defaults/managers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,uBAAuB,CAAA;AAI9B,eAAO,MAAM,oBAAoB,EAAE,gBAMlC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cA4BhC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,eAajC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,kBAKpC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAG/B,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,kBASpC,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export const defaultTenantManager = {
|
|
2
|
+
isImplemented() { return false; },
|
|
3
|
+
resolveTenant(_req) { throw new Error('Not implemented'); },
|
|
4
|
+
switchContext(_tenant, _db) { throw new Error('Not implemented'); },
|
|
5
|
+
createTenant(_data) { throw new Error('Not implemented'); },
|
|
6
|
+
deleteTenant(_id) { throw new Error('Not implemented'); }
|
|
7
|
+
};
|
|
8
|
+
export const defaultUserManager = {
|
|
9
|
+
isImplemented() { return false; },
|
|
10
|
+
isValidUser(_data) { throw new Error('Not implemented.'); },
|
|
11
|
+
createUser(_data) { throw new Error('Not implemented.'); },
|
|
12
|
+
deleteUser(_data) { throw new Error('Not implemented.'); },
|
|
13
|
+
resetExternalId(_data) { throw new Error('Not implemented.'); },
|
|
14
|
+
updateUserById(_id, _user) { throw new Error('Not implemented.'); },
|
|
15
|
+
retrieveUserById(_id) { throw new Error('Not implemented.'); },
|
|
16
|
+
retrieveUserByEmail(_email) { throw new Error('Not implemented.'); },
|
|
17
|
+
retrieveUserByConfirmationToken(_code) { throw new Error('Not implemented.'); },
|
|
18
|
+
retrieveUserByResetPasswordToken(_code) { throw new Error('Not implemented.'); },
|
|
19
|
+
retrieveUserByUsername(_username) { throw new Error('Not implemented.'); },
|
|
20
|
+
retrieveUserByExternalId(_externalId) { throw new Error('Not implemented.'); },
|
|
21
|
+
retrieveUserByPassword(_email, _password) { throw new Error('Not implemented.'); },
|
|
22
|
+
changePassword(_email, _password, _oldPassword) { throw new Error('Not implemented.'); },
|
|
23
|
+
forgotPassword(_email) { throw new Error('Not implemented.'); },
|
|
24
|
+
userConfirmation(_user) { throw new Error('Not implemented.'); },
|
|
25
|
+
resetPassword(_user, _password) { throw new Error('Not implemented.'); },
|
|
26
|
+
blockUserById(_id, _reason) { throw new Error('Not implemented.'); },
|
|
27
|
+
unblockUserById(_data) { throw new Error('Not implemented.'); },
|
|
28
|
+
countQuery(_data) { throw new Error('Not implemented.'); },
|
|
29
|
+
findQuery(_data) { throw new Error('Not implemented.'); },
|
|
30
|
+
disableUserById(_id) { throw new Error('Not implemented.'); },
|
|
31
|
+
saveMfaSecret(_userId, _secret) { throw new Error('Not implemented.'); },
|
|
32
|
+
retrieveMfaSecret(_userId) { throw new Error('Not implemented.'); },
|
|
33
|
+
enableMfa(_userId) { throw new Error('Not implemented.'); },
|
|
34
|
+
disableMfa(_userId) { throw new Error('Not implemented.'); },
|
|
35
|
+
forceDisableMfaForAdmin(_email) { throw new Error('Not implemented.'); }
|
|
36
|
+
};
|
|
37
|
+
export const defaultTokenManager = {
|
|
38
|
+
isImplemented() { return false; },
|
|
39
|
+
isValidToken(_data) { throw new Error('Not implemented.'); },
|
|
40
|
+
createToken(_data) { throw new Error('Not implemented.'); },
|
|
41
|
+
resetExternalId(_id) { throw new Error('Not implemented.'); },
|
|
42
|
+
updateTokenById(_id, _token) { throw new Error('Not implemented.'); },
|
|
43
|
+
retrieveTokenById(_id) { throw new Error('Not implemented.'); },
|
|
44
|
+
retrieveTokenByExternalId(_id) { throw new Error('Not implemented.'); },
|
|
45
|
+
blockTokenById(_id, _reason) { throw new Error('Not implemented.'); },
|
|
46
|
+
unblockTokenById(_id) { throw new Error('Not implemented.'); },
|
|
47
|
+
countQuery(_data) { throw new Error('Not implemented.'); },
|
|
48
|
+
findQuery(_data) { throw new Error('Not implemented.'); },
|
|
49
|
+
removeTokenById(_id) { throw new Error('Not implemented.'); }
|
|
50
|
+
};
|
|
51
|
+
export const defaultDataBaseManager = {
|
|
52
|
+
isImplemented() { return false; },
|
|
53
|
+
synchronizeSchemas() { throw new Error('Not implemented.'); },
|
|
54
|
+
retrieveBy(_entityName, _entityId) { throw new Error('Not implemented.'); },
|
|
55
|
+
addChange(_entityName, _entityId, _status, _userId, _contents, _changeEntity) { throw new Error('Not implemented.'); }
|
|
56
|
+
};
|
|
57
|
+
export const defaultMfaManager = {
|
|
58
|
+
generateSetup(_appName, _email) { throw new Error('Not implemented.'); },
|
|
59
|
+
verify(_token, _secret) { throw new Error('Not implemented.'); }
|
|
60
|
+
};
|
|
61
|
+
export const defaultTransferManager = {
|
|
62
|
+
isImplemented() { return false; },
|
|
63
|
+
getPath() { throw new Error('Not implemented.'); },
|
|
64
|
+
getServer() { throw new Error('Not implemented.'); },
|
|
65
|
+
onUploadCreate(_callback) { throw new Error('Not implemented.'); },
|
|
66
|
+
onUploadFinish(_callback) { throw new Error('Not implemented.'); },
|
|
67
|
+
onUploadTerminate(_callback) { throw new Error('Not implemented.'); },
|
|
68
|
+
handle(_req, _res) { throw new Error('Not implemented.'); },
|
|
69
|
+
isValid(_req) { throw new Error('Not implemented.'); }
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=managers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managers.js","sourceRoot":"","sources":["../../../lib/defaults/managers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onRequest.d.ts","sourceRoot":"","sources":["../../../lib/hooks/onRequest.ts"],"names":[],"mappings":"yBAsBsB,QAAG,EAAE,UAAK;AAAhC,
|
|
1
|
+
{"version":3,"file":"onRequest.d.ts","sourceRoot":"","sources":["../../../lib/hooks/onRequest.ts"],"names":[],"mappings":"yBAsBsB,QAAG,EAAE,UAAK;AAAhC,wBA0MC"}
|
|
@@ -17,6 +17,50 @@ const normalizeRoles = (rolesArray) => {
|
|
|
17
17
|
export default async (req, reply) => {
|
|
18
18
|
if (log.i)
|
|
19
19
|
req.startedAt = new Date();
|
|
20
|
+
const { multi_tenant } = global.config?.options || {};
|
|
21
|
+
if (multi_tenant?.enabled) {
|
|
22
|
+
let tenantSlug;
|
|
23
|
+
if (multi_tenant.resolver === 'subdomain') {
|
|
24
|
+
const host = req.headers.host || '';
|
|
25
|
+
const parts = host.split('.');
|
|
26
|
+
if (parts.length >= 2) {
|
|
27
|
+
if (parts[0] !== 'www') {
|
|
28
|
+
tenantSlug = parts[0];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (multi_tenant.resolver === 'header') {
|
|
33
|
+
tenantSlug = req.headers[multi_tenant?.header_key || 'x-tenant-id'];
|
|
34
|
+
}
|
|
35
|
+
else if (multi_tenant.resolver === 'query') {
|
|
36
|
+
tenantSlug = req.query[multi_tenant?.query_key || 'tid'];
|
|
37
|
+
}
|
|
38
|
+
if (!tenantSlug) {
|
|
39
|
+
return reply.code(400).send({ statusCode: 400, error: 'Tenant ID missing', message: 'Tenant ID is required' });
|
|
40
|
+
}
|
|
41
|
+
if (!global.repository?.tenants) {
|
|
42
|
+
log.error('Multi-tenant enabled but global.repository.tenants not found');
|
|
43
|
+
return reply.code(500).send({ statusCode: 500, error: 'Internal Server Error' });
|
|
44
|
+
}
|
|
45
|
+
const tenant = await global.repository.tenants.findOneBy({ slug: tenantSlug });
|
|
46
|
+
if (!tenant) {
|
|
47
|
+
return reply
|
|
48
|
+
.code(404)
|
|
49
|
+
.send({ statusCode: 404, error: 'Tenant Not Found', message: `Tenant '${tenantSlug}' not found` });
|
|
50
|
+
}
|
|
51
|
+
if (tenant.status !== 'active') {
|
|
52
|
+
return reply.code(403).send({ statusCode: 403, error: 'Tenant Inactive', message: 'Tenant is not active' });
|
|
53
|
+
}
|
|
54
|
+
const runner = global.connection.createQueryRunner();
|
|
55
|
+
await runner.connect();
|
|
56
|
+
if (!/^[a-z0-9_]+$/i.test(tenant.schema)) {
|
|
57
|
+
await runner.release();
|
|
58
|
+
return reply.code(400).send({ statusCode: 400, error: 'Invalid Schema Name' });
|
|
59
|
+
}
|
|
60
|
+
await runner.query(`SET search_path TO "${tenant.schema}", "public"`);
|
|
61
|
+
req.runner = runner;
|
|
62
|
+
req.tenant = tenant;
|
|
63
|
+
}
|
|
20
64
|
req.data = () => getData(req);
|
|
21
65
|
req.parameters = () => getParams(req);
|
|
22
66
|
if (global.transferPath) {
|
|
@@ -38,12 +82,38 @@ export default async (req, reply) => {
|
|
|
38
82
|
if (embedded_auth) {
|
|
39
83
|
req.roles = () => [roles.public.code];
|
|
40
84
|
req.hasRole = (r) => req.roles().includes(r?.code);
|
|
41
|
-
const auth = req.headers?.authorization || '';
|
|
42
85
|
const cfg = req.routeOptions?.config || req.routeConfig || {};
|
|
43
|
-
const
|
|
44
|
-
|
|
86
|
+
const AUTH_MODE = process.env.AUTH_MODE || 'BEARER';
|
|
87
|
+
let bearerToken;
|
|
88
|
+
if (AUTH_MODE === 'COOKIE') {
|
|
89
|
+
const cookieToken = req.cookies['auth_token'];
|
|
90
|
+
if (cookieToken) {
|
|
91
|
+
const unsigned = req.unsignCookie(cookieToken);
|
|
92
|
+
if (unsigned.valid && unsigned.value) {
|
|
93
|
+
bearerToken = unsigned.value;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
const auth = req.headers?.authorization || '';
|
|
99
|
+
const [prefix, token] = auth.split(' ');
|
|
100
|
+
if (prefix === 'Bearer' && token != null) {
|
|
101
|
+
bearerToken = token;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (bearerToken) {
|
|
45
105
|
try {
|
|
46
106
|
const tokenData = reply.server.jwt.verify(bearerToken);
|
|
107
|
+
const { multi_tenant } = global.config?.options || {};
|
|
108
|
+
if (multi_tenant?.enabled && req.tenant && tokenData.tid) {
|
|
109
|
+
if (tokenData.tid !== req.tenant.id) {
|
|
110
|
+
return reply.status(403).send({
|
|
111
|
+
statusCode: 403,
|
|
112
|
+
code: 'TENANT_MISMATCH',
|
|
113
|
+
message: 'Token does not belong to this tenant'
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
47
117
|
if (tokenData.role === 'pre-auth-mfa') {
|
|
48
118
|
const currentUrl = req.routeOptions.url || req.raw.url;
|
|
49
119
|
const isAllowed = MFA_SETUP_WHITELIST.some((url) => currentUrl.endsWith(url));
|