mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-04 01:25:38 -05:00
Initial VS Code 1.19 source merge (#571)
* Initial 1.19 xcopy * Fix yarn build * Fix numerous build breaks * Next batch of build break fixes * More build break fixes * Runtime breaks * Additional post merge fixes * Fix windows setup file * Fix test failures. * Update license header blocks to refer to source eula
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { IChannel } from 'vs/base/parts/ipc/common/ipc';
|
||||
import { ICredentialsService } from 'vs/platform/credentials/common/credentials';
|
||||
|
||||
export interface ICredentialsArgs {
|
||||
service: string;
|
||||
account: string;
|
||||
secret?: string;
|
||||
}
|
||||
|
||||
export interface ICredentialsChannel extends IChannel {
|
||||
call(command: 'readSecret', credentials: ICredentialsArgs): TPromise<string>;
|
||||
call(command: 'writeSecret', credentials: ICredentialsArgs): TPromise<void>;
|
||||
call(command: 'deleteSecret', credentials: ICredentialsArgs): TPromise<boolean>;
|
||||
call(command: string, arg?: any): TPromise<any>;
|
||||
}
|
||||
|
||||
export class CredentialsChannel implements ICredentialsChannel {
|
||||
|
||||
constructor(private service: ICredentialsService) { }
|
||||
|
||||
call(command: string, arg: ICredentialsArgs): TPromise<any> {
|
||||
switch (command) {
|
||||
case 'readSecret': return this.service.readSecret(arg.service, arg.account);
|
||||
case 'writeSecret': return this.service.writeSecret(arg.service, arg.account, arg.secret);
|
||||
case 'deleteSecret': return this.service.deleteSecret(arg.service, arg.account);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
export class CredentialsChannelClient implements ICredentialsService {
|
||||
|
||||
_serviceBrand: any;
|
||||
|
||||
constructor(private channel: ICredentialsChannel) { }
|
||||
|
||||
readSecret(service: string, account: string): TPromise<string | undefined> {
|
||||
return this.channel.call('readSecret', { service, account });
|
||||
}
|
||||
|
||||
writeSecret(service: string, account: string, secret: string): TPromise<void> {
|
||||
return this.channel.call('writeSecret', { service, account, secret });
|
||||
}
|
||||
|
||||
deleteSecret(service: string, account: string): TPromise<boolean> {
|
||||
return this.channel.call('deleteSecret', { service, account });
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { ICredentialsService } from 'vs/platform/credentials/common/credentials';
|
||||
|
||||
export class CredentialsService implements ICredentialsService {
|
||||
|
||||
_serviceBrand: any;
|
||||
|
||||
readSecret(service: string, account: string): TPromise<string | undefined> {
|
||||
return this.getKeytar()
|
||||
.then(keytar => TPromise.wrap(keytar.getPassword(service, account)))
|
||||
.then(result => result === null ? undefined : result);
|
||||
}
|
||||
|
||||
writeSecret(service: string, account: string, secret: string): TPromise<void> {
|
||||
return this.getKeytar()
|
||||
.then(keytar => TPromise.wrap(keytar.setPassword(service, account, secret)));
|
||||
}
|
||||
|
||||
deleteSecret(service: string, account: string): TPromise<boolean> {
|
||||
return this.getKeytar()
|
||||
.then(keytar => TPromise.wrap(keytar.deletePassword(service, account)));
|
||||
}
|
||||
|
||||
private getKeytar() {
|
||||
// Avoids https://github.com/Microsoft/vscode/issues/33998
|
||||
return TPromise.wrap(import('keytar'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user