-
Install mongoose:
npm i -s mongoose
-
Define status model:
const mongoose = require('mongoose');
const Schema = mongoose.Schema({
user_id: {
type: String,
require: true,
unique: true,
},
status: {
type: String,
},
}, { collection: 'statuses' });
const Status = mongoose.model('Status', Schema);
- Define
getStatus
andsetStatus
methods:
const setStatus = (user_id, status) => {
return new Promise((resolve, reject) => {
Status.findOne({ user_id: id }).then(res => {
if (res) {
res.status = status;
res.save(err => err ? reject(err) : resolve());
} else {
const newStatus = new Status({ user_id, status });
newStatus.save(err => err ? reject(err) : resolve());
}
})
.catch(err => reject(err));
});
}
const getStatus = user_id => {
return new Promise((resolve, reject) => {
Status.findOne({ user_id })
.then(res => resolve(res ? res.status : null))
.catch(err => reject(err));
});
}
- Use it in Ant:Messenger instance:
const Ant = new AntMessenger(token, { getStatus, setStatus })
- PROFIT! Ant:Messenger fully ready to use.