kefu/model/session.js
2019-09-30 10:31:42 +08:00

59 lines
1.6 KiB
JavaScript

var mongoose = require('../utils/mongoose').mongoose;
var crypto = require('crypto');
var Schema = mongoose.Schema;
// session模型
var SessionSchema = new Schema({
uid: {type: String, index: true},
socket: {type: String},
// 类型
type: {type: String, default: "customer"},
// 客服编号
kefu_id: {type: String},
nickname: {type: String},
status: {type: Number,default:1},
create_at: {type: Date, default: Date.now}
});
//session model instance
const sessionModel = mongoose.model("sessions", SessionSchema);
module.exports = {
find(uid) {
return new Promise((success, fail) => {
sessionModel.findOne({uid, status: 1}, (err, session) => {
if (err) fail(err);
else success(session)
})
});
},
create(data) {
return new Promise((success, fail) => {
sessionModel.insert(data, (err, doc) => {
if (err) fail(err);
else success(doc);
})
});
},
update(uid, data) {
return new Promise((success, fail) => {
sessionModel.findOneAndUpdate({uid}, data, success);
});
},
remove(uid) {
return new Promise((success, fail) => {
sessionModel.findOneAndRemove({uid}, data, success);
});
},
// 查询列表
findByCondition(data) {
return new Promise((success, fail) => {
sessionModel.find(data, (err, doc) => {
if (err) fail(err);
else success(doc);
})
});
}
}