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