interface RequestModel<T> extends Request {
body: T
}
class UserRegisterModel {
first_name: string;
last_name: string;
email: string;
password: string;
constructor({first_name}) {
this.first_name = firstname;
// И так все НУЖНЫЕ поля
}
}
app.post('/register', async (req: RequestModel<UserRegisterModel>, res) => {
if(req.body) {
const user = new UserRegisterModel(req.body);
// Хоба и лишних полей нет ))
}
});
const result = await setSchema.find({}, {account: 1}).limit(1);
User.find({
email: req.body.email,
password: User.hashPassword(req.body.password)
}, (err, user) => {
if(err) {
return res.status(400).json({error: err});
}
if(user) {
let data = JSON.parse(JSON.stringify(user, ['allow', 'fields', 'in', 'array']));
return res.status(200).json(data);
}
});
// ПСЕВДОКОДИЩЕ!!!
var ArticleSchema = new Schema({
title: {
type: String
}
});
ArticleSchema
.virtual('id') // вместо _id
.get(function() {
let hash = md5(this.title);
return encrypt(this._id, hash);
})
.set(function (setFullNameTo) {
// some setter code
});