diff --git a/jslib b/jslib index 45da8aa9..81c21418 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 45da8aa9eb4dd7e12c9fa67ed09189bc4d5ed2f1 +Subproject commit 81c21418ec965221b4d322008f9da0ab7b9037d0 diff --git a/src/app/organizations/settings/two-factor-setup.component.ts b/src/app/organizations/settings/two-factor-setup.component.ts index 65342fac..f1686070 100644 --- a/src/app/organizations/settings/two-factor-setup.component.ts +++ b/src/app/organizations/settings/two-factor-setup.component.ts @@ -6,7 +6,7 @@ import { ActivatedRoute } from '@angular/router'; import { ApiService } from 'jslib/abstractions/api.service'; import { MessagingService } from 'jslib/abstractions/messaging.service'; -import { TokenService } from 'jslib/abstractions/token.service'; +import { UserService } from 'jslib/abstractions/user.service'; import { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType'; @@ -18,10 +18,10 @@ import { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../se templateUrl: '../../settings/two-factor-setup.component.html', }) export class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent { - constructor(apiService: ApiService, tokenService: TokenService, + constructor(apiService: ApiService, userService: UserService, componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService, private route: ActivatedRoute) { - super(apiService, tokenService, componentFactoryResolver, messagingService); + super(apiService, userService, componentFactoryResolver, messagingService); } async ngOnInit() { diff --git a/src/app/organizations/vault/add-edit.component.ts b/src/app/organizations/vault/add-edit.component.ts index e38a290d..7bd0e0c3 100644 --- a/src/app/organizations/vault/add-edit.component.ts +++ b/src/app/organizations/vault/add-edit.component.ts @@ -15,8 +15,8 @@ import { MessagingService } from 'jslib/abstractions/messaging.service'; import { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; import { StateService } from 'jslib/abstractions/state.service'; -import { TokenService } from 'jslib/abstractions/token.service'; import { TotpService } from 'jslib/abstractions/totp.service'; +import { UserService } from 'jslib/abstractions/user.service'; import { CipherData } from 'jslib/models/data/cipherData'; import { Cipher } from 'jslib/models/domain/cipher'; @@ -37,11 +37,11 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit { i18nService: I18nService, platformUtilsService: PlatformUtilsService, analytics: Angulartics2, toasterService: ToasterService, auditService: AuditService, stateService: StateService, - tokenService: TokenService, totpService: TotpService, + userService: UserService, totpService: TotpService, passwordGenerationService: PasswordGenerationService, private apiService: ApiService, messagingService: MessagingService) { super(cipherService, folderService, i18nService, platformUtilsService, analytics, - toasterService, auditService, stateService, tokenService, totpService, passwordGenerationService, + toasterService, auditService, stateService, userService, totpService, passwordGenerationService, messagingService); } diff --git a/src/app/settings/two-factor-setup.component.html b/src/app/settings/two-factor-setup.component.html index ce331a62..4751eede 100644 --- a/src/app/settings/two-factor-setup.component.html +++ b/src/app/settings/two-factor-setup.component.html @@ -22,14 +22,14 @@
-
+
{{'premium' | i18n}}
diff --git a/src/app/vault/add-edit.component.ts b/src/app/vault/add-edit.component.ts
index c10c178b..05a7ed52 100644
--- a/src/app/vault/add-edit.component.ts
+++ b/src/app/vault/add-edit.component.ts
@@ -16,8 +16,8 @@ import { MessagingService } from 'jslib/abstractions/messaging.service';
import { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';
import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';
import { StateService } from 'jslib/abstractions/state.service';
-import { TokenService } from 'jslib/abstractions/token.service';
import { TotpService } from 'jslib/abstractions/totp.service';
+import { UserService } from 'jslib/abstractions/user.service';
import { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';
import { LoginUriView } from 'jslib/models/view/loginUriView';
@@ -27,7 +27,7 @@ import { LoginUriView } from 'jslib/models/view/loginUriView';
templateUrl: 'add-edit.component.html',
})
export class AddEditComponent extends BaseAddEditComponent implements OnInit {
- isPremium: boolean;
+ canAccessPremium: boolean;
totpCode: string;
totpCodeFormatted: string;
totpDash: number;
@@ -43,7 +43,7 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit {
i18nService: I18nService, platformUtilsService: PlatformUtilsService,
analytics: Angulartics2, toasterService: ToasterService,
auditService: AuditService, stateService: StateService,
- protected tokenService: TokenService, protected totpService: TotpService,
+ protected userService: UserService, protected totpService: TotpService,
protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) {
super(cipherService, folderService, i18nService, platformUtilsService, analytics,
toasterService, auditService, stateService);
@@ -55,9 +55,9 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit {
this.hasPasswordHistory = this.cipher.hasPasswordHistory;
this.cleanUp();
- this.isPremium = this.tokenService.getPremium();
+ this.canAccessPremium = await this.userService.canAccessPremium();
if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&
- (this.cipher.organizationUseTotp || this.isPremium)) {
+ (this.cipher.organizationUseTotp || this.canAccessPremium)) {
await this.totpUpdateCode();
const interval = this.totpService.getTimeInterval(this.cipher.login.totp);
await this.totpTick(interval);
@@ -102,8 +102,7 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit {
}
async premiumRequired() {
- const premium = await this.tokenService.getPremium();
- if (!premium) {
+ if (!this.canAccessPremium) {
this.messagingService.send('premiumRequired');
return;
}
diff --git a/src/app/vault/vault.component.ts b/src/app/vault/vault.component.ts
index 8759fedf..e9d1b9e9 100644
--- a/src/app/vault/vault.component.ts
+++ b/src/app/vault/vault.component.ts
@@ -90,7 +90,7 @@ export class VaultComponent implements OnInit, OnDestroy {
this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;
const hasEncKey = await this.cryptoService.hasEncKey();
this.showUpdateKey = !hasEncKey;
- const isPremium = await this.tokenService.getPremium();
+ const canAccessPremium = await this.userService.canAccessPremium();
this.route.queryParams.subscribe(async (params) => {
await this.syncService.fullSync(false);
@@ -116,8 +116,8 @@ export class VaultComponent implements OnInit, OnDestroy {
this.organizationsComponent.load(),
]);
- this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&
- !this.platformUtilsService.isSelfHost() && !(await this.inOrgWithPremium());
+ this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&
+ !this.platformUtilsService.isSelfHost();
if (params == null) {
this.groupingsComponent.selectedAll = true;
@@ -475,14 +475,4 @@ export class VaultComponent implements OnInit, OnDestroy {
const url = this.router.createUrlTree(['vault'], { queryParams: queryParams }).toString();
this.location.go(url);
}
-
- private async inOrgWithPremium() {
- const orgs = await this.userService.getAllOrganizations();
- for (let i = 0; i < orgs.length; i++) {
- if (orgs[i].usersGetPremium) {
- return true;
- }
- }
- return false;
- }
}