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 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.username = this.context.globalState.get(this.usernameKey);
|
||||
this.userToken = this.context.globalState.get(this.userTokenKey);
|
||||
|
||||
// 提取devstar domain的主域名,用于本地ssh key的命名
|
||||
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;
|
||||
let parsedUrl = new URL(devstarDomainURL);
|
||||
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname,并用下划线替换.
|
||||
if (devstarDomain != undefined && devstarDomain != "") {
|
||||
// open with vscode链接提供域名
|
||||
this.devstarDomain = devstarDomain
|
||||
let parsedUrl = new URL(devstarDomain);
|
||||
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname,并用下划线替换.
|
||||
} else {
|
||||
// 用户配置项提供域名
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user