mirror of
https://github.com/YMFE/yapi.git
synced 2024-12-27 05:30:14 +08:00
97 lines
2.3 KiB
JavaScript
Executable File
97 lines
2.3 KiB
JavaScript
Executable File
const baseModel = require('./base.js');
|
|
|
|
class userModel extends baseModel {
|
|
getName() {
|
|
return 'user';
|
|
}
|
|
|
|
getSchema() {
|
|
return {
|
|
username: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
password: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
email: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
passsalt: String,
|
|
study: {type: Boolean, default: false},
|
|
role: String,
|
|
add_time: Number,
|
|
up_time: Number,
|
|
type: {type: String, enum: ['site', 'third'], default: "site"} //site用户是网站注册用户, third是第三方登录过来的用户
|
|
};
|
|
}
|
|
|
|
save(data) {
|
|
let user = new this.model(data);
|
|
return user.save();
|
|
}
|
|
|
|
checkRepeat(email) {
|
|
return this.model.count({
|
|
email: email
|
|
});
|
|
}
|
|
|
|
list() {
|
|
return this.model.find().select('_id username email role type add_time up_time study').exec(); //显示id name email role
|
|
}
|
|
|
|
findByUids(uids) {
|
|
return this.model.find({
|
|
_id: { $in: uids }
|
|
}).select('_id username email role type add_time up_time study').exec();
|
|
}
|
|
|
|
listWithPaging(page, limit) {
|
|
page = parseInt(page);
|
|
limit = parseInt(limit);
|
|
return this.model.find().sort({ _id: -1 }).skip((page - 1) * limit).limit(limit).select('_id username email role type add_time up_time study').exec();
|
|
}
|
|
|
|
listCount() {
|
|
return this.model.count();
|
|
}
|
|
|
|
findByEmail(email) {
|
|
return this.model.findOne({ email: email });
|
|
}
|
|
|
|
findById(id) {
|
|
return this.model.findOne({
|
|
_id: id
|
|
});
|
|
}
|
|
|
|
del(id) {
|
|
return this.model.remove({
|
|
_id: id
|
|
});
|
|
}
|
|
|
|
update(id, data) {
|
|
return this.model.update({
|
|
_id: id
|
|
}, data);
|
|
}
|
|
|
|
search(keyword) {
|
|
return this.model.find({
|
|
$or: [
|
|
{ email: new RegExp(keyword, 'i') },
|
|
{ username: new RegExp(keyword, 'i') }
|
|
]
|
|
}, {
|
|
passsalt: 0,
|
|
password: 0
|
|
}).limit(10);
|
|
}
|
|
}
|
|
|
|
module.exports = userModel; |