diff --git a/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification.component.html b/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification.component.html deleted file mode 100644 index 9a956bf41fe..00000000000 --- a/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification.component.html +++ /dev/null @@ -1,55 +0,0 @@ -
-

{{ "domainVerification" | i18n }}

- - -
- -
- - - - Name - Status - Last Checked - Options - - - - - - -
- -
- domain - -
- {{ "noDomains" | i18n }} -
- -
- - {{ "noDomainsSubText" | i18n }} - -
- - -
diff --git a/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification.component.ts b/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification.component.ts deleted file mode 100644 index e4c628f1f4f..00000000000 --- a/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification.component.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Component, OnDestroy, OnInit } from "@angular/core"; -import { ActivatedRoute } from "@angular/router"; -import { Subject } from "rxjs"; - -import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; -import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { Organization } from "@bitwarden/common/models/domain/organization"; - -@Component({ - selector: "app-org-manage-domain-verification", - templateUrl: "domain-verification.component.html", -}) -export class DomainVerificationComponent implements OnInit, OnDestroy { - private componentDestroyed$ = new Subject(); - - organization: Organization; - - constructor( - private route: ActivatedRoute, - private apiService: ApiService, - private platformUtilsService: PlatformUtilsService, - private i18nService: I18nService, - private organizationService: OrganizationService, - private organizationApiService: OrganizationApiServiceAbstraction - ) {} - - // eslint-disable-next-line @typescript-eslint/no-empty-function - async ngOnInit() {} - - ngOnDestroy(): void { - this.componentDestroyed$.next(); - this.componentDestroyed$.complete(); - } -} diff --git a/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification/domain-verification.component.html b/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification/domain-verification.component.html new file mode 100644 index 00000000000..3da3eacb9c1 --- /dev/null +++ b/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification/domain-verification.component.html @@ -0,0 +1,66 @@ +
+

{{ "domainVerification" | i18n }}

+ + +
+ + + + {{ "loading" | i18n }} + + + + + +
+ + + + Name + Status + Last Checked + Options + + + + + + {{ orgDomain.domainName }} + + {{ orgDomain.domainName }} + + test + test + + + +
+ +
+ domain + +
+ {{ "noDomains" | i18n }} +
+ +
+ + {{ "noDomainsSubText" | i18n }} + +
+ + +
+ ΒΈ +
diff --git a/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification/domain-verification.component.ts b/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification/domain-verification.component.ts new file mode 100644 index 00000000000..20144ddf673 --- /dev/null +++ b/bitwarden_license/bit-web/src/app/organizations/manage/domain-verification/domain-verification.component.ts @@ -0,0 +1,64 @@ +import { Component, OnDestroy, OnInit } from "@angular/core"; +import { ActivatedRoute, Params } from "@angular/router"; +import { concatMap, Observable, Subject, takeUntil } from "rxjs"; + +import { ApiService } from "@bitwarden/common/abstractions/api.service"; +import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; +import { OrgDomainApiServiceAbstraction } from "@bitwarden/common/abstractions/organization-domain/org-domain-api.service.abstraction"; +import { OrgDomainServiceAbstraction } from "@bitwarden/common/abstractions/organization-domain/org-domain.service.abstraction"; +import { OrganizationDomainResponse } from "@bitwarden/common/abstractions/organization-domain/responses/organization-domain.response"; +import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; +import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; + +@Component({ + selector: "app-org-manage-domain-verification", + templateUrl: "domain-verification.component.html", +}) +export class DomainVerificationComponent implements OnInit, OnDestroy { + private componentDestroyed$ = new Subject(); + + loading = true; + + organizationId: string; + // organization: Organization; + orgDomains$: Observable; + + constructor( + private route: ActivatedRoute, + private apiService: ApiService, + private platformUtilsService: PlatformUtilsService, + private i18nService: I18nService, + private organizationService: OrganizationService, + private orgDomainApiService: OrgDomainApiServiceAbstraction, + private orgDomainService: OrgDomainServiceAbstraction + ) {} + + // eslint-disable-next-line @typescript-eslint/no-empty-function + async ngOnInit() { + this.orgDomains$ = this.orgDomainService.orgDomains$; + + // Note: going to use concatMap as async subscribe blocks don't work as you expect and + // as such, ESLint rejects it + // ex: https://stackoverflow.com/a/71056380 + this.route.params + .pipe( + concatMap(async (params: Params) => { + this.organizationId = params.organizationId; + await this.load(); + }), + takeUntil(this.componentDestroyed$) + ) + .subscribe(); + } + + async load() { + await this.orgDomainApiService.getAllByOrgId(this.organizationId); + + this.loading = false; + } + + ngOnDestroy(): void { + this.componentDestroyed$.next(); + this.componentDestroyed$.complete(); + } +} diff --git a/bitwarden_license/bit-web/src/app/organizations/organizations-routing.module.ts b/bitwarden_license/bit-web/src/app/organizations/organizations-routing.module.ts index 2e511296379..8d9d95decde 100644 --- a/bitwarden_license/bit-web/src/app/organizations/organizations-routing.module.ts +++ b/bitwarden_license/bit-web/src/app/organizations/organizations-routing.module.ts @@ -8,7 +8,7 @@ import { OrganizationPermissionsGuard } from "@bitwarden/web-vault/app/organizat import { OrganizationLayoutComponent } from "@bitwarden/web-vault/app/organizations/layouts/organization-layout.component"; import { SettingsComponent } from "@bitwarden/web-vault/app/organizations/settings/settings.component"; -import { DomainVerificationComponent } from "./manage/domain-verification.component"; +import { DomainVerificationComponent } from "./manage/domain-verification/domain-verification.component"; import { ScimComponent } from "./manage/scim.component"; import { SsoComponent } from "./manage/sso.component"; diff --git a/bitwarden_license/bit-web/src/app/organizations/organizations.module.ts b/bitwarden_license/bit-web/src/app/organizations/organizations.module.ts index 58d5376d4dd..9047949aee1 100644 --- a/bitwarden_license/bit-web/src/app/organizations/organizations.module.ts +++ b/bitwarden_license/bit-web/src/app/organizations/organizations.module.ts @@ -3,7 +3,7 @@ import { NgModule } from "@angular/core"; import { SharedModule } from "@bitwarden/web-vault/app/shared/shared.module"; import { InputCheckboxComponent } from "./components/input-checkbox.component"; -import { DomainVerificationComponent } from "./manage/domain-verification.component"; +import { DomainVerificationComponent } from "./manage/domain-verification/domain-verification.component"; import { ScimComponent } from "./manage/scim.component"; import { SsoComponent } from "./manage/sso.component"; import { OrganizationsRoutingModule } from "./organizations-routing.module";