diff --git a/src/background/main.background.ts b/src/background/main.background.ts index aa02abcb685..14e1d95cd56 100644 --- a/src/background/main.background.ts +++ b/src/background/main.background.ts @@ -57,6 +57,8 @@ import BrowserPlatformUtilsService from '../services/browserPlatformUtils.servic import BrowserStorageService from '../services/browserStorage.service'; import i18nService from '../services/i18n.service'; +import { AutofillService as AutofillServiceAbstraction } from '../services/abstractions/autofill.service'; + export default class MainBackground { messagingService: MessagingServiceAbstraction; storageService: StorageServiceAbstraction; @@ -78,7 +80,7 @@ export default class MainBackground { syncService: SyncServiceAbstraction; passwordGenerationService: PasswordGenerationServiceAbstraction; totpService: TotpServiceAbstraction; - autofillService: AutofillService; + autofillService: AutofillServiceAbstraction; containerService: ContainerService; onUpdatedRan: boolean; diff --git a/src/background/runtime.background.ts b/src/background/runtime.background.ts index 59585b0a0b7..17b3c21d094 100644 --- a/src/background/runtime.background.ts +++ b/src/background/runtime.background.ts @@ -11,7 +11,7 @@ import BrowserApi from '../browser/browserApi'; import MainBackground from './main.background'; -import AutofillService from '../services/autofill.service'; +import { AutofillService } from '../services/abstractions/autofill.service'; export default class RuntimeBackground { private runtime: any; diff --git a/src/popup/app/services/auth.service.ts b/src/popup/app/services/auth.service.ts index 08fedf02c1a..144205606a2 100644 --- a/src/popup/app/services/auth.service.ts +++ b/src/popup/app/services/auth.service.ts @@ -1,14 +1,20 @@ import { DeviceRequest } from 'jslib/models/request/deviceRequest'; import { TokenRequest } from 'jslib/models/request/tokenRequest'; +import { ConstantsService } from 'jslib/services/constants.service'; + +import { ApiService } from 'jslib/abstractions/api.service'; +import { AppIdService } from 'jslib/abstractions/appId.service'; import { CryptoService } from 'jslib/abstractions/crypto.service'; import { MessagingService } from 'jslib/abstractions/messaging.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; +import { TokenService } from 'jslib/abstractions/token.service'; +import { UserService } from 'jslib/abstractions/user.service'; class AuthService { - constructor(public cryptoService: CryptoService, public apiService: any, public userService: any, - public tokenService: any, public $rootScope: any, public appIdService: any, - public platformUtilsService: PlatformUtilsService, public constantsService: any, + constructor(public cryptoService: CryptoService, public apiService: ApiService, public userService: UserService, + public tokenService: TokenService, public $rootScope: any, public appIdService: AppIdService, + public platformUtilsService: PlatformUtilsService, public constantsService: ConstantsService, public messagingService: MessagingService) { } diff --git a/src/popup/app/services/background.service.ts b/src/popup/app/services/background.service.ts index 8196f6b208a..5d42d7930fe 100644 --- a/src/popup/app/services/background.service.ts +++ b/src/popup/app/services/background.service.ts @@ -18,6 +18,8 @@ import { TotpService } from 'jslib/abstractions/totp.service'; import { UserService } from 'jslib/abstractions/user.service'; import { UtilsService } from 'jslib/abstractions/utils.service'; +import { AutofillService } from '../../../services/abstractions/autofill.service'; + function getBackgroundService(service: string) { return (): T => { const page = chrome.extension.getBackgroundPage(); @@ -33,7 +35,7 @@ export const apiService = getBackgroundService('apiService'); export const folderService = getBackgroundService('folderService'); export const cipherService = getBackgroundService('cipherService'); export const syncService = getBackgroundService('syncService'); -export const autofillService = getBackgroundService('autofillService'); +export const autofillService = getBackgroundService('autofillService'); export const passwordGenerationService = getBackgroundService('passwordGenerationService'); export const platformUtilsService = getBackgroundService('platformUtilsService'); export const utilsService = getBackgroundService('utilsService'); diff --git a/src/popup/app/services/state.service.ts b/src/popup/app/services/state.service.ts index 182358f2c1c..1ff2db7b053 100644 --- a/src/popup/app/services/state.service.ts +++ b/src/popup/app/services/state.service.ts @@ -1,9 +1,11 @@ +import { ConstantsService } from 'jslib/services/constants.service'; + import { StorageService } from 'jslib/abstractions/storage.service'; class StateService { private state: any = {}; - constructor(private storageService: StorageService, private constantsService: any) { + constructor(private storageService: StorageService, private constantsService: ConstantsService) { } async init() { diff --git a/src/services/abstractions/autofill.service.ts b/src/services/abstractions/autofill.service.ts new file mode 100644 index 00000000000..e45f89fadaa --- /dev/null +++ b/src/services/abstractions/autofill.service.ts @@ -0,0 +1,7 @@ +import AutofillPageDetails from '../../models/domain/autofillPageDetails'; + +export interface AutofillService { + getFormsWithPasswordFields(pageDetails: AutofillPageDetails): any[]; + doAutoFill(options: any): Promise; + doAutoFillForLastUsedLogin(pageDetails: any, fromCommand: boolean): Promise; +} diff --git a/src/services/autofill.service.ts b/src/services/autofill.service.ts index 8eda332922a..8eefaaa0d71 100644 --- a/src/services/autofill.service.ts +++ b/src/services/autofill.service.ts @@ -9,6 +9,8 @@ import AutofillScript from '../models/domain/autofillScript'; import { UtilsService } from 'jslib/services'; +import { AutofillService as AutofillServiceInterface } from './abstractions/autofill.service'; + import { CipherService, PlatformUtilsService, @@ -97,7 +99,7 @@ var IsoProvinces: { [id: string]: string; } = { }; /* tslint:enable */ -export default class AutofillService { +export default class AutofillService implements AutofillServiceInterface { constructor(public cipherService: CipherService, public tokenService: TokenService, public totpService: TotpService, public utilsService: UtilsServiceAbstraction, public platformUtilsService: PlatformUtilsService) {