import { Component, Injector, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { AppComponentBase } from '@shared/common/app-component-base';
import { AccountServiceProxy, ActivateEmailInput, ResolveTenantIdInput } from '@shared/service-proxies/service-proxies';
@Component({
template: `
`
})
export class ConfirmEmailComponent extends AppComponentBase implements OnInit {
waitMessage: string;
model: ActivateEmailInput = new ActivateEmailInput();
constructor(
injector: Injector,
private _accountService: AccountServiceProxy,
private _router: Router,
private _activatedRoute: ActivatedRoute
) {
super(injector);
}
ngOnInit(): void {
this.waitMessage = this.l('PleaseWaitToConfirmYourEmailMessage');
this.model.c = this._activatedRoute.snapshot.queryParams['c'];
this._accountService.resolveTenantId(new ResolveTenantIdInput({ c: this.model.c })).subscribe((tenantId) => {
let reloadNeeded = this.appSession.changeTenantIfNeeded(
tenantId
);
if (reloadNeeded) {
return;
}
this._accountService.activateEmail(this.model)
.subscribe(() => {
this.notify.success(this.l('YourEmailIsConfirmedMessage'), '',
{
onClose: () => {
this._router.navigate(['account/login']);
}
});
});
});
}
parseTenantId(tenantIdAsStr?: string): number {
let tenantId = !tenantIdAsStr ? undefined : parseInt(tenantIdAsStr, 10);
if (tenantId === NaN) {
tenantId = undefined;
}
return tenantId;
}
}