refactor: extract the methods about user into class User
This commit is contained in:
15
src/home.ts
15
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 {
|
||||
|
28
src/user.ts
Normal file
28
src/user.ts
Normal file
@@ -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)
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user