mirror of
https://github.com/YMFE/yapi.git
synced 2024-12-15 05:10:47 +08:00
88 lines
2.1 KiB
JavaScript
88 lines
2.1 KiB
JavaScript
import yapi from '../yapi.js'
|
|
import mongoose from 'mongoose'
|
|
import baseModel from './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,
|
|
role: String,
|
|
add_time: Number,
|
|
up_time: Number
|
|
}
|
|
}
|
|
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 add_time up_time").exec() //显示id name email role
|
|
}
|
|
findByUids(uids){
|
|
return this.model.find({
|
|
_id: {$in: [107]}
|
|
}).select("_id username email role add_time up_time").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 add_time up_time").exec();
|
|
}
|
|
listCount() {
|
|
return this.model.count();
|
|
}
|
|
findByEmail(email){
|
|
return this.model.findOne({email: email})
|
|
}
|
|
findById(id){
|
|
return this.model.findById({
|
|
_id: id
|
|
})
|
|
}
|
|
del (id) {
|
|
return this.model.deleteOne({
|
|
_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
|