gamelet-cli
Version:
Download project from code.gamelet.com, edit/test in vscode and sync back to server.
64 lines • 4.85 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvQ2xpZW50TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBd0Q7QUFDeEQsK0NBQTRDO0FBRzVDLHFFQUE4RDtBQUU5RCxNQUFhLGFBQWMsU0FBUSx5QkFBVztJQUsxQztRQUNJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpuQixXQUFNLEdBQW1DLEVBQUUsQ0FBQztRQUM1QyxhQUFRLEdBQXFDLEVBQUUsQ0FBQztJQUl4RCxDQUFDO0lBRUQsVUFBVTtJQUVWLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBaUIsRUFBRSxnQkFBeUI7UUFDdkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLGdCQUFnQixFQUFFO1lBQzVCLEtBQUssR0FBRyxJQUFJLHlCQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDbEM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxnQkFBeUI7UUFDMUQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxJQUFJLGdCQUFnQixFQUFFO1lBQzlCLE9BQU8saUNBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7aUJBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDZCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDO2dCQUNwQyxPQUFPLE9BQU8sQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQTtTQUVUO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxVQUFrQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWEsRUFBRSxVQUFrQjtRQUM5QyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFNBQVMsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7YUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLEdBQW9CLEVBQUUsQ0FBQztRQUMvQixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzQixLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDNUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0o7QUFsRUQsc0NBa0VDO0FBRVksUUFBQSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyJ9