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

356 lines
24 KiB
TypeScript
Raw Normal View History

2020-01-20 14:54:51 +01:00
import { PolicyType } from '../enums/policyType';
import { EnvironmentUrls } from '../models/domain/environmentUrls';
2018-01-09 22:19:55 +01:00
2019-02-22 04:45:56 +01:00
import { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';
2018-06-12 23:12:27 +02:00
import { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';
import { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';
import { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';
2018-06-13 06:02:15 +02:00
import { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';
2018-06-12 19:07:06 +02:00
import { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';
2018-10-19 15:14:11 +02:00
import { CipherCreateRequest } from '../models/request/cipherCreateRequest';
import { CipherRequest } from '../models/request/cipherRequest';
2018-06-12 17:45:02 +02:00
import { CipherShareRequest } from '../models/request/cipherShareRequest';
2018-07-06 18:49:22 +02:00
import { CollectionRequest } from '../models/request/collectionRequest';
2018-07-13 21:55:02 +02:00
import { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';
import { EmailRequest } from '../models/request/emailRequest';
import { EmailTokenRequest } from '../models/request/emailTokenRequest';
import { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';
import { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';
import { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';
import { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';
import { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';
2019-06-20 14:56:45 +02:00
import { EventRequest } from '../models/request/eventRequest';
import { FolderRequest } from '../models/request/folderRequest';
2018-07-06 18:49:22 +02:00
import { GroupRequest } from '../models/request/groupRequest';
2019-09-19 14:52:57 +02:00
import { IapCheckRequest } from '../models/request/iapCheckRequest';
2018-06-23 21:41:22 +02:00
import { ImportCiphersRequest } from '../models/request/importCiphersRequest';
import { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';
2018-06-23 21:41:22 +02:00
import { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';
2018-08-28 01:55:05 +02:00
import { KdfRequest } from '../models/request/kdfRequest';
2018-08-28 02:00:41 +02:00
import { KeysRequest } from '../models/request/keysRequest';
2018-07-02 21:36:32 +02:00
import { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';
2020-06-13 01:29:52 +02:00
import { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';
2018-07-16 18:30:45 +02:00
import { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';
2019-03-22 02:38:52 +01:00
import { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';
2018-07-10 19:03:24 +02:00
import { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';
import { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';
import { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';
import { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';
import { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';
import { PasswordHintRequest } from '../models/request/passwordHintRequest';
import { PasswordRequest } from '../models/request/passwordRequest';
2018-06-21 23:15:43 +02:00
import { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';
2018-06-30 19:22:21 +02:00
import { PaymentRequest } from '../models/request/paymentRequest';
2020-01-15 17:24:00 +01:00
import { PolicyRequest } from '../models/request/policyRequest';
2018-08-14 21:12:10 +02:00
import { PreloginRequest } from '../models/request/preloginRequest';
import { RegisterRequest } from '../models/request/registerRequest';
2018-07-17 18:05:19 +02:00
import { SeatRequest } from '../models/request/seatRequest';
2018-10-18 04:18:28 +02:00
import { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';
import { SendAccessRequest } from '../models/request/sendAccessRequest';
import { SendRequest } from '../models/request/sendRequest';
import { SetPasswordRequest } from '../models/request/setPasswordRequest';
2018-06-30 05:40:10 +02:00
import { StorageRequest } from '../models/request/storageRequest';
2020-06-13 01:29:52 +02:00
import { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';
import { TokenRequest } from '../models/request/tokenRequest';
import { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';
2018-06-26 21:17:14 +02:00
import { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';
import { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';
import { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';
2018-07-17 23:22:45 +02:00
import { UpdateKeyRequest } from '../models/request/updateKeyRequest';
2018-06-21 05:40:59 +02:00
import { UpdateProfileRequest } from '../models/request/updateProfileRequest';
2018-06-26 21:17:14 +02:00
import { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';
import { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';
import { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';
2018-10-08 20:21:53 +02:00
import { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';
2018-06-26 21:17:14 +02:00
import { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';
import { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';
2018-07-17 17:04:19 +02:00
import { VerifyBankRequest } from '../models/request/verifyBankRequest';
2018-07-13 21:55:02 +02:00
import { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';
2018-07-12 17:35:04 +02:00
import { VerifyEmailRequest } from '../models/request/verifyEmailRequest';
2018-01-09 22:19:55 +01:00
2019-03-07 16:58:27 +01:00
import { ApiKeyResponse } from '../models/response/apiKeyResponse';
2018-06-29 17:29:24 +02:00
import { BillingResponse } from '../models/response/billingResponse';
2019-01-17 16:46:24 +01:00
import { BreachAccountResponse } from '../models/response/breachAccountResponse';
import { CipherResponse } from '../models/response/cipherResponse';
2018-07-06 18:49:22 +02:00
import {
CollectionGroupDetailsResponse,
CollectionResponse,
} from '../models/response/collectionResponse';
import { DomainsResponse } from '../models/response/domainsResponse';
import {
EmergencyAccessGranteeDetailsResponse,
EmergencyAccessGrantorDetailsResponse,
EmergencyAccessTakeoverResponse,
EmergencyAccessViewResponse
} from '../models/response/emergencyAccessResponse';
2018-07-07 05:06:38 +02:00
import { EventResponse } from '../models/response/eventResponse';
import { FolderResponse } from '../models/response/folderResponse';
2018-07-06 18:49:22 +02:00
import {
GroupDetailsResponse,
GroupResponse,
} from '../models/response/groupResponse';
import { IdentityTokenResponse } from '../models/response/identityTokenResponse';
import { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';
2018-06-26 21:17:14 +02:00
import { ListResponse } from '../models/response/listResponse';
2018-07-02 21:36:32 +02:00
import { OrganizationResponse } from '../models/response/organizationResponse';
import { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';
2018-07-10 19:03:24 +02:00
import {
OrganizationUserDetailsResponse,
OrganizationUserUserDetailsResponse,
} from '../models/response/organizationUserResponse';
2019-08-10 05:56:55 +02:00
import { PaymentResponse } from '../models/response/paymentResponse';
import { PlanResponse } from '../models/response/planResponse';
2020-01-15 17:24:00 +01:00
import { PolicyResponse } from '../models/response/policyResponse';
2018-08-14 21:12:10 +02:00
import { PreloginResponse } from '../models/response/preloginResponse';
2018-05-03 18:46:49 +02:00
import { ProfileResponse } from '../models/response/profileResponse';
2018-10-17 23:31:13 +02:00
import { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';
import { SendAccessResponse } from '../models/response/sendAccessResponse';
import { SendResponse } from '../models/response/sendResponse';
import { SubscriptionResponse } from '../models/response/subscriptionResponse';
import { SyncResponse } from '../models/response/syncResponse';
2020-06-13 01:29:52 +02:00
import { TaxInfoResponse } from '../models/response/taxInfoResponse';
import { TaxRateResponse } from '../models/response/taxRateResponse';
2018-06-26 21:17:14 +02:00
import { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';
import { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';
import { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';
import { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';
import { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';
2018-10-08 20:21:53 +02:00
import {
ChallengeResponse,
TwoFactorU2fResponse,
} from '../models/response/twoFactorU2fResponse';
2018-06-26 21:17:14 +02:00
import { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';
2018-07-11 19:30:06 +02:00
import { UserKeyResponse } from '../models/response/userKeyResponse';
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;
2018-06-14 04:12:23 +02:00
apiBaseUrl: string;
identityBaseUrl: string;
2019-06-20 14:56:45 +02:00
eventsBaseUrl: string;
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>;
2018-07-06 21:00:55 +02:00
2018-05-03 18:46:49 +02:00
getProfile: () => Promise<ProfileResponse>;
2018-06-29 17:29:24 +02:00
getUserBilling: () => Promise<BillingResponse>;
getUserSubscription: () => Promise<SubscriptionResponse>;
2020-06-13 01:29:52 +02:00
getTaxInfo: () => Promise<TaxInfoResponse>;
2018-06-21 05:40:59 +02:00
putProfile: (request: UpdateProfileRequest) => Promise<ProfileResponse>;
2020-06-13 01:29:52 +02:00
putTaxInfo: (request: TaxInfoUpdateRequest) => Promise<any>;
2018-08-14 21:12:10 +02:00
postPrelogin: (request: PreloginRequest) => Promise<PreloginResponse>;
postEmailToken: (request: EmailTokenRequest) => Promise<any>;
postEmail: (request: EmailRequest) => Promise<any>;
postPassword: (request: PasswordRequest) => Promise<any>;
setPassword: (request: SetPasswordRequest) => Promise<any>;
2018-06-21 23:15:43 +02:00
postSecurityStamp: (request: PasswordVerificationRequest) => Promise<any>;
2018-07-16 23:16:15 +02:00
deleteAccount: (request: PasswordVerificationRequest) => Promise<any>;
2018-01-31 20:27:11 +01:00
getAccountRevisionDate: () => Promise<number>;
postPasswordHint: (request: PasswordHintRequest) => Promise<any>;
postRegister: (request: RegisterRequest) => Promise<any>;
2019-08-10 05:56:55 +02:00
postPremium: (data: FormData) => Promise<PaymentResponse>;
2019-09-19 14:52:57 +02:00
postIapCheck: (request: IapCheckRequest) => Promise<any>;
2018-06-29 19:58:01 +02:00
postReinstatePremium: () => Promise<any>;
postCancelPremium: () => Promise<any>;
postAccountStorage: (request: StorageRequest) => Promise<PaymentResponse>;
2018-06-30 19:22:21 +02:00
postAccountPayment: (request: PaymentRequest) => Promise<any>;
2018-07-02 15:53:43 +02:00
postAccountLicense: (data: FormData) => Promise<any>;
2018-07-17 23:22:45 +02:00
postAccountKey: (request: UpdateKeyRequest) => Promise<any>;
2018-07-03 18:06:01 +02:00
postAccountKeys: (request: KeysRequest) => Promise<any>;
2018-07-12 17:35:04 +02:00
postAccountVerifyEmail: () => Promise<any>;
postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise<any>;
postAccountVerifyPassword: (request: PasswordVerificationRequest) => Promise<any>;
2018-07-13 21:55:02 +02:00
postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise<any>;
postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise<any>;
2018-08-28 01:55:05 +02:00
postAccountKdf: (request: KdfRequest) => Promise<any>;
getEnterprisePortalSignInToken: () => Promise<string>;
postUserApiKey: (id: string, request: PasswordVerificationRequest) => Promise<ApiKeyResponse>;
postUserRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise<ApiKeyResponse>;
2018-07-06 21:00:55 +02:00
2018-08-20 22:01:26 +02:00
getFolder: (id: string) => Promise<FolderResponse>;
2018-01-31 20:27:11 +01:00
postFolder: (request: FolderRequest) => Promise<FolderResponse>;
putFolder: (id: string, request: FolderRequest) => Promise<FolderResponse>;
deleteFolder: (id: string) => Promise<any>;
getSend: (id: string) => Promise<SendResponse>;
postSendAccess: (id: string, request: SendAccessRequest, apiUrl?: string) => Promise<SendAccessResponse>;
getSends: () => Promise<ListResponse<SendResponse>>;
postSend: (request: SendRequest) => Promise<SendResponse>;
postSendFile: (data: FormData) => Promise<SendResponse>;
putSend: (id: string, request: SendRequest) => Promise<SendResponse>;
putSendRemovePassword: (id: string) => Promise<SendResponse>;
deleteSend: (id: string) => Promise<any>;
2018-07-06 21:00:55 +02:00
2018-07-05 15:42:13 +02:00
getCipher: (id: string) => Promise<CipherResponse>;
getCipherAdmin: (id: string) => Promise<CipherResponse>;
2018-07-04 05:33:15 +02:00
getCiphersOrganization: (organizationId: string) => Promise<ListResponse<CipherResponse>>;
2018-01-31 20:27:11 +01:00
postCipher: (request: CipherRequest) => Promise<CipherResponse>;
2018-10-19 15:14:11 +02:00
postCipherCreate: (request: CipherCreateRequest) => Promise<CipherResponse>;
postCipherAdmin: (request: CipherCreateRequest) => Promise<CipherResponse>;
2018-01-31 20:27:11 +01:00
putCipher: (id: string, request: CipherRequest) => Promise<CipherResponse>;
2018-07-05 15:42:13 +02:00
putCipherAdmin: (id: string, request: CipherRequest) => Promise<CipherResponse>;
2018-01-31 20:27:11 +01:00
deleteCipher: (id: string) => Promise<any>;
2018-07-05 15:42:13 +02:00
deleteCipherAdmin: (id: string) => Promise<any>;
2018-06-12 23:12:27 +02:00
deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise<any>;
deleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise<any>;
2018-06-12 23:12:27 +02:00
putMoveCiphers: (request: CipherBulkMoveRequest) => Promise<any>;
2018-10-23 22:16:59 +02:00
putShareCipher: (id: string, request: CipherShareRequest) => Promise<CipherResponse>;
2018-06-13 06:02:15 +02:00
putShareCiphers: (request: CipherBulkShareRequest) => Promise<any>;
2018-06-12 19:07:06 +02:00
putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise<any>;
2018-07-05 15:42:13 +02:00
putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise<any>;
2018-09-25 15:12:11 +02:00
postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise<any>;
2018-06-23 21:41:22 +02:00
postImportCiphers: (request: ImportCiphersRequest) => Promise<any>;
postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise<any>;
putDeleteCipher: (id: string) => Promise<any>;
putDeleteCipherAdmin: (id: string) => Promise<any>;
putDeleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise<any>;
putDeleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise<any>;
putRestoreCipher: (id: string) => Promise<CipherResponse>;
putRestoreCipherAdmin: (id: string) => Promise<CipherResponse>;
putRestoreManyCiphers: (request: CipherBulkRestoreRequest) => Promise<ListResponse<CipherResponse>>;
2018-07-06 21:00:55 +02:00
2018-01-31 20:27:11 +01:00
postCipherAttachment: (id: string, data: FormData) => Promise<CipherResponse>;
2018-07-05 15:42:13 +02:00
postCipherAttachmentAdmin: (id: string, data: FormData) => Promise<CipherResponse>;
2018-01-31 20:27:11 +01:00
deleteCipherAttachment: (id: string, attachmentId: string) => Promise<any>;
2018-07-05 15:42:13 +02:00
deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise<any>;
2018-06-12 19:07:06 +02:00
postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,
organizationId: string) => Promise<any>;
2018-07-06 21:00:55 +02:00
2018-07-06 18:49:22 +02:00
getCollectionDetails: (organizationId: string, id: string) => Promise<CollectionGroupDetailsResponse>;
2018-10-17 17:18:12 +02:00
getUserCollections: () => Promise<ListResponse<CollectionResponse>>;
2018-07-04 05:33:15 +02:00
getCollections: (organizationId: string) => Promise<ListResponse<CollectionResponse>>;
2018-10-18 04:56:28 +02:00
getCollectionUsers: (organizationId: string, id: string) => Promise<SelectionReadOnlyResponse[]>;
2018-07-09 22:27:03 +02:00
postCollection: (organizationId: string, request: CollectionRequest) => Promise<CollectionResponse>;
2018-10-18 04:18:28 +02:00
putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise<any>;
2018-07-09 22:27:03 +02:00
putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise<CollectionResponse>;
deleteCollection: (organizationId: string, id: string) => Promise<any>;
2018-07-10 05:47:12 +02:00
deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise<any>;
2018-07-06 21:00:55 +02:00
2018-07-06 18:49:22 +02:00
getGroupDetails: (organizationId: string, id: string) => Promise<GroupDetailsResponse>;
getGroups: (organizationId: string) => Promise<ListResponse<GroupResponse>>;
2018-10-18 04:56:28 +02:00
getGroupUsers: (organizationId: string, id: string) => Promise<string[]>;
2018-07-09 22:27:03 +02:00
postGroup: (organizationId: string, request: GroupRequest) => Promise<GroupResponse>;
putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise<GroupResponse>;
2018-10-18 04:56:28 +02:00
putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise<any>;
2018-07-09 22:27:03 +02:00
deleteGroup: (organizationId: string, id: string) => Promise<any>;
2018-07-10 05:47:12 +02:00
deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise<any>;
2018-07-06 21:00:55 +02:00
2020-01-20 14:54:51 +01:00
getPolicy: (organizationId: string, type: PolicyType) => Promise<PolicyResponse>;
2020-01-15 17:24:00 +01:00
getPolicies: (organizationId: string) => Promise<ListResponse<PolicyResponse>>;
getPoliciesByToken: (organizationId: string, token: string, email: string, organizationUserId: string) =>
Promise<ListResponse<PolicyResponse>>;
2020-01-20 14:54:51 +01:00
putPolicy: (organizationId: string, type: PolicyType, request: PolicyRequest) => Promise<PolicyResponse>;
2020-01-15 17:24:00 +01:00
2018-07-10 19:03:24 +02:00
getOrganizationUser: (organizationId: string, id: string) => Promise<OrganizationUserDetailsResponse>;
getOrganizationUserGroups: (organizationId: string, id: string) => Promise<string[]>;
2018-07-06 21:00:55 +02:00
getOrganizationUsers: (organizationId: string) => Promise<ListResponse<OrganizationUserUserDetailsResponse>>;
2018-07-10 19:03:24 +02:00
postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise<any>;
postOrganizationUserReinvite: (organizationId: string, id: string) => Promise<any>;
postOrganizationUserAccept: (organizationId: string, id: string,
request: OrganizationUserAcceptRequest) => Promise<any>;
postOrganizationUserConfirm: (organizationId: string, id: string,
request: OrganizationUserConfirmRequest) => Promise<any>;
putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise<any>;
putOrganizationUserGroups: (organizationId: string, id: string,
request: OrganizationUserUpdateGroupsRequest) => Promise<any>;
deleteOrganizationUser: (organizationId: string, id: string) => Promise<any>;
2018-07-06 21:00:55 +02:00
2018-01-31 20:27:11 +01:00
getSync: () => Promise<SyncResponse>;
postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise<any>;
2018-07-06 21:00:55 +02:00
getSettingsDomains: () => Promise<DomainsResponse>;
putSettingsDomains: (request: UpdateDomainsRequest) => Promise<DomainsResponse>;
2018-07-06 21:00:55 +02:00
2018-06-26 21:17:14 +02:00
getTwoFactorProviders: () => Promise<ListResponse<TwoFactorProviderResponse>>;
2018-07-18 23:07:59 +02:00
getTwoFactorOrganizationProviders: (organizationId: string) => Promise<ListResponse<TwoFactorProviderResponse>>;
2018-06-26 21:17:14 +02:00
getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise<TwoFactorAuthenticatorResponse>;
getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise<TwoFactorEmailResponse>;
getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise<TwoFactorDuoResponse>;
2018-07-18 23:07:59 +02:00
getTwoFactorOrganizationDuo: (organizationId: string,
request: PasswordVerificationRequest) => Promise<TwoFactorDuoResponse>;
2018-06-26 21:17:14 +02:00
getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise<TwoFactorYubiKeyResponse>;
getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise<TwoFactorU2fResponse>;
2018-10-08 20:21:53 +02:00
getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise<ChallengeResponse>;
2018-06-26 21:17:14 +02:00
getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise<TwoFactorRecoverResponse>;
putTwoFactorAuthenticator: (
request: UpdateTwoFactorAuthenticatorRequest) => Promise<TwoFactorAuthenticatorResponse>;
putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise<TwoFactorEmailResponse>;
putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise<TwoFactorDuoResponse>;
2018-07-18 23:07:59 +02:00
putTwoFactorOrganizationDuo: (organizationId: string,
request: UpdateTwoFactorDuoRequest) => Promise<TwoFactorDuoResponse>;
2018-06-26 21:17:14 +02:00
putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise<TwoFactorYubiKeyResponse>;
putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise<TwoFactorU2fResponse>;
2018-10-08 20:21:53 +02:00
deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise<TwoFactorU2fResponse>;
2018-06-26 21:17:14 +02:00
putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise<TwoFactorProviderResponse>;
2018-07-18 23:07:59 +02:00
putTwoFactorOrganizationDisable: (organizationId: string,
request: TwoFactorProviderRequest) => Promise<TwoFactorProviderResponse>;
2018-06-26 21:17:14 +02:00
postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise<any>;
2018-06-27 23:50:12 +02:00
postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise<any>;
postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise<any>;
2018-07-06 21:00:55 +02:00
getEmergencyAccessTrusted: () => Promise<ListResponse<EmergencyAccessGranteeDetailsResponse>>;
getEmergencyAccessGranted: () => Promise<ListResponse<EmergencyAccessGrantorDetailsResponse>>;
getEmergencyAccess: (id: string) => Promise<EmergencyAccessGranteeDetailsResponse>;
putEmergencyAccess: (id: string, request: EmergencyAccessUpdateRequest) => Promise<any>;
deleteEmergencyAccess: (id: string) => Promise<any>;
postEmergencyAccessInvite: (request: EmergencyAccessInviteRequest) => Promise<any>;
postEmergencyAccessReinvite: (id: string) => Promise<any>;
postEmergencyAccessAccept: (id: string, request: EmergencyAccessAcceptRequest) => Promise<any>;
postEmergencyAccessConfirm: (id: string, request: EmergencyAccessConfirmRequest) => Promise<any>;
postEmergencyAccessInitiate: (id: string) => Promise<any>;
postEmergencyAccessApprove: (id: string) => Promise<any>;
postEmergencyAccessReject: (id: string) => Promise<any>;
postEmergencyAccessTakeover: (id: string) => Promise<EmergencyAccessTakeoverResponse>;
postEmergencyAccessPassword: (id: string, request: EmergencyAccessPasswordRequest) => Promise<any>;
postEmergencyAccessView: (id: string) => Promise<EmergencyAccessViewResponse>;
2018-07-16 18:30:45 +02:00
getOrganization: (id: string) => Promise<OrganizationResponse>;
getOrganizationBilling: (id: string) => Promise<BillingResponse>;
getOrganizationSubscription: (id: string) => Promise<OrganizationSubscriptionResponse>;
2018-07-17 17:25:15 +02:00
getOrganizationLicense: (id: string, installationId: string) => Promise<any>;
2020-06-13 01:29:52 +02:00
getOrganizationTaxInfo: (id: string) => Promise<TaxInfoResponse>;
2018-07-02 21:36:32 +02:00
postOrganization: (request: OrganizationCreateRequest) => Promise<OrganizationResponse>;
2018-07-16 18:30:45 +02:00
putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise<OrganizationResponse>;
2020-06-13 01:29:52 +02:00
putOrganizationTaxInfo: (id: string, request: OrganizationTaxInfoUpdateRequest) => Promise<any>;
2018-07-04 15:54:14 +02:00
postLeaveOrganization: (id: string) => Promise<any>;
2018-07-02 21:36:32 +02:00
postOrganizationLicense: (data: FormData) => Promise<OrganizationResponse>;
2018-07-18 05:14:42 +02:00
postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise<any>;
2019-03-07 16:58:27 +01:00
postOrganizationApiKey: (id: string, request: PasswordVerificationRequest) => Promise<ApiKeyResponse>;
postOrganizationRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise<ApiKeyResponse>;
2019-08-10 05:56:55 +02:00
postOrganizationUpgrade: (id: string, request: OrganizationUpgradeRequest) => Promise<PaymentResponse>;
2019-08-10 19:14:53 +02:00
postOrganizationSeat: (id: string, request: SeatRequest) => Promise<PaymentResponse>;
2018-07-16 23:16:15 +02:00
postOrganizationStorage: (id: string, request: StorageRequest) => Promise<any>;
postOrganizationPayment: (id: string, request: PaymentRequest) => Promise<any>;
2018-07-17 17:04:19 +02:00
postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise<any>;
postOrganizationCancel: (id: string) => Promise<any>;
postOrganizationReinstate: (id: string) => Promise<any>;
2018-07-16 23:16:15 +02:00
deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise<any>;
getPlans: () => Promise<ListResponse<PlanResponse>>;
getTaxRates: () => Promise<ListResponse<TaxRateResponse>>;
2018-07-07 05:06:38 +02:00
getEvents: (start: string, end: string, token: string) => Promise<ListResponse<EventResponse>>;
getEventsCipher: (id: string, start: string, end: string, token: string) => Promise<ListResponse<EventResponse>>;
getEventsOrganization: (id: string, start: string, end: string,
token: string) => Promise<ListResponse<EventResponse>>;
getEventsOrganizationUser: (organizationId: string, id: string,
start: string, end: string, token: string) => Promise<ListResponse<EventResponse>>;
2019-07-03 18:13:20 +02:00
postEventsCollect: (request: EventRequest[]) => Promise<any>;
2018-07-08 05:48:58 +02:00
deleteSsoUser: (organizationId: string) => Promise<any>;
getSsoUserIdentifier: () => Promise<string>;
2018-07-11 19:30:06 +02:00
getUserPublicKey: (id: string) => Promise<UserKeyResponse>;
2019-01-17 16:46:24 +01:00
getHibpBreach: (username: string) => Promise<BreachAccountResponse[]>;
2019-02-22 04:45:56 +01:00
postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise<string>;
2019-08-10 05:56:55 +02:00
postSetupPayment: () => Promise<string>;
2019-02-22 04:45:56 +01:00
getActiveBearerToken: () => Promise<string>;
2018-07-08 05:48:58 +02:00
fetch: (request: Request) => Promise<Response>;
nativeFetch: (request: Request) => Promise<Response>;
preValidateSso: (identifier: string) => Promise<boolean>;
2018-01-09 22:19:55 +01:00
}