diff --git a/src/home.ts b/src/home.ts index 2f975e2..cbb5397 100644 --- a/src/home.ts +++ b/src/home.ts @@ -1,15 +1,18 @@ import * as vscode from 'vscode'; import RemoteContainer from './remote-container'; +import User from './user'; import * as utils from './utils' export default class DSHome { private context: vscode.ExtensionContext; private remoteContainer: RemoteContainer; + private user:User; static defaultUrl = 'http://localhost:8080/test/index.html'; constructor(context: vscode.ExtensionContext) { this.context = context; - this.remoteContainer = new RemoteContainer() + this.remoteContainer = new RemoteContainer(); + this.user = new User(context); } async toggle(url: string = DSHome.defaultUrl) { @@ -47,7 +50,7 @@ export default class DSHome { this.remoteContainer.openRemoteFolder(data.host, data.path); break; case 'getUserToken': - const userToken = this.context.globalState.get('devstarUserToken') + const userToken = this.user.getUserTokenFromLocal() if (userToken === undefined) { panel.webview.postMessage({ command: 'getUserToken', data: {userToken: ''}}) break; @@ -56,10 +59,10 @@ export default class DSHome { break; } case 'setUserToken': - this.context.globalState.update('devstarUserToken', data.userToken) - console.log(this.context.globalState.get('devstarUserToken')) - console.log(message.data.userToken) - if (message.data.userToken === this.context.globalState.get('devstarUserToken')) { + this.user.setUserTokenToLocal(data.userToken) + console.log(data.userToken) + console.log(this.user.getUserTokenFromLocal()) + if (data.userToken === this.user.getUserTokenFromLocal()) { panel.webview.postMessage({ command: 'setUserToken', data: {ok: true}}) break; } else { diff --git a/src/user.ts b/src/user.ts new file mode 100644 index 0000000..9099d9e --- /dev/null +++ b/src/user.ts @@ -0,0 +1,28 @@ +import * as vscode from 'vscode'; + +export default class User { + private context:vscode.ExtensionContext; + private usernameKey:string = 'devstarUsername' + private userTokenKey:string = 'devstarUserToken' + + constructor(context: vscode.ExtensionContext) { + this.context = context; + } + + public getUsernameFromLocal(): string|undefined { + return this.context.globalState.get(this.usernameKey); + } + + public getUserTokenFromLocal(): string|undefined{ + return this.context.globalState.get(this.userTokenKey); + } + + public setUsernameToLocal(username:string) { + this.context.globalState.update(this.usernameKey, username) + } + + public setUserTokenToLocal(userToken:string) { + this.context.globalState.update(this.userTokenKey, userToken) + } + +} \ No newline at end of file