bitwarden-estensione-browser/src/abstractions/api.service.ts

40 lines
2.0 KiB
TypeScript
Raw Normal View History

import { EnvironmentUrls } from '../models/domain/environmentUrls';
2018-01-09 22:19:55 +01:00
import { CipherRequest } from '../models/request/cipherRequest';
import { FolderRequest } from '../models/request/folderRequest';
import { PasswordHintRequest } from '../models/request/passwordHintRequest';
import { RegisterRequest } from '../models/request/registerRequest';
import { TokenRequest } from '../models/request/tokenRequest';
import { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';
2018-01-09 22:19:55 +01:00
import { CipherResponse } from '../models/response/cipherResponse';
import { FolderResponse } from '../models/response/folderResponse';
import { IdentityTokenResponse } from '../models/response/identityTokenResponse';
import { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';
import { SyncResponse } from '../models/response/syncResponse';
2018-01-09 22:19:55 +01:00
2018-01-31 20:27:11 +01:00
export abstract class ApiService {
2018-01-09 22:19:55 +01:00
urlsSet: boolean;
baseUrl: string;
identityBaseUrl: string;
deviceType: string;
logoutCallback: Function;
2018-01-31 20:27:11 +01:00
setUrls: (urls: EnvironmentUrls) => void;
2018-02-02 04:55:49 +01:00
postIdentityToken: (request: TokenRequest) => Promise<IdentityTokenResponse | IdentityTwoFactorResponse>;
2018-01-31 20:27:11 +01:00
refreshIdentityToken: () => Promise<any>;
postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise<any>;
getAccountRevisionDate: () => Promise<number>;
postPasswordHint: (request: PasswordHintRequest) => Promise<any>;
postRegister: (request: RegisterRequest) => Promise<any>;
postFolder: (request: FolderRequest) => Promise<FolderResponse>;
putFolder: (id: string, request: FolderRequest) => Promise<FolderResponse>;
deleteFolder: (id: string) => Promise<any>;
postCipher: (request: CipherRequest) => Promise<CipherResponse>;
putCipher: (id: string, request: CipherRequest) => Promise<CipherResponse>;
deleteCipher: (id: string) => Promise<any>;
postCipherAttachment: (id: string, data: FormData) => Promise<CipherResponse>;
deleteCipherAttachment: (id: string, attachmentId: string) => Promise<any>;
getSync: () => Promise<SyncResponse>;
2018-01-09 22:19:55 +01:00
}