gamelet-cli
Version:
Download project from code.gamelet.com, edit/test in vscode and sync back to server.
64 lines • 4.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.clientManager = exports.ClientManager = void 0;
const ClientOwner_1 = require("./../entities/ClientOwner");
const ManagerBase_1 = require("./ManagerBase");
const gltserver_service_1 = require("../services/gltserver.service");
class ClientManager extends ManagerBase_1.ManagerBase {
constructor() {
super('ClientManager');
this.owners = {};
this.projects = {};
}
initialize() {
}
getClientOwner(ownername, createIfNotExist) {
let owner = this.owners[ownername];
if (!owner && createIfNotExist) {
owner = new ClientOwner_1.ClientOwner(ownername);
this.owners[ownername] = owner;
}
return owner;
}
getClientProject(clientCode, createIfNotExist) {
let project = this.projects[clientCode];
if (!project && createIfNotExist) {
return gltserver_service_1.serverService.getOwnernameByClient(clientCode)
.then(ownername => {
let owner = this.getClientOwner(ownername, true);
project = owner.getProject(clientCode);
this.projects[clientCode] = project;
return project;
});
}
return Promise.resolve(project);
}
getCachedClientProject(clientCode) {
return this.projects[clientCode];
}
getClientByToken(token, msgVersion) {
let params = token.split('|');
return this.getClient(params[1], msgVersion);
}
getClient(clientCode, msgVersion) {
return this.getClientProject(clientCode, true)
.then(project => project.getClient(msgVersion));
}
listProjects() {
let list = [];
for (let key in this.projects) {
list.push(this.projects[key]);
}
return list;
}
get playersCount() {
let count = 0;
for (let key in this.projects) {
count += this.projects[key].playersCount;
}
return count;
}
}
exports.ClientManager = ClientManager;
exports.clientManager = new ClientManager();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvQ2xpZW50TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBd0Q7QUFDeEQsK0NBQTRDO0FBRzVDLHFFQUE4RDtBQUU5RCxNQUFhLGFBQWMsU0FBUSx5QkFBVztJQUsxQztRQUNJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpuQixXQUFNLEdBQW1DLEVBQUUsQ0FBQztRQUM1QyxhQUFRLEdBQXFDLEVBQUUsQ0FBQztJQUl4RCxDQUFDO0lBRUQsVUFBVTtJQUVWLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBaUIsRUFBRSxnQkFBeUI7UUFDdkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsS0FBSyxHQUFHLElBQUkseUJBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsZ0JBQXlCO1FBQzFELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQy9CLE9BQU8saUNBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7aUJBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDZCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDO2dCQUNwQyxPQUFPLE9BQU8sQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQTtRQUVWLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHNCQUFzQixDQUFDLFVBQWtCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFVBQWtCO1FBQzlDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQzthQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksR0FBb0IsRUFBRSxDQUFDO1FBQy9CLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBbEVELHNDQWtFQztBQUVZLFFBQUEsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUMifQ==