feat(user): two constructors used for domain which come from user config or param in open_with_vscode link
This commit is contained in:
38
src/user.ts
38
src/user.ts
@@ -19,19 +19,41 @@ export default class User {
|
|||||||
private localUserPrivateKeyPath: string = ''
|
private localUserPrivateKeyPath: string = ''
|
||||||
private devstarHostname: string;
|
private devstarHostname: string;
|
||||||
|
|
||||||
constructor(context: vscode.ExtensionContext) {
|
/**
|
||||||
|
* devstarDomain由配置项提供
|
||||||
|
* @param context
|
||||||
|
*/
|
||||||
|
constructor(context: vscode.ExtensionContext);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* devstarDomain由open with vscode链接提供
|
||||||
|
* @param context
|
||||||
|
* @param devstarDomain
|
||||||
|
*/
|
||||||
|
constructor(context: vscode.ExtensionContext, devstarDomain: string);
|
||||||
|
|
||||||
|
constructor(context: vscode.ExtensionContext, devstarDomain?: string) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.username = this.context.globalState.get(this.usernameKey);
|
this.username = this.context.globalState.get(this.usernameKey);
|
||||||
this.userToken = this.context.globalState.get(this.userTokenKey);
|
this.userToken = this.context.globalState.get(this.userTokenKey);
|
||||||
|
|
||||||
// 提取devstar domain的主域名,用于本地ssh key的命名
|
// 提取devstar domain的主域名,用于本地ssh key的命名
|
||||||
let devstarDomainFromConfig: string | undefined;
|
if (devstarDomain != undefined && devstarDomain != "") {
|
||||||
let devstarDomainURL: string;
|
// open with vscode链接提供域名
|
||||||
devstarDomainFromConfig = vscode.workspace.getConfiguration('devstar').get('devstarDomain')
|
this.devstarDomain = devstarDomain
|
||||||
// 如果没有配置devstar domain,则默认domain为https://devstar.cn
|
let parsedUrl = new URL(devstarDomain);
|
||||||
devstarDomainURL = (devstarDomainFromConfig === undefined || devstarDomainFromConfig === "") ? 'https://devstar.cn' : devstarDomainFromConfig;
|
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname,并用下划线替换.
|
||||||
let parsedUrl = new URL(devstarDomainURL);
|
} else {
|
||||||
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname,并用下划线替换.
|
// 用户配置项提供域名
|
||||||
|
let devstarDomainFromConfig: string | undefined;
|
||||||
|
let devstarDomainURL: string;
|
||||||
|
devstarDomainFromConfig = vscode.workspace.getConfiguration('devstar').get('devstarDomain')
|
||||||
|
// 如果没有配置devstar domain,则默认domain为https://devstar.cn
|
||||||
|
devstarDomainURL = (devstarDomainFromConfig === undefined || devstarDomainFromConfig === "") ? 'https://devstar.cn' : devstarDomainFromConfig;
|
||||||
|
this.devstarDomain = devstarDomainURL
|
||||||
|
let parsedUrl = new URL(devstarDomainURL);
|
||||||
|
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname,并用下划线替换.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async login(token: string, username: string) {
|
public async login(token: string, username: string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user