提交 b277fc33 编写于 作者: R Rachel Macfarlane

Add 'Initializing' status to authTokenService

上级 adc45b54
......@@ -8,6 +8,7 @@ import { Event, Emitter } from 'vs/base/common/event';
import { URI } from 'vs/base/common/uri';
export const enum AuthTokenStatus {
Initializing = 'Initializing',
Inactive = 'Inactive',
Active = 'Active',
SigningIn = 'SigningIn'
......
......@@ -49,7 +49,7 @@ export interface IToken {
export class AuthTokenService extends Disposable implements IAuthTokenService {
_serviceBrand: undefined;
private _status: AuthTokenStatus = AuthTokenStatus.Inactive;
private _status: AuthTokenStatus = AuthTokenStatus.Initializing;
get status(): AuthTokenStatus { return this._status; }
private _onDidChangeStatus: Emitter<AuthTokenStatus> = this._register(new Emitter<AuthTokenStatus>());
readonly onDidChangeStatus: Event<AuthTokenStatus> = this._onDidChangeStatus.event;
......@@ -66,6 +66,8 @@ export class AuthTokenService extends Disposable implements IAuthTokenService {
this.credentialsService.getPassword(SERVICE_NAME, ACCOUNT).then(storedRefreshToken => {
if (storedRefreshToken) {
this.refresh(storedRefreshToken);
} else {
this.setStatus(AuthTokenStatus.Inactive);
}
});
}
......@@ -219,7 +221,7 @@ export class AuthTokenService extends Disposable implements IAuthTokenService {
});
resolve();
} else {
reject(new Error('Bad!'));
reject(new Error('Refreshing token failed.'));
}
});
});
......@@ -228,6 +230,7 @@ export class AuthTokenService extends Disposable implements IAuthTokenService {
post.end();
post.on('error', err => {
this.setStatus(AuthTokenStatus.Inactive);
reject(err);
});
});
......
......@@ -17,7 +17,7 @@ const ACCOUNT = 'MyAccount';
export class AuthTokenService extends Disposable implements IAuthTokenService {
_serviceBrand: undefined;
private _status: AuthTokenStatus = AuthTokenStatus.Inactive;
private _status: AuthTokenStatus = AuthTokenStatus.Initializing;
get status(): AuthTokenStatus { return this._status; }
private _onDidChangeStatus: Emitter<AuthTokenStatus> = this._register(new Emitter<AuthTokenStatus>());
readonly onDidChangeStatus: Event<AuthTokenStatus> = this._onDidChangeStatus.event;
......@@ -29,10 +29,11 @@ export class AuthTokenService extends Disposable implements IAuthTokenService {
@IQuickInputService private readonly quickInputService: IQuickInputService
) {
super();
this._status = AuthTokenStatus.Inactive;
this.getToken().then(token => {
if (token) {
this.setStatus(AuthTokenStatus.Active);
} else {
this.setStatus(AuthTokenStatus.Inactive);
}
});
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册