From e555536f2413927508db91affa371560ba633c88 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 18 Jul 2018 17:07:59 -0400 Subject: [PATCH] add org 2fa apis --- src/abstractions/api.service.ts | 7 +++++++ src/services/api.service.ts | 25 +++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/abstractions/api.service.ts b/src/abstractions/api.service.ts index 576befa3174..debb78580df 100644 --- a/src/abstractions/api.service.ts +++ b/src/abstractions/api.service.ts @@ -181,9 +181,12 @@ export abstract class ApiService { putSettingsDomains: (request: UpdateDomainsRequest) => Promise; getTwoFactorProviders: () => Promise>; + getTwoFactorOrganizationProviders: (organizationId: string) => Promise>; getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise; getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise; getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise; + getTwoFactorOrganizationDuo: (organizationId: string, + request: PasswordVerificationRequest) => Promise; getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise; getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise; getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise; @@ -191,9 +194,13 @@ export abstract class ApiService { request: UpdateTwoFactorAuthenticatorRequest) => Promise; putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise; putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise; + putTwoFactorOrganizationDuo: (organizationId: string, + request: UpdateTwoFactorDuoRequest) => Promise; putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise; putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise; putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise; + putTwoFactorOrganizationDisable: (organizationId: string, + request: TwoFactorProviderRequest) => Promise; postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise; postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise; postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise; diff --git a/src/services/api.service.ts b/src/services/api.service.ts index 8226d260476..39dc06a8fbb 100644 --- a/src/services/api.service.ts +++ b/src/services/api.service.ts @@ -560,6 +560,11 @@ export class ApiService implements ApiServiceAbstraction { return new ListResponse(r, TwoFactorProviderResponse); } + async getTwoFactorOrganizationProviders(organizationId: string): Promise> { + const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true); + return new ListResponse(r, TwoFactorProviderResponse); + } + async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise { const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true); return new TwoFactorAuthenticatorResponse(r); @@ -575,6 +580,13 @@ export class ApiService implements ApiServiceAbstraction { return new TwoFactorDuoResponse(r); } + async getTwoFactorOrganizationDuo(organizationId: string, + request: PasswordVerificationRequest): Promise { + const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo', + request, true, true); + return new TwoFactorDuoResponse(r); + } + async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise { const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true); return new TwoFactorYubiKeyResponse(r); @@ -606,6 +618,12 @@ export class ApiService implements ApiServiceAbstraction { return new TwoFactorDuoResponse(r); } + async putTwoFactorOrganizationDuo(organizationId: string, + request: UpdateTwoFactorDuoRequest): Promise { + const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true); + return new TwoFactorDuoResponse(r); + } + async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise { const r = await this.send('PUT', '/two-factor/yubikey', request, true, true); return new TwoFactorYubiKeyResponse(r); @@ -621,6 +639,13 @@ export class ApiService implements ApiServiceAbstraction { return new TwoFactorProviderResponse(r); } + async putTwoFactorOrganizationDisable(organizationId: string, + request: TwoFactorProviderRequest): Promise { + const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable', + request, true, true); + return new TwoFactorProviderResponse(r); + } + postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise { return this.send('POST', '/two-factor/recover', request, false, false); }