Add profilePictureUrl, dateOfBirth, gender and interests of a user
This commit is contained in:
parent
54324794e9
commit
3ce5567f8a
2 changed files with 51 additions and 23 deletions
|
|
@ -58,7 +58,11 @@ exports.create = (req, res) => {
|
||||||
user = new User({
|
user = new User({
|
||||||
login: req.body.login,
|
login: req.body.login,
|
||||||
hashPass: req.body.hashPass,
|
hashPass: req.body.hashPass,
|
||||||
mail: req.body.mail
|
mail: req.body.mail,
|
||||||
|
profilePictureUrl: req.body.profilePictureUrl ? req.body.profilePictureUrl : null,
|
||||||
|
dateOfBirth: req.body.dateOfBirth ? req.body.dateOfBirth : null,
|
||||||
|
gender: req.body.gender ? req.body.gender : null,
|
||||||
|
interests: req.body.interests ? req.body.interests : null
|
||||||
});
|
});
|
||||||
} else if(typeof token.role !== 'undefined' &&
|
} else if(typeof token.role !== 'undefined' &&
|
||||||
typeof req.body.role !== 'undefined' &&
|
typeof req.body.role !== 'undefined' &&
|
||||||
|
|
@ -68,13 +72,21 @@ exports.create = (req, res) => {
|
||||||
login: req.body.login,
|
login: req.body.login,
|
||||||
hashPass: req.body.hashPass,
|
hashPass: req.body.hashPass,
|
||||||
mail: req.body.mail,
|
mail: req.body.mail,
|
||||||
role: req.body.role
|
role: req.body.role,
|
||||||
|
profilePictureUrl: req.body.profilePictureUrl ? req.body.profilePictureUrl : null,
|
||||||
|
dateOfBirth: req.body.dateOfBirth ? req.body.dateOfBirth : null,
|
||||||
|
gender: req.body.gender ? req.body.gender : null,
|
||||||
|
interests: req.body.interests ? req.body.interests : null
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
user = new User({
|
user = new User({
|
||||||
login: req.body.login,
|
login: req.body.login,
|
||||||
hashPass: req.body.hashPass,
|
hashPass: req.body.hashPass,
|
||||||
mail: req.body.mail
|
mail: req.body.mail,
|
||||||
|
profilePictureUrl: req.body.profilePictureUrl ? req.body.profilePictureUrl : null,
|
||||||
|
dateOfBirth: req.body.dateOfBirth ? req.body.dateOfBirth : null,
|
||||||
|
gender: req.body.gender ? req.body.gender : null,
|
||||||
|
interests: req.body.interests ? req.body.interests : null
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// Save User in the database
|
// Save User in the database
|
||||||
|
|
@ -100,26 +112,27 @@ exports.create = (req, res) => {
|
||||||
exports.findAll = (req, res) => {
|
exports.findAll = (req, res) => {
|
||||||
const token = checkLogin(req, res, roles.Admin);
|
const token = checkLogin(req, res, roles.Admin);
|
||||||
if(token){
|
if(token){
|
||||||
const login = req.query.login;
|
let query = {};
|
||||||
let condition;
|
|
||||||
let active = null;
|
|
||||||
let ids = null;
|
|
||||||
if(typeof req.body.ids !== 'undefined' && typeof req.body.ids === 'object'){
|
|
||||||
ids = {$in: req.body.ids};
|
|
||||||
}
|
|
||||||
if(typeof req.query.active !== 'undefined'){
|
|
||||||
active = req.query.active !== 'false';
|
|
||||||
}
|
|
||||||
|
|
||||||
if(ids !== null && active !== null){
|
const ids = req.query.ids;
|
||||||
condition = login ? { login: { $regex: new RegExp(login), $options: "i" }, _id: ids, active: active} : {_id: ids, active: active};
|
let condition = ids ? {$in: ids} : {};
|
||||||
} else if(ids !== null){
|
query._id = condition;
|
||||||
condition = login ? { login: { $regex: new RegExp(login), $options: "i" }, _id: ids} : {_id: ids};
|
|
||||||
} else if(active !== null){
|
const login = req.query.login;
|
||||||
condition = login ? { login: { $regex: new RegExp(login), $options: "i" }, active: active} : {active: active};
|
condition = login ? { $regex: new RegExp(login), $options: "i" } : undefined;
|
||||||
} else{
|
query.login = condition;
|
||||||
condition = login ? { login: { $regex: new RegExp(login), $options: "i" }} : {};
|
|
||||||
}
|
const mail = req.query.mail;
|
||||||
|
condition = mail ? { $regex: new RegExp(mail), $options: "i" } : undefined;
|
||||||
|
query.mail = condition;
|
||||||
|
|
||||||
|
const role = req.query.role;
|
||||||
|
condition = role ? { $regex: new RegExp(role), $options: "i" } : undefined;
|
||||||
|
query.role = condition;
|
||||||
|
|
||||||
|
const active = req.query.active;
|
||||||
|
condition = active ? active : undefined;
|
||||||
|
query.active = condition;
|
||||||
|
|
||||||
User.find(condition, {hashPass: false})
|
User.find(condition, {hashPass: false})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,22 @@ module.exports = mongoose => {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: roles.User
|
default: roles.User
|
||||||
},
|
},
|
||||||
playlists: [],
|
profilePictureUrl: {
|
||||||
|
type: String,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
|
dateOfBirth: {
|
||||||
|
type: Date,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
|
gender: {
|
||||||
|
type: String,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
|
interests: {
|
||||||
|
type: Array,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
active: {
|
active: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true
|
default: true
|
||||||
|
|
|
||||||
Reference in a new issue