sdg
Version:
pomelo ts
60 lines • 5.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const lodash_1 = tslib_1.__importDefault(require("lodash"));
const base_1 = tslib_1.__importDefault(require("../../base"));
const backendSession_1 = require("./session/backendSession");
class BackendSessionService extends base_1.default {
create(session) {
if (lodash_1.default.isEmpty(session))
throw 'opts should not be empty';
return new backendSession_1.BackendSession(session, this);
}
async get(frontendId, sid) {
const session = await this.rpc(frontendId, 'sys', 'sessionRemote', 'getBackendSessionBySid', [sid]);
return this.createBackendSession(session)[0];
}
/**
* Get backend sessions by frontend server id and user id.
* @param {String} frontendId frontend server id that session attached
* @param {String} uid user id binded with the session
*/
async getByUid(frontendId, uid) {
return this.rpc(frontendId, 'sys', 'sessionRemote', 'getBackendSessionsByUid', [uid]);
}
/**
* Kick a session by session id.
* @param {String} frontendId cooperating frontend server id
* @param {Number} sid session id
* @param {String} reason
*/
async kickBySid(frontendId, sid, reason) {
return this.rpc(frontendId, 'sys', 'sessionRemote', 'kickBySid', [sid, reason]);
}
async kickByUid(frontendId, uid, reason) {
return this.rpc(frontendId, 'sys', 'sessionRemote', 'kickByUid', [uid, reason]);
}
async bind(frontendId, sid, uid) {
return this.rpc(frontendId, 'sys', 'sessionRemote', 'bind', [sid, uid]);
}
async unbind(frontendId, sid, uid) {
return this.rpc(frontendId, 'sys', 'sessionRemote', 'unbind', [sid, uid]);
}
async push(frontendId, sid, key, value) {
return this.rpc(frontendId, 'sys', 'sessionRemote', 'push', [sid, key, value]);
}
async pushAll(frontendId, sid, settings) {
return this.rpc(frontendId, 'sys', 'sessionRemote', 'pushAll', [sid, settings]);
}
async rpc(frontendId, namespace, service, method, args) {
return this.app.rpcInvoke(frontendId, { namespace, service, method, args });
}
createBackendSession(sessions) {
if (!Array.isArray(sessions))
sessions = [sessions];
return sessions.map(session => this.create(session));
}
}
exports.default = BackendSessionService;
;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZFNlc3Npb25TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9zZXJ2aWNlL2JhY2tlbmRTZXNzaW9uU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0REFBdUI7QUFFdkIsOERBQThCO0FBQzlCLDZEQUEwRDtBQUcxRCxNQUFxQixxQkFBc0IsU0FBUSxjQUFJO0lBQzlDLE1BQU0sQ0FBQyxPQUErQjtRQUMzQyxJQUFJLGdCQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUFFLE1BQU0sMEJBQTBCLENBQUM7UUFFekQsT0FBTyxJQUFJLCtCQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQXVCLEVBQUUsR0FBUTtRQUNoRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUF1QixFQUFFLEdBQVE7UUFDckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQXVCLEVBQUUsR0FBUSxFQUFFLE1BQWU7UUFDdkUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDTSxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQXVCLEVBQUUsR0FBUSxFQUFFLE1BQWU7UUFDdkUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDTSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQXVCLEVBQUUsR0FBUSxFQUFFLEdBQVE7UUFDM0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDTSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQXVCLEVBQUUsR0FBUSxFQUFFLEdBQVE7UUFDN0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDTSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQXVCLEVBQUUsR0FBUSxFQUFFLEdBQVcsRUFBRSxLQUFhO1FBQzdFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUNNLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBdUIsRUFBRSxHQUFRLEVBQUUsUUFBaUI7UUFDdkUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQXVCLEVBQUUsU0FBaUIsRUFBRSxPQUFlLEVBQUUsTUFBYyxFQUFFLElBQVc7UUFDeEcsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxRQUEyRDtRQUN0RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFBRSxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDdEQsQ0FBQztDQUNGO0FBckRELHdDQXFEQztBQUFBLENBQUMifQ==