Skip to content

Commit 5e5e709

Browse files
committed
move auth token service from user data sync
1 parent efc5b91 commit 5e5e709

14 files changed

Lines changed: 84 additions & 69 deletions

File tree

src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,23 +49,24 @@ import { IFileService } from 'vs/platform/files/common/files';
4949
import { DiskFileSystemProvider } from 'vs/platform/files/electron-browser/diskFileSystemProvider';
5050
import { Schemas } from 'vs/base/common/network';
5151
import { IProductService } from 'vs/platform/product/common/productService';
52-
import { IUserDataSyncService, IUserDataSyncStoreService, registerConfiguration, IUserDataSyncLogService, IUserDataSyncUtilService, ISettingsSyncService, IUserDataAuthTokenService, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
52+
import { IUserDataSyncService, IUserDataSyncStoreService, registerConfiguration, IUserDataSyncLogService, IUserDataSyncUtilService, ISettingsSyncService, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
5353
import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyncService';
5454
import { UserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSyncStoreService';
55-
import { UserDataSyncChannel, UserDataSyncUtilServiceClient, SettingsSyncChannel, UserDataAuthTokenServiceChannel, UserDataAutoSyncChannel } from 'vs/platform/userDataSync/common/userDataSyncIpc';
55+
import { UserDataSyncChannel, UserDataSyncUtilServiceClient, SettingsSyncChannel, UserDataAutoSyncChannel } from 'vs/platform/userDataSync/common/userDataSyncIpc';
5656
import { IElectronService } from 'vs/platform/electron/node/electron';
5757
import { LoggerService } from 'vs/platform/log/node/loggerService';
5858
import { UserDataSyncLogService } from 'vs/platform/userDataSync/common/userDataSyncLog';
5959
import { ICredentialsService } from 'vs/platform/credentials/common/credentials';
6060
import { KeytarCredentialsService } from 'vs/platform/credentials/node/credentialsService';
6161
import { UserDataAutoSyncService } from 'vs/platform/userDataSync/electron-browser/userDataAutoSyncService';
6262
import { SettingsSynchroniser } from 'vs/platform/userDataSync/common/settingsSync';
63-
import { UserDataAuthTokenService } from 'vs/platform/userDataSync/common/userDataAuthTokenService';
6463
import { NativeStorageService } from 'vs/platform/storage/node/storageService';
6564
import { GlobalStorageDatabaseChannelClient } from 'vs/platform/storage/node/storageIpc';
6665
import { IStorageService } from 'vs/platform/storage/common/storage';
6766
import { GlobalExtensionEnablementService } from 'vs/platform/extensionManagement/common/extensionEnablementService';
6867
import { UserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSyncEnablementService';
68+
import { IAuthenticationTokenService, AuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
69+
import { AuthenticationTokenServiceChannel } from 'vs/platform/authentication/common/authenticationIpc';
6970

7071
export interface ISharedProcessConfiguration {
7172
readonly machineId: string;
@@ -188,7 +189,7 @@ async function main(server: Server, initData: ISharedProcessInitData, configurat
188189
services.set(IDiagnosticsService, new SyncDescriptor(DiagnosticsService));
189190

190191
services.set(ICredentialsService, new SyncDescriptor(KeytarCredentialsService));
191-
services.set(IUserDataAuthTokenService, new SyncDescriptor(UserDataAuthTokenService));
192+
services.set(IAuthenticationTokenService, new SyncDescriptor(AuthenticationTokenService));
192193
services.set(IUserDataSyncLogService, new SyncDescriptor(UserDataSyncLogService));
193194
services.set(IUserDataSyncUtilService, new UserDataSyncUtilServiceClient(server.getChannel('userDataSyncUtil', client => client.ctx !== 'main')));
194195
services.set(IGlobalExtensionEnablementService, new SyncDescriptor(GlobalExtensionEnablementService));
@@ -214,8 +215,8 @@ async function main(server: Server, initData: ISharedProcessInitData, configurat
214215
const diagnosticsChannel = new DiagnosticsChannel(diagnosticsService);
215216
server.registerChannel('diagnostics', diagnosticsChannel);
216217

217-
const authTokenService = accessor.get(IUserDataAuthTokenService);
218-
const authTokenChannel = new UserDataAuthTokenServiceChannel(authTokenService);
218+
const authTokenService = accessor.get(IAuthenticationTokenService);
219+
const authTokenChannel = new AuthenticationTokenServiceChannel(authTokenService);
219220
server.registerChannel('authToken', authTokenChannel);
220221

221222
const settingsSyncService = accessor.get(ISettingsSyncService);

src/vs/platform/userDataSync/common/userDataAuthTokenService.ts renamed to src/vs/platform/authentication/common/authentication.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,24 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6+
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
67
import { Emitter, Event } from 'vs/base/common/event';
78
import { Disposable } from 'vs/base/common/lifecycle';
8-
import { IUserDataAuthTokenService } from 'vs/platform/userDataSync/common/userDataSync';
99

10-
export class UserDataAuthTokenService extends Disposable implements IUserDataAuthTokenService {
10+
export const IAuthenticationTokenService = createDecorator<IAuthenticationTokenService>('IAuthenticationTokenService');
11+
12+
export interface IAuthenticationTokenService {
13+
_serviceBrand: undefined;
14+
15+
readonly onDidChangeToken: Event<string | undefined>;
16+
readonly onTokenFailed: Event<void>;
17+
18+
getToken(): Promise<string | undefined>;
19+
setToken(accessToken: string | undefined): Promise<void>;
20+
sendTokenFailed(): void;
21+
}
22+
23+
export class AuthenticationTokenService extends Disposable implements IAuthenticationTokenService {
1124

1225
_serviceBrand: any;
1326

@@ -38,3 +51,4 @@ export class UserDataAuthTokenService extends Disposable implements IUserDataAut
3851
this._onTokenFailed.fire();
3952
}
4053
}
54+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import { IServerChannel } from 'vs/base/parts/ipc/common/ipc';
7+
import { Event } from 'vs/base/common/event';
8+
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
9+
10+
11+
export class AuthenticationTokenServiceChannel implements IServerChannel {
12+
constructor(private readonly service: IAuthenticationTokenService) { }
13+
14+
listen(_: unknown, event: string): Event<any> {
15+
switch (event) {
16+
case 'onDidChangeToken': return this.service.onDidChangeToken;
17+
case 'onTokenFailed': return this.service.onTokenFailed;
18+
}
19+
throw new Error(`Event not found: ${event}`);
20+
}
21+
22+
call(context: any, command: string, args?: any): Promise<any> {
23+
switch (command) {
24+
case 'setToken': return this.service.setToken(args);
25+
case 'getToken': return this.service.getToken();
26+
}
27+
throw new Error('Invalid call');
28+
}
29+
}

src/vs/platform/userDataSync/common/userDataAutoSyncService.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import { timeout, Delayer } from 'vs/base/common/async';
77
import { Event, Emitter } from 'vs/base/common/event';
88
import { Disposable } from 'vs/base/common/lifecycle';
9-
import { IUserDataSyncLogService, IUserDataSyncService, SyncStatus, IUserDataAuthTokenService, IUserDataAutoSyncService, UserDataSyncError, UserDataSyncErrorCode, SyncSource, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
9+
import { IUserDataSyncLogService, IUserDataSyncService, SyncStatus, IUserDataAutoSyncService, UserDataSyncError, UserDataSyncErrorCode, SyncSource, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
10+
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
1011

1112
export class UserDataAutoSyncService extends Disposable implements IUserDataAutoSyncService {
1213

@@ -23,12 +24,12 @@ export class UserDataAutoSyncService extends Disposable implements IUserDataAuto
2324
@IUserDataSyncEnablementService private readonly userDataSyncEnablementService: IUserDataSyncEnablementService,
2425
@IUserDataSyncService private readonly userDataSyncService: IUserDataSyncService,
2526
@IUserDataSyncLogService private readonly logService: IUserDataSyncLogService,
26-
@IUserDataAuthTokenService private readonly userDataAuthTokenService: IUserDataAuthTokenService,
27+
@IAuthenticationTokenService private readonly authTokenService: IAuthenticationTokenService,
2728
) {
2829
super();
2930
this.updateEnablement(false, true);
3031
this.syncDelayer = this._register(new Delayer<void>(0));
31-
this._register(Event.any<any>(userDataAuthTokenService.onDidChangeToken)(() => this.updateEnablement(true, true)));
32+
this._register(Event.any<any>(authTokenService.onDidChangeToken)(() => this.updateEnablement(true, true)));
3233
this._register(Event.any<any>(userDataSyncService.onDidChangeStatus)(() => this.updateEnablement(true, true)));
3334
this._register(this.userDataSyncEnablementService.onDidChangeEnablement(() => this.updateEnablement(true, false)));
3435
this._register(this.userDataSyncEnablementService.onDidChangeResourceEnablement(() => this.triggerAutoSync()));
@@ -95,7 +96,7 @@ export class UserDataAutoSyncService extends Disposable implements IUserDataAuto
9596
private async isAutoSyncEnabled(): Promise<boolean> {
9697
return this.userDataSyncEnablementService.isEnabled()
9798
&& this.userDataSyncService.status !== SyncStatus.Uninitialized
98-
&& !!(await this.userDataAuthTokenService.getToken());
99+
&& !!(await this.authTokenService.getToken());
99100
}
100101

101102
private resetFailures(): void {

src/vs/platform/userDataSync/common/userDataSync.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -308,19 +308,6 @@ export interface IUserDataSyncUtilService {
308308
resolveFormattingOptions(resource: URI): Promise<FormattingOptions>;
309309
}
310310

311-
export const IUserDataAuthTokenService = createDecorator<IUserDataAuthTokenService>('IUserDataAuthTokenService');
312-
313-
export interface IUserDataAuthTokenService {
314-
_serviceBrand: undefined;
315-
316-
readonly onDidChangeToken: Event<string | undefined>;
317-
readonly onTokenFailed: Event<void>;
318-
319-
getToken(): Promise<string | undefined>;
320-
setToken(accessToken: string | undefined): Promise<void>;
321-
sendTokenFailed(): void;
322-
}
323-
324311
export const IUserDataSyncLogService = createDecorator<IUserDataSyncLogService>('IUserDataSyncLogService');
325312
export interface IUserDataSyncLogService extends ILogService { }
326313

src/vs/platform/userDataSync/common/userDataSyncIpc.ts

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { IServerChannel, IChannel } from 'vs/base/parts/ipc/common/ipc';
77
import { Event } from 'vs/base/common/event';
8-
import { IUserDataSyncService, IUserDataSyncUtilService, ISettingsSyncService, IUserDataAuthTokenService, IUserDataAutoSyncService } from 'vs/platform/userDataSync/common/userDataSync';
8+
import { IUserDataSyncService, IUserDataSyncUtilService, ISettingsSyncService, IUserDataAutoSyncService } from 'vs/platform/userDataSync/common/userDataSync';
99
import { URI } from 'vs/base/common/uri';
1010
import { IStringDictionary } from 'vs/base/common/collections';
1111
import { FormattingOptions } from 'vs/base/common/jsonFormatter';
@@ -90,26 +90,6 @@ export class UserDataAutoSyncChannel implements IServerChannel {
9090
}
9191
}
9292

93-
export class UserDataAuthTokenServiceChannel implements IServerChannel {
94-
constructor(private readonly service: IUserDataAuthTokenService) { }
95-
96-
listen(_: unknown, event: string): Event<any> {
97-
switch (event) {
98-
case 'onDidChangeToken': return this.service.onDidChangeToken;
99-
case 'onTokenFailed': return this.service.onTokenFailed;
100-
}
101-
throw new Error(`Event not found: ${event}`);
102-
}
103-
104-
call(context: any, command: string, args?: any): Promise<any> {
105-
switch (command) {
106-
case 'setToken': return this.service.setToken(args);
107-
case 'getToken': return this.service.getToken();
108-
}
109-
throw new Error('Invalid call');
110-
}
111-
}
112-
11393
export class UserDataSycnUtilServiceChannel implements IServerChannel {
11494

11595
constructor(private readonly service: IUserDataSyncUtilService) { }

src/vs/platform/userDataSync/common/userDataSyncStoreService.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { Disposable, } from 'vs/base/common/lifecycle';
7-
import { IUserData, IUserDataSyncStoreService, UserDataSyncErrorCode, IUserDataSyncStore, getUserDataSyncStore, IUserDataAuthTokenService, SyncSource, UserDataSyncStoreError, IUserDataSyncLogService, IUserDataManifest } from 'vs/platform/userDataSync/common/userDataSync';
7+
import { IUserData, IUserDataSyncStoreService, UserDataSyncErrorCode, IUserDataSyncStore, getUserDataSyncStore, SyncSource, UserDataSyncStoreError, IUserDataSyncLogService, IUserDataManifest } from 'vs/platform/userDataSync/common/userDataSync';
88
import { IRequestService, asText, isSuccess, asJson } from 'vs/platform/request/common/request';
99
import { joinPath } from 'vs/base/common/resources';
1010
import { CancellationToken } from 'vs/base/common/cancellation';
1111
import { IHeaders, IRequestOptions, IRequestContext } from 'vs/base/parts/request/common/request';
1212
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
13+
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
1314

1415
export class UserDataSyncStoreService extends Disposable implements IUserDataSyncStoreService {
1516

@@ -20,7 +21,7 @@ export class UserDataSyncStoreService extends Disposable implements IUserDataSyn
2021
constructor(
2122
@IConfigurationService configurationService: IConfigurationService,
2223
@IRequestService private readonly requestService: IRequestService,
23-
@IUserDataAuthTokenService private readonly authTokenService: IUserDataAuthTokenService,
24+
@IAuthenticationTokenService private readonly authTokenService: IAuthenticationTokenService,
2425
@IUserDataSyncLogService private readonly logService: IUserDataSyncLogService,
2526
) {
2627
super();

src/vs/platform/userDataSync/electron-browser/userDataAutoSyncService.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { IUserDataSyncService, IUserDataSyncLogService, IUserDataAuthTokenService, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
6+
import { IUserDataSyncService, IUserDataSyncLogService, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
77
import { Event } from 'vs/base/common/event';
88
import { IElectronService } from 'vs/platform/electron/node/electron';
99
import { UserDataAutoSyncService as BaseUserDataAutoSyncService } from 'vs/platform/userDataSync/common/userDataAutoSyncService';
10+
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
1011

1112
export class UserDataAutoSyncService extends BaseUserDataAutoSyncService {
1213

@@ -15,7 +16,7 @@ export class UserDataAutoSyncService extends BaseUserDataAutoSyncService {
1516
@IUserDataSyncService userDataSyncService: IUserDataSyncService,
1617
@IElectronService electronService: IElectronService,
1718
@IUserDataSyncLogService logService: IUserDataSyncLogService,
18-
@IUserDataAuthTokenService authTokenService: IUserDataAuthTokenService,
19+
@IAuthenticationTokenService authTokenService: IAuthenticationTokenService,
1920
) {
2021
super(userDataSyncEnablementService, userDataSyncService, logService, authTokenService);
2122

src/vs/platform/userDataSync/test/common/userDataSyncClient.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import { IRequestService } from 'vs/platform/request/common/request';
77
import { IRequestOptions, IRequestContext, IHeaders } from 'vs/base/parts/request/common/request';
88
import { CancellationToken } from 'vs/base/common/cancellation';
9-
import { IUserData, ResourceKey, IUserDataManifest, ALL_RESOURCE_KEYS, IUserDataAuthTokenService, IUserDataSyncLogService, IUserDataSyncStoreService, IUserDataSyncUtilService, IUserDataSyncEnablementService, ISettingsSyncService, IUserDataSyncService } from 'vs/platform/userDataSync/common/userDataSync';
9+
import { IUserData, ResourceKey, IUserDataManifest, ALL_RESOURCE_KEYS, IUserDataSyncLogService, IUserDataSyncStoreService, IUserDataSyncUtilService, IUserDataSyncEnablementService, ISettingsSyncService, IUserDataSyncService } from 'vs/platform/userDataSync/common/userDataSync';
1010
import { bufferToStream, VSBuffer } from 'vs/base/common/buffer';
1111
import { generateUuid } from 'vs/base/common/uuid';
1212
import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyncService';
@@ -33,6 +33,7 @@ import { ConfigurationService } from 'vs/platform/configuration/common/configura
3333
import { Disposable } from 'vs/base/common/lifecycle';
3434
import { SettingsSynchroniser } from 'vs/platform/userDataSync/common/settingsSync';
3535
import { Emitter } from 'vs/base/common/event';
36+
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
3637

3738
export class UserDataSyncClient extends Disposable {
3839

@@ -76,7 +77,7 @@ export class UserDataSyncClient extends Disposable {
7677
this.instantiationService.stub(IConfigurationService, configurationService);
7778

7879
this.instantiationService.stub(IRequestService, this.testServer);
79-
this.instantiationService.stub(IUserDataAuthTokenService, <Partial<IUserDataAuthTokenService>>{
80+
this.instantiationService.stub(IAuthenticationTokenService, <Partial<IAuthenticationTokenService>>{
8081
onDidChangeToken: new Emitter<string | undefined>().event,
8182
async getToken() { return 'token'; }
8283
});

src/vs/workbench/contrib/userDataSync/browser/userDataAutoSyncService.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,21 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { IUserDataSyncService, IUserDataSyncLogService, IUserDataAuthTokenService, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
7-
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
6+
import { IUserDataSyncService, IUserDataSyncLogService, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
87
import { Event } from 'vs/base/common/event';
98
import { UserDataAutoSyncService as BaseUserDataAutoSyncService } from 'vs/platform/userDataSync/common/userDataAutoSyncService';
109
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
1110
import { UserDataSyncTrigger } from 'vs/workbench/contrib/userDataSync/browser/userDataSyncTrigger';
1211
import { IHostService } from 'vs/workbench/services/host/browser/host';
12+
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
1313

1414
export class UserDataAutoSyncService extends BaseUserDataAutoSyncService {
1515

1616
constructor(
1717
@IUserDataSyncEnablementService userDataSyncEnablementService: IUserDataSyncEnablementService,
1818
@IUserDataSyncService userDataSyncService: IUserDataSyncService,
19-
@IConfigurationService configurationService: IConfigurationService,
2019
@IUserDataSyncLogService logService: IUserDataSyncLogService,
21-
@IUserDataAuthTokenService authTokenService: IUserDataAuthTokenService,
20+
@IAuthenticationTokenService authTokenService: IAuthenticationTokenService,
2221
@IInstantiationService instantiationService: IInstantiationService,
2322
@IHostService hostService: IHostService,
2423
) {

0 commit comments

Comments
 (0)