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 * as vscode from 'vscode';
|
||||||
import RemoteContainer from './remote-container';
|
import RemoteContainer from './remote-container';
|
||||||
|
import User from './user';
|
||||||
import * as utils from './utils'
|
import * as utils from './utils'
|
||||||
|
|
||||||
export default class DSHome {
|
export default class DSHome {
|
||||||
private context: vscode.ExtensionContext;
|
private context: vscode.ExtensionContext;
|
||||||
private remoteContainer: RemoteContainer;
|
private remoteContainer: RemoteContainer;
|
||||||
|
private user:User;
|
||||||
static defaultUrl = 'http://localhost:8080/test/index.html';
|
static defaultUrl = 'http://localhost:8080/test/index.html';
|
||||||
|
|
||||||
constructor(context: vscode.ExtensionContext) {
|
constructor(context: vscode.ExtensionContext) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.remoteContainer = new RemoteContainer()
|
this.remoteContainer = new RemoteContainer();
|
||||||
|
this.user = new User(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
async toggle(url: string = DSHome.defaultUrl) {
|
async toggle(url: string = DSHome.defaultUrl) {
|
||||||
@@ -47,7 +50,7 @@ export default class DSHome {
|
|||||||
this.remoteContainer.openRemoteFolder(data.host, data.path);
|
this.remoteContainer.openRemoteFolder(data.host, data.path);
|
||||||
break;
|
break;
|
||||||
case 'getUserToken':
|
case 'getUserToken':
|
||||||
const userToken = this.context.globalState.get('devstarUserToken')
|
const userToken = this.user.getUserTokenFromLocal()
|
||||||
if (userToken === undefined) {
|
if (userToken === undefined) {
|
||||||
panel.webview.postMessage({ command: 'getUserToken', data: {userToken: ''}})
|
panel.webview.postMessage({ command: 'getUserToken', data: {userToken: ''}})
|
||||||
break;
|
break;
|
||||||
@@ -56,10 +59,10 @@ export default class DSHome {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'setUserToken':
|
case 'setUserToken':
|
||||||
this.context.globalState.update('devstarUserToken', data.userToken)
|
this.user.setUserTokenToLocal(data.userToken)
|
||||||
console.log(this.context.globalState.get('devstarUserToken'))
|
console.log(data.userToken)
|
||||||
console.log(message.data.userToken)
|
console.log(this.user.getUserTokenFromLocal())
|
||||||
if (message.data.userToken === this.context.globalState.get('devstarUserToken')) {
|
if (data.userToken === this.user.getUserTokenFromLocal()) {
|
||||||
panel.webview.postMessage({ command: 'setUserToken', data: {ok: true}})
|
panel.webview.postMessage({ command: 'setUserToken', data: {ok: true}})
|
||||||
break;
|
break;
|
||||||
} else {
|
} 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