From 8f49b58d2ef68e1b28d50e6e2d46ff6fa12de4f0 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Sat, 12 May 2018 21:24:28 -0400 Subject: [PATCH] stub out some services --- src/commands/login.command.ts | 4 +- src/services/nodePlatformUtils.service.ts | 80 +++++++++++++++++++++++ src/services/nodeSecureStorage.service.ts | 15 +++++ src/services/nodeStorage.service.ts | 15 +++++ tsconfig.json | 4 ++ 5 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 src/services/nodePlatformUtils.service.ts create mode 100644 src/services/nodeSecureStorage.service.ts create mode 100644 src/services/nodeStorage.service.ts diff --git a/src/commands/login.command.ts b/src/commands/login.command.ts index ba89476..8bcd399 100644 --- a/src/commands/login.command.ts +++ b/src/commands/login.command.ts @@ -6,10 +6,10 @@ import { AuthService } from 'jslib/abstractions/auth.service'; export class LoginCommand { constructor(private authService: AuthService) { - + } run(email: string, password: string, cmd: program.Command) { - + } } diff --git a/src/services/nodePlatformUtils.service.ts b/src/services/nodePlatformUtils.service.ts new file mode 100644 index 0000000..c7b0313 --- /dev/null +++ b/src/services/nodePlatformUtils.service.ts @@ -0,0 +1,80 @@ +import { DeviceType } from 'jslib/enums/deviceType'; + +import { I18nService } from 'jslib/abstractions/i18n.service'; +import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; + +import { Utils } from 'jslib/misc/utils'; + +export class NodePlatformUtilsService implements PlatformUtilsService { + identityClientId: string; + + private deviceCache: DeviceType = null; + + constructor(private i18nService: I18nService, private isDesktopApp: boolean) { + this.identityClientId = 'cli'; + } + + getDevice(): DeviceType { + if (!this.deviceCache) { + switch (process.platform) { + case 'win32': + this.deviceCache = DeviceType.Windows; + break; + case 'darwin': + this.deviceCache = DeviceType.MacOs; + break; + case 'linux': + default: + this.deviceCache = DeviceType.Linux; + break; + } + } + + return this.deviceCache; + } + + getDeviceString(): string { + return DeviceType[this.getDevice()].toLowerCase(); + } + + isFirefox: () => false; + isChrome: () => false; + isEdge: () => false; + isOpera: () => false; + isVivaldi: () => false; + isSafari: () => false; + isMacAppStore: () => false; + analyticsId: () => null; + + getDomain(uriString: string): string { + return Utils.getHostname(uriString); + } + + isViewOpen: () => false; + + launchUri(uri: string, options?: any): void { } + + saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void { + } + + getApplicationVersion(): string { + return '1.0.0'; // TODO + } + + supportsU2f: (win: Window) => false; + + showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string): + Promise { + console.log(title); + console.log(text); + return Promise.resolve(true); + } + + isDev(): boolean { + return false; // TODO? + } + + copyToClipboard(text: string, options?: any): void { + // TODO? + } +} diff --git a/src/services/nodeSecureStorage.service.ts b/src/services/nodeSecureStorage.service.ts new file mode 100644 index 0000000..1b13a6c --- /dev/null +++ b/src/services/nodeSecureStorage.service.ts @@ -0,0 +1,15 @@ +import { StorageService } from 'jslib/abstractions/storage.service'; + +export class NodeSecureStorageService implements StorageService { + get(key: string): Promise { + return Promise.resolve(null); + } + + save(key: string, obj: any): Promise { + return Promise.resolve(); + } + + remove(key: string): Promise { + return Promise.resolve(); + } +} diff --git a/src/services/nodeStorage.service.ts b/src/services/nodeStorage.service.ts new file mode 100644 index 0000000..d9165f4 --- /dev/null +++ b/src/services/nodeStorage.service.ts @@ -0,0 +1,15 @@ +import { StorageService } from 'jslib/abstractions/storage.service'; + +export class NodeStorageService implements StorageService { + get(key: string): Promise { + return Promise.resolve(null); + } + + save(key: string, obj: any): Promise { + return Promise.resolve(); + } + + remove(key: string): Promise { + return Promise.resolve(); + } +} diff --git a/tsconfig.json b/tsconfig.json index 87f1d6b..e115538 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,9 @@ { "compilerOptions": { + "pretty": true, + "moduleResolution": "node", + "target": "ES6", + "module": "commonjs", "noImplicitAny": true, "allowJs": true, "sourceMap": true,