dolphin-server-modules 1.4.4 → 1.4.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.
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export declare const createDolphinAuthController: (db: any, authConfig: any) => {
|
|
2
|
+
sanitize: (user: any) => any;
|
|
3
|
+
requireAuth: (ctx: any, next: Function) => Promise<void>;
|
|
4
|
+
require2FA: (ctx: any, next: Function) => Promise<void>;
|
|
5
|
+
requireAdmin: (ctx: any, next: Function) => Promise<void>;
|
|
2
6
|
register: (ctx: any) => Promise<{
|
|
3
7
|
success: boolean;
|
|
4
8
|
data: {
|
|
@@ -132,9 +136,5 @@ export declare const createDolphinAuthController: (db: any, authConfig: any) =>
|
|
|
132
136
|
success: boolean;
|
|
133
137
|
error: any;
|
|
134
138
|
}>;
|
|
135
|
-
requireAuth: (req: any, res: any, next: Function) => Promise<any>;
|
|
136
|
-
require2FA: (req: any, res: any, next: Function) => Promise<any>;
|
|
137
|
-
requireAdmin: (ctx: any, next: Function) => Promise<void>;
|
|
138
|
-
sanitize: (user: any) => any;
|
|
139
139
|
};
|
|
140
140
|
export default createDolphinAuthController;
|
|
@@ -60,24 +60,20 @@ const createDolphinAuthController = (db, authConfig) => {
|
|
|
60
60
|
});
|
|
61
61
|
};
|
|
62
62
|
const generateResetToken = () => node_crypto_1.default.randomBytes(32).toString('hex');
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
// ✅ FIXED: Use ctx.body (same as controller)
|
|
63
|
+
// ======= CONTROLLERS =======
|
|
64
|
+
const handlers = {
|
|
66
65
|
register: async (ctx) => {
|
|
67
66
|
try {
|
|
68
|
-
const
|
|
69
|
-
const user = await authCore.register(db, body);
|
|
67
|
+
const user = await authCore.register(db, ctx.body);
|
|
70
68
|
return { success: true, data: user };
|
|
71
69
|
}
|
|
72
70
|
catch (err) {
|
|
73
71
|
return { success: false, error: err.message, status: err.status || 400 };
|
|
74
72
|
}
|
|
75
73
|
},
|
|
76
|
-
// ✅ FIXED: Use ctx.body
|
|
77
74
|
login: async (ctx) => {
|
|
78
75
|
try {
|
|
79
|
-
const
|
|
80
|
-
const result = await authCore.login(db, body, ctx.res);
|
|
76
|
+
const result = await authCore.login(db, ctx.body, ctx.res);
|
|
81
77
|
return { success: true, ...result };
|
|
82
78
|
}
|
|
83
79
|
catch (err) {
|
|
@@ -117,14 +113,12 @@ const createDolphinAuthController = (db, authConfig) => {
|
|
|
117
113
|
return { success: false, error: err.message, status: 401 };
|
|
118
114
|
}
|
|
119
115
|
},
|
|
120
|
-
// ============ CHANGE PASSWORD ============
|
|
121
|
-
// ✅ FIXED: Use ctx.body
|
|
122
116
|
changePassword: async (ctx) => {
|
|
123
117
|
try {
|
|
124
118
|
const userId = ctx.req.user?.id;
|
|
125
119
|
if (!userId)
|
|
126
120
|
throw new Error('Unauthorized');
|
|
127
|
-
const { oldPassword, newPassword } = ctx.body;
|
|
121
|
+
const { oldPassword, newPassword } = ctx.body;
|
|
128
122
|
if (!oldPassword || !newPassword)
|
|
129
123
|
throw new Error('Old and new password required');
|
|
130
124
|
if (newPassword.length < 8)
|
|
@@ -143,97 +137,62 @@ const createDolphinAuthController = (db, authConfig) => {
|
|
|
143
137
|
return { success: false, error: err.message, status: 400 };
|
|
144
138
|
}
|
|
145
139
|
},
|
|
146
|
-
// ============ FORGOT PASSWORD ============
|
|
147
|
-
// ✅ FIXED: Use ctx.body
|
|
148
140
|
forgotPassword: async (ctx) => {
|
|
149
141
|
try {
|
|
150
|
-
const { email } = ctx.body;
|
|
142
|
+
const { email } = ctx.body;
|
|
151
143
|
if (!email)
|
|
152
144
|
throw new Error('Email required');
|
|
153
145
|
const user = await db.findUserByEmail(email);
|
|
154
|
-
if (!user)
|
|
146
|
+
if (!user)
|
|
155
147
|
return { success: true, message: 'If email exists, reset link sent' };
|
|
156
|
-
}
|
|
157
148
|
const resetToken = generateResetToken();
|
|
158
149
|
const resetExpires = new Date(Date.now() + 3600000);
|
|
159
|
-
await db.updateUser(user.id, {
|
|
160
|
-
resetPasswordToken: resetToken,
|
|
161
|
-
resetPasswordExpires: resetExpires
|
|
162
|
-
});
|
|
150
|
+
await db.updateUser(user.id, { resetPasswordToken: resetToken, resetPasswordExpires: resetExpires });
|
|
163
151
|
const resetLink = `${process.env.APP_URL || 'http://localhost:3000'}/reset-password?token=${resetToken}`;
|
|
164
|
-
return {
|
|
165
|
-
success: true,
|
|
166
|
-
message: 'Reset link sent',
|
|
167
|
-
...(process.env.NODE_ENV !== 'production' && { resetLink })
|
|
168
|
-
};
|
|
152
|
+
return { success: true, message: 'Reset link sent', ...(process.env.NODE_ENV !== 'production' && { resetLink }) };
|
|
169
153
|
}
|
|
170
154
|
catch (err) {
|
|
171
155
|
return { success: false, error: err.message, status: 400 };
|
|
172
156
|
}
|
|
173
157
|
},
|
|
174
|
-
// ============ RESET PASSWORD ============
|
|
175
|
-
// ✅ FIXED: Use ctx.body
|
|
176
158
|
resetPassword: async (ctx) => {
|
|
177
159
|
try {
|
|
178
|
-
const { token, newPassword } = ctx.body;
|
|
160
|
+
const { token, newPassword } = ctx.body;
|
|
179
161
|
if (!token || !newPassword)
|
|
180
162
|
throw new Error('Token and password required');
|
|
181
163
|
if (newPassword.length < 8)
|
|
182
164
|
throw new Error('Password must be at least 8 characters');
|
|
183
|
-
let user =
|
|
184
|
-
if (db.read) {
|
|
185
|
-
const users = await db.read('User', { resetPasswordToken: token });
|
|
186
|
-
user = users?.[0];
|
|
187
|
-
}
|
|
188
|
-
else if (db.findUserByResetToken) {
|
|
189
|
-
user = await db.findUserByResetToken(token);
|
|
190
|
-
}
|
|
165
|
+
let user = db.read ? (await db.read('User', { resetPasswordToken: token }))?.[0] : await db.findUserByResetToken(token);
|
|
191
166
|
if (!user)
|
|
192
167
|
throw new Error('Invalid or expired reset token');
|
|
193
|
-
if (user.resetPasswordExpires && new Date(user.resetPasswordExpires) < new Date())
|
|
168
|
+
if (user.resetPasswordExpires && new Date(user.resetPasswordExpires) < new Date())
|
|
194
169
|
throw new Error('Reset token has expired');
|
|
195
|
-
}
|
|
196
170
|
const hashedPassword = await hashPassword(newPassword);
|
|
197
|
-
await db.updateUser(user.id, {
|
|
198
|
-
password: hashedPassword,
|
|
199
|
-
resetPasswordToken: null,
|
|
200
|
-
resetPasswordExpires: null
|
|
201
|
-
});
|
|
171
|
+
await db.updateUser(user.id, { password: hashedPassword, resetPasswordToken: null, resetPasswordExpires: null });
|
|
202
172
|
return { success: true, message: 'Password reset successfully' };
|
|
203
173
|
}
|
|
204
174
|
catch (err) {
|
|
205
175
|
return { success: false, error: err.message, status: 400 };
|
|
206
176
|
}
|
|
207
177
|
},
|
|
208
|
-
// ============ RESEND RESET LINK ============
|
|
209
|
-
// ✅ FIXED: Use ctx.body
|
|
210
178
|
resendResetLink: async (ctx) => {
|
|
211
179
|
try {
|
|
212
|
-
const { email } = ctx.body;
|
|
180
|
+
const { email } = ctx.body;
|
|
213
181
|
if (!email)
|
|
214
182
|
throw new Error('Email required');
|
|
215
183
|
const user = await db.findUserByEmail(email);
|
|
216
|
-
if (!user)
|
|
184
|
+
if (!user)
|
|
217
185
|
return { success: true, message: 'If email exists, reset link sent' };
|
|
218
|
-
}
|
|
219
186
|
const resetToken = generateResetToken();
|
|
220
187
|
const resetExpires = new Date(Date.now() + 3600000);
|
|
221
|
-
await db.updateUser(user.id, {
|
|
222
|
-
resetPasswordToken: resetToken,
|
|
223
|
-
resetPasswordExpires: resetExpires
|
|
224
|
-
});
|
|
188
|
+
await db.updateUser(user.id, { resetPasswordToken: resetToken, resetPasswordExpires: resetExpires });
|
|
225
189
|
const resetLink = `${process.env.APP_URL || 'http://localhost:3000'}/reset-password?token=${resetToken}`;
|
|
226
|
-
return {
|
|
227
|
-
success: true,
|
|
228
|
-
message: 'Reset link sent',
|
|
229
|
-
...(process.env.NODE_ENV !== 'production' && { resetLink })
|
|
230
|
-
};
|
|
190
|
+
return { success: true, message: 'Reset link sent', ...(process.env.NODE_ENV !== 'production' && { resetLink }) };
|
|
231
191
|
}
|
|
232
192
|
catch (err) {
|
|
233
193
|
return { success: false, error: err.message, status: 400 };
|
|
234
194
|
}
|
|
235
195
|
},
|
|
236
|
-
// ============ 2FA HANDLERS ============
|
|
237
196
|
enable2FA: async (ctx) => {
|
|
238
197
|
try {
|
|
239
198
|
const result = await authCore.enable2FA(db, ctx.req.user.id);
|
|
@@ -243,10 +202,9 @@ const createDolphinAuthController = (db, authConfig) => {
|
|
|
243
202
|
return { success: false, error: err.message };
|
|
244
203
|
}
|
|
245
204
|
},
|
|
246
|
-
// ✅ FIXED: Use ctx.body
|
|
247
205
|
verify2FA: async (ctx) => {
|
|
248
206
|
try {
|
|
249
|
-
const { totp } = ctx.body;
|
|
207
|
+
const { totp } = ctx.body;
|
|
250
208
|
const result = await authCore.verify2FA(db, ctx.req.user.id, totp);
|
|
251
209
|
return { success: true, ...result };
|
|
252
210
|
}
|
|
@@ -254,10 +212,9 @@ const createDolphinAuthController = (db, authConfig) => {
|
|
|
254
212
|
return { success: false, error: err.message };
|
|
255
213
|
}
|
|
256
214
|
},
|
|
257
|
-
// ✅ FIXED: Use ctx.body
|
|
258
215
|
disable2FA: async (ctx) => {
|
|
259
216
|
try {
|
|
260
|
-
const { totp } = ctx.body;
|
|
217
|
+
const { totp } = ctx.body;
|
|
261
218
|
await authCore.disable2FA(db, ctx.req.user.id, totp);
|
|
262
219
|
return { success: true };
|
|
263
220
|
}
|
|
@@ -265,18 +222,28 @@ const createDolphinAuthController = (db, authConfig) => {
|
|
|
265
222
|
return { success: false, error: err.message };
|
|
266
223
|
}
|
|
267
224
|
},
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
225
|
+
};
|
|
226
|
+
// ======= MIDDLEWARE =======
|
|
227
|
+
const middleware = {
|
|
228
|
+
requireAuth: async (ctx, next) => {
|
|
229
|
+
await authCore.middleware()(ctx.req, ctx.res, next);
|
|
230
|
+
},
|
|
231
|
+
require2FA: async (ctx, next) => {
|
|
232
|
+
await authCore.middleware({ require2FA: true })(ctx.req, ctx.res, next);
|
|
233
|
+
},
|
|
271
234
|
requireAdmin: async (ctx, next) => {
|
|
272
235
|
await authCore.middleware()(ctx.req, ctx.res, async () => {
|
|
273
236
|
if (ctx.req.user?.role !== 'admin') {
|
|
274
|
-
|
|
237
|
+
ctx.res.statusCode = 403;
|
|
238
|
+
ctx.res.end(JSON.stringify({ error: 'Admin access required' }));
|
|
239
|
+
return;
|
|
275
240
|
}
|
|
276
241
|
await next();
|
|
277
242
|
});
|
|
278
|
-
}
|
|
279
|
-
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
// ======= UTILITIES =======
|
|
246
|
+
const utilities = {
|
|
280
247
|
sanitize: (user) => {
|
|
281
248
|
if (!user)
|
|
282
249
|
return null;
|
|
@@ -284,6 +251,7 @@ const createDolphinAuthController = (db, authConfig) => {
|
|
|
284
251
|
return safe;
|
|
285
252
|
}
|
|
286
253
|
};
|
|
254
|
+
return { ...handlers, ...middleware, ...utilities };
|
|
287
255
|
};
|
|
288
256
|
exports.createDolphinAuthController = createDolphinAuthController;
|
|
289
257
|
exports.default = exports.createDolphinAuthController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../authController/authController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"authController.js","sourceRoot":"","sources":["../../authController/authController.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED