/**
* Module Dependencies
*/
const _ = require('lodash');
const UserService = require('../services/user.service');
const AuthService = require('../services/auth.service');
const list = () => new Promise(async (resolve, reject) => {
try {
resolve(await UserService.list());
} catch (err) {
reject(err);
}
});
const create = req => new Promise(async (resolve, reject) => {
try {
const user = await UserService.create(req.body);
if (!_.isEmpty(req.files)) {
user.profilePicture = await UserService.modifyProfilePicture(user, req.files.file);
}
const tokenUserObject = await AuthService.login(req.body);
resolve(tokenUserObject);
} catch (err) {
reject(err);
}
});
const read = req => new Promise(async (resolve, reject) => {
try {
resolve(await UserService.read(req.params.userId));
} catch (err) {
reject(err);
}
});
const update = req => new Promise(async (resolve, reject) => {
try {
resolve(await UserService.update(req.params.userId, req.body));
} catch (err) {
reject(err);
}
});
const del = req => new Promise(async (resolve, reject) => {
try {
resolve(await UserService.del(req.params.userId));
} catch (err) {
reject(err);
}
});
const picture = req => new Promise(async (resolve, reject) => {
try {
resolve(await UserService.getProfilePicture(req.params.userId));
} catch (err) {
reject(err);
}
});
module.exports = {
list,
create,
read,
update,
del,
picture,
};
|