Skip to content

Commit b78d185

Browse files
committed
add store property to product configuration
1 parent e943540 commit b78d185

5 files changed

Lines changed: 12 additions & 5 deletions

File tree

src/vs/platform/product/common/productService.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ export interface IProductConfiguration {
103103

104104
readonly msftInternalDomains?: string[];
105105
readonly linkProtectionTrustedDomains?: readonly string[];
106+
107+
readonly 'configurationSync.store'?: { url: string, authenticationProviderId: string };
106108
}
107109

108110
export interface IExeBasedExtensionTip {

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { FormattingOptions } from 'vs/base/common/jsonFormatter';
2020
import { URI } from 'vs/base/common/uri';
2121
import { isEqual, joinPath } from 'vs/base/common/resources';
2222
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
23+
import { IProductService } from 'vs/platform/product/common/productService';
2324

2425
export const CONFIGURATION_SYNC_STORE_KEY = 'configurationSync.store';
2526

@@ -143,8 +144,8 @@ export interface IUserDataSyncStore {
143144
authenticationProviderId: string;
144145
}
145146

146-
export function getUserDataSyncStore(configurationService: IConfigurationService): IUserDataSyncStore | undefined {
147-
const value = configurationService.getValue<{ url: string, authenticationProviderId: string }>(CONFIGURATION_SYNC_STORE_KEY);
147+
export function getUserDataSyncStore(productService: IProductService, configurationService: IConfigurationService): IUserDataSyncStore | undefined {
148+
const value = productService[CONFIGURATION_SYNC_STORE_KEY] || configurationService.getValue<{ url: string, authenticationProviderId: string }>(CONFIGURATION_SYNC_STORE_KEY);
148149
if (value && value.url && value.authenticationProviderId) {
149150
return {
150151
url: joinPath(URI.parse(value.url), 'v1'),

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ 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';
1313
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
14+
import { IProductService } from 'vs/platform/product/common/productService';
1415

1516
export class UserDataSyncStoreService extends Disposable implements IUserDataSyncStoreService {
1617

@@ -19,13 +20,14 @@ export class UserDataSyncStoreService extends Disposable implements IUserDataSyn
1920
readonly userDataSyncStore: IUserDataSyncStore | undefined;
2021

2122
constructor(
23+
@IProductService productService: IProductService,
2224
@IConfigurationService configurationService: IConfigurationService,
2325
@IRequestService private readonly requestService: IRequestService,
2426
@IAuthenticationTokenService private readonly authTokenService: IAuthenticationTokenService,
2527
@IUserDataSyncLogService private readonly logService: IUserDataSyncLogService,
2628
) {
2729
super();
28-
this.userDataSyncStore = getUserDataSyncStore(configurationService);
30+
this.userDataSyncStore = getUserDataSyncStore(productService, configurationService);
2931
}
3032

3133
async read(key: string, oldValue: IUserData | null, source?: SyncSource): Promise<IUserData> {

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@ import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
99
import { UserDataSyncWorkbenchContribution } from 'vs/workbench/contrib/userDataSync/browser/userDataSync';
1010
import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration';
1111
import { IUserDataSyncEnablementService, getUserDataSyncStore } from 'vs/platform/userDataSync/common/userDataSync';
12+
import { IProductService } from 'vs/platform/product/common/productService';
1213

1314
class UserDataSyncSettingsMigrationContribution implements IWorkbenchContribution {
1415

1516
constructor(
17+
@IProductService productService: IProductService,
1618
@IConfigurationService private readonly configurationService: IConfigurationService,
1719
@IUserDataSyncEnablementService userDataSyncEnablementService: IUserDataSyncEnablementService,
1820
) {
19-
if (getUserDataSyncStore(configurationService)) {
21+
if (getUserDataSyncStore(productService, configurationService)) {
2022
if (!configurationService.getValue('sync.enableSettings')) {
2123
userDataSyncEnablementService.setResourceEnablement('settings', false);
2224
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
137137
@IProductService private readonly productService: IProductService,
138138
) {
139139
super();
140-
this.userDataSyncStore = getUserDataSyncStore(configurationService);
140+
this.userDataSyncStore = getUserDataSyncStore(productService, configurationService);
141141
this.syncEnablementContext = CONTEXT_SYNC_ENABLEMENT.bindTo(contextKeyService);
142142
this.syncStatusContext = CONTEXT_SYNC_STATE.bindTo(contextKeyService);
143143
this.authenticationState = CONTEXT_AUTH_TOKEN_STATE.bindTo(contextKeyService);

0 commit comments

Comments
 (0)