SessionKey.ts
1 import { ConfigManager } from '../config/ConfigManager' 2 import _ from 'lodash' 3 4 function createSessionId() : number { 5 return _.random( -2147483648, 2147483647 ) 6 } 7 8 function compareKeys( first: SessionKeyProperties, second: SessionKeyProperties ): boolean { 9 return first.loginOk1 === second.loginOk1 && first.loginOk2 === second.loginOk2 10 } 11 12 export interface SessionKeyProperties { 13 playOk1: number 14 playOk2: number 15 loginOk1: number 16 loginOk2: number 17 } 18 19 export const SessionKeyHelper = { 20 createKey(): SessionKeyProperties { 21 return { 22 playOk1: createSessionId(), 23 playOk2: createSessionId(), 24 loginOk1: createSessionId(), 25 loginOk2: createSessionId(), 26 } 27 }, 28 29 compareKeys, 30 31 comparePlayKeys( first: SessionKeyProperties, second: SessionKeyProperties ): boolean { 32 return compareKeys( first, second ) && first.playOk1 === second.playOk1 && first.playOk2 === second.playOk2 33 }, 34 35 createSessionId, 36 37 isSame( first: SessionKeyProperties, second: SessionKeyProperties ): boolean { 38 if ( ConfigManager.server.showLicense() ) { 39 return this.comparePlayKeys( first, second ) 40 } 41 42 return ( first.playOk1 === second.playOk1 ) && ( first.playOk2 === second.playOk2 ) 43 }, 44 }