Files
myDrive/dist/controllers/user.js
T

122 lines
4.2 KiB
JavaScript

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
const env = require("../enviroment/env");
const UserService = require("../services/UserService");
const UserProvider = new UserService();
class UserController {
constructor() {
}
getUser(req, res) {
return __awaiter(this, void 0, void 0, function* () {
try {
const user = req.user;
user.tokens = undefined;
user.tempTokens = undefined;
user.password = undefined;
user.privateKey = undefined;
user.publicKey = undefined;
res.send(user);
}
catch (e) {
res.status(500).send(e);
}
});
}
login(req, res) {
return __awaiter(this, void 0, void 0, function* () {
try {
const body = req.body;
const { user, token } = yield UserProvider.login(body);
user.tokens = undefined;
user.tempTokens = undefined;
user.password = undefined;
user.privateKey = undefined;
user.publicKey = undefined;
res.status(200).send({ user, token });
}
catch (e) {
const code = e.code || 500;
console.log(e);
res.status(code).send(e);
}
});
}
logout(req, res) {
return __awaiter(this, void 0, void 0, function* () {
if (!req.user) {
return;
}
try {
const user = req.user;
const token = req.encryptedToken;
yield UserProvider.logout(user, token);
res.send();
}
catch (e) {
res.status(500).send(e);
}
});
}
logoutAll(req, res) {
return __awaiter(this, void 0, void 0, function* () {
try {
const user = req.user;
yield UserProvider.logoutAll(user);
res.send();
}
catch (e) {
res.status(500).send(e);
}
});
}
createUser(req, res) {
return __awaiter(this, void 0, void 0, function* () {
if (env.createAcctBlocked) {
return yield res.status(401).send();
}
try {
const { user, token } = yield UserProvider.create(req.body);
user.tokens = undefined;
user.tempTokens = undefined;
user.password = undefined;
user.privateKey = undefined;
user.publicKey = undefined;
res.status(201).send({ user, token });
}
catch (e) {
const code = e.code || 500;
console.log(e);
res.status(code).send(e);
}
});
}
changePassword(req, res) {
return __awaiter(this, void 0, void 0, function* () {
if (!req.user) {
return;
}
try {
const user = req.user;
const oldPassword = req.body.oldPassword;
const newPassword = req.body.newPassword;
const newToken = yield UserProvider.changePassword(user, oldPassword, newPassword);
res.send(newToken);
}
catch (e) {
const code = e.code || 500;
console.log(e);
res.status(code).send(e);
}
});
}
}
module.exports = UserController;