lexica-dialog-core
Version:
Core server for Lexica dialog agent.
39 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const lodash_1 = require("lodash");
class RedisSessionRepository {
constructor(client) {
this.client = client;
}
findByUniAndSenderId(uni, senderId) {
return new Promise((resolve, reject) => {
const key = this.createKey(uni, senderId);
this.client.get(key, (err, value) => {
if (lodash_1.isNil(err)) {
resolve(JSON.parse(value));
}
else {
reject(err);
}
});
});
}
save(uni, senderId, session, expireInMs) {
return new Promise((resolve, reject) => {
const key = this.createKey(uni, senderId);
this.client.set(key, JSON.stringify(session), 'PX', expireInMs, (err, value) => {
if (lodash_1.isNil(err)) {
resolve();
}
else {
reject(err);
}
});
});
}
createKey(uni, senderId) {
return `${uni}_${senderId}`;
}
}
exports.default = RedisSessionRepository;
//# sourceMappingURL=RedisSessionRepository.js.map