v1/Server/services/sessions.js
2019-11-19 23:03:04 -05:00

40 lines
801 B
JavaScript

const Service = require('./Service');
class SessionsService extends Service {
constructor(ctx) {
super(ctx);
this.Session = ctx.M.Session;
}
async get(id, { rolling }) {
const user = await this.Session.findOne({ where: { id } });
if (user === null) {
return null;
}
return user.data;
}
async set(id, data, { maxAge, rolling, changed }) {
let session = await this.Session.findOne({ where: { id } });
if (session === null) {
session = this.Session.build({ id });
}
session.data = data;
session.maxAge = maxAge;
return session.save();
}
async destroy(id) {
const sess = await this.Session.findOne({ where: { id } });
if (sess != null) {
return sess.destroy();
}
}
}
module.exports = SessionsService;