aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/ApiManagers/DeleteManager.ts17
-rw-r--r--src/server/ApiManagers/UserManager.ts12
2 files changed, 24 insertions, 5 deletions
diff --git a/src/server/ApiManagers/DeleteManager.ts b/src/server/ApiManagers/DeleteManager.ts
index 71818c673..1fdc7cc36 100644
--- a/src/server/ApiManagers/DeleteManager.ts
+++ b/src/server/ApiManagers/DeleteManager.ts
@@ -1,5 +1,5 @@
import ApiManager, { Registration } from "./ApiManager";
-import { Method, _permission_denied } from "../RouteManager";
+import { Method, _permission_denied, OnUnauthenticated } from "../RouteManager";
import { WebSocket } from "../Websocket/Websocket";
import { Database } from "../database";
@@ -31,6 +31,21 @@ export default class DeleteManager extends ApiManager {
}
});
+ const hi: OnUnauthenticated = async ({ res, isRelease }) => {
+ if (isRelease) {
+ return _permission_denied(res, deletionPermissionError);
+ }
+ await Database.Instance.deleteAll('users');
+ res.redirect("/home");
+ };
+
+ // register({
+ // method: Method.GET,
+ // subscription: "/deleteUsers",
+ // onValidation: hi,
+ // onUnauthenticated: hi
+ // });
+
register({
method: Method.GET,
diff --git a/src/server/ApiManagers/UserManager.ts b/src/server/ApiManagers/UserManager.ts
index 7e8ceb189..3ae2a5d30 100644
--- a/src/server/ApiManagers/UserManager.ts
+++ b/src/server/ApiManagers/UserManager.ts
@@ -47,8 +47,8 @@ export default class UserManager extends ApiManager {
// perhaps should assert whether curr password is entered correctly
const validated = await new Promise<Opt<boolean>>(resolve => {
bcrypt.compare(curr_pass, user.password, (err, passwords_match) => {
- if (err) {
- result.error = "Incorrect current password";
+ if (err || !passwords_match) {
+ result.error = [{ msg: "Incorrect current password" }];
res.send(result);
resolve(undefined);
} else {
@@ -61,9 +61,13 @@ export default class UserManager extends ApiManager {
return;
}
- req.assert("new_pass", "Password must be at least 4 characters long").len({ min: 4 });
+ // req.assert("new_pass", "Password must be at least 4 characters long").len({ min: 4 });
req.assert("new_confirm", "Passwords do not match").equals(new_pass);
+ if (req.assert("new_pass", "Password must be at least 4 characters long").len({ min: 4 })) {
+ result.inch = "interesting";
+ }
+
// was there error in validating new passwords?
if (req.validationErrors()) {
// was there error?
@@ -76,7 +80,7 @@ export default class UserManager extends ApiManager {
user.save(err => {
if (err) {
- result.error = "saving";
+ result.error = [{ msg: "Error while saving new password" }];
}
});