fix(core): update

This commit is contained in:
Philipp Kunz 2019-06-07 11:49:10 +02:00
parent 57809d9b53
commit eb04abddbf
6 changed files with 43 additions and 13 deletions

12
package-lock.json generated
View File

@ -330,9 +330,9 @@
}
},
"@pushrocks/smartsocket": {
"version": "1.1.37",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartsocket/-/smartsocket-1.1.37.tgz",
"integrity": "sha512-4XYj4v7yrvmh1PlKe7u6fE84bsAn4c8loGA/hxbB1IPntXBXZbXqEXnOQo6Dpqxwk6nGC4ABGpZIMXf+o6qcLQ==",
"version": "1.1.38",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartsocket/-/smartsocket-1.1.38.tgz",
"integrity": "sha512-mGWEuA53GqTFOCebwo4Ayu2l7xjui7I0tdUNgZShGhIr4yv+q3sP/66q6cT388xVawIN+swviJPlPoogaoZXdA==",
"requires": {
"@pushrocks/lik": "^3.0.5",
"@pushrocks/smartdelay": "^2.0.3",
@ -510,9 +510,9 @@
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
},
"@types/node": {
"version": "12.0.6",
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.6.tgz",
"integrity": "sha512-3sV/MUw6uYxPaRIoooI/MjO0j1A06JNlbpkGc56F+zikO52qavehD/Qw85so47gWhO82tNzEFoF6adXqIfK+EA=="
"version": "12.0.7",
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.7.tgz",
"integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A=="
},
"@types/range-parser": {
"version": "1.2.3",

View File

@ -17,7 +17,7 @@
"@gitzone/tsbuild": "^2.1.11",
"@gitzone/tstest": "^1.0.24",
"@pushrocks/tapbundle": "^3.0.9",
"@types/node": "^12.0.6",
"@types/node": "^12.0.7",
"tslint": "^5.17.0",
"tslint-config-prettier": "^1.18.0"
},
@ -33,7 +33,7 @@
"@pushrocks/smartpromise": "^3.0.2",
"@pushrocks/smartrequest": "^1.1.15",
"@pushrocks/smartrx": "^2.0.3",
"@pushrocks/smartsocket": "^1.1.37",
"@pushrocks/smartsocket": "^1.1.38",
"@pushrocks/smarttime": "^3.0.7",
"@pushrocks/smartunique": "^3.0.1"
},

View File

@ -0,0 +1,4 @@
export interface IAuthenticationRequest {
channelName: string;
password: string;
}

View File

@ -95,12 +95,12 @@ export class Universe {
const SubscriptionSocketFunction = new plugins.smartsocket.SocketFunction({
allowedRoles: [ClientRole], // there is only one client role, Authentication happens on another level
funcName: 'channelSubscription',
funcDef: async (dataArg, socketConnectionArg) => {
funcDef: async (dataArg: interfaces.IServerCallSubscribeActionPayload, socketConnectionArg) => {
// run in "this context" of this class
(() => {
// TODO: properly add the connection
const universeConnection = new UniverseConnection({
authenticationRequest:
})
this.universeConnectionManager.addConnection();
})();

View File

@ -5,21 +5,29 @@ import { UniverseChannel } from './smartuniverse.classes.universechannel';
* represents a connection to the universe
*/
export class UniverseConnection {
public terminatedDeferred = plugins.smartpromise.defer();
/**
* the socketClient to ping
*/
public socketConnection: plugins.smartsocket.SocketConnection;
public authenticationRequests = []
public authenticationRequests = [];
public subscribedChannels: UniverseChannel[] = [];
public authenticatedChannels: UniverseChannel[] = [];
public failedToJoinChannels: UniverseChannel[] = [];
/**
* terminates the connection
*/
public terminateConnection () {
this.socketConnection
this.socketConnection.socket.disconnect();
this.terminatedDeferred.resolve();
}
constructor(optionsArg: {
socketConnection: plugins.smartsocket.SocketConnection;
authenticationRequests
}) {
this.socketConnection,
}

View File

@ -7,5 +7,23 @@ import { UniverseConnection } from './smartuniverse.classes.universeconnection';
export class UniverseConnectionManager {
public connectionMap = new plugins.lik.Objectmap<UniverseConnection>();
public addConnection() {}
public async addConnection(universeConnectionArg: UniverseConnection) {
let universeConnection = universeConnectionArg;
universeConnection = await this.deduplicateUniverseConnection(universeConnection);
universeConnection = this.authenticateAuthenticationRequests();
}
/**
* deduplicates UniverseConnections
*/
public deduplicateUniverseConnection (universeConnectionArg: UniverseConnection): Promise<UniverseConnection> {
}
/**
* authenticate AuthenticationRequests
*/
public authenticateAuthenticationRequests(universeConnectionArg) {
}
}