|
|
@ -1,6 +1,6 @@ |
|
|
|
const httpStatus = require('http-status'); |
|
|
|
const { omit } = require('lodash'); |
|
|
|
const User = require('../models/user.model'); |
|
|
|
const httpStatus = require("http-status"); |
|
|
|
const { omit } = require("lodash"); |
|
|
|
const User = require("../models/user.model"); |
|
|
|
|
|
|
|
/** |
|
|
|
* Load user and append to req. |
|
|
@ -51,10 +51,9 @@ exports.replace = async (req, res, next) => { |
|
|
|
try { |
|
|
|
const { user } = req.locals; |
|
|
|
const newUser = new User(req.body); |
|
|
|
const ommitRole = user.role !== 'admin' ? 'role' : ''; |
|
|
|
const newUserObject = omit(newUser.toObject(), '_id', ommitRole); |
|
|
|
const ommitRole = user.role !== "admin" ? "role" : ""; |
|
|
|
const newUserObject = omit(newUser.toObject(), "_id", ommitRole); |
|
|
|
|
|
|
|
|
|
|
|
res.json(savedUser.transform()); |
|
|
|
} catch (error) { |
|
|
|
next(User.checkDuplicateEmail(error)); |
|
|
@ -66,13 +65,14 @@ exports.replace = async (req, res, next) => { |
|
|
|
* @public |
|
|
|
*/ |
|
|
|
exports.update = (req, res, next) => { |
|
|
|
const ommitRole = req.locals.user.role !== 'admin' ? 'role' : ''; |
|
|
|
const ommitRole = req.locals.user.role !== "admin" ? "role" : ""; |
|
|
|
const updatedUser = omit(req.body, ommitRole); |
|
|
|
const user = Object.assign(req.locals.user, updatedUser); |
|
|
|
|
|
|
|
user.save() |
|
|
|
.then(savedUser => res.json(savedUser.transform())) |
|
|
|
.catch(e => next(User.checkDuplicateEmail(e))); |
|
|
|
user |
|
|
|
.save() |
|
|
|
.then((savedUser) => res.json(savedUser.transform())) |
|
|
|
.catch((e) => next(User.checkDuplicateEmail(e))); |
|
|
|
}; |
|
|
|
|
|
|
|
/** |
|
|
@ -82,7 +82,7 @@ exports.update = (req, res, next) => { |
|
|
|
exports.list = async (req, res, next) => { |
|
|
|
try { |
|
|
|
const users = await User.list(req.query); |
|
|
|
const transformedUsers = users.map(user => user.transform()); |
|
|
|
const transformedUsers = users.map((user) => user.transform()); |
|
|
|
res.json(transformedUsers); |
|
|
|
} catch (error) { |
|
|
|
next(error); |
|
|
@ -96,7 +96,8 @@ exports.list = async (req, res, next) => { |
|
|
|
exports.remove = (req, res, next) => { |
|
|
|
const { user } = req.locals; |
|
|
|
|
|
|
|
user.remove() |
|
|
|
user |
|
|
|
.remove() |
|
|
|
.then(() => res.status(httpStatus.NO_CONTENT).end()) |
|
|
|
.catch(e => next(e)); |
|
|
|
.catch((e) => next(e)); |
|
|
|
}; |