diff --git a/common/src/abstractions/state.service.ts b/common/src/abstractions/state.service.ts index 1069316408..0cf5060554 100644 --- a/common/src/abstractions/state.service.ts +++ b/common/src/abstractions/state.service.ts @@ -58,6 +58,7 @@ export abstract class StateService { getBiometricUnlock: (options?: StorageOptions) => Promise; setBiometricUnlock: (value: boolean, options?: StorageOptions) => Promise; getCanAccessPremium: (options?: StorageOptions) => Promise; + setCanAccessPremium: (value: boolean, options?: StorageOptions) => Promise; getClearClipboard: (options?: StorageOptions) => Promise; setClearClipboard: (value: number, options?: StorageOptions) => Promise; getCollapsedGroupings: (options?: StorageOptions) => Promise; diff --git a/common/src/services/state.service.ts b/common/src/services/state.service.ts index 3714b3e74b..73d4c1b73c 100644 --- a/common/src/services/state.service.ts +++ b/common/src/services/state.service.ts @@ -359,6 +359,17 @@ export class StateService< return false; } + async setCanAccessPremium(value: boolean, options?: StorageOptions): Promise { + const account = await this.getAccount( + this.reconcileOptions(options, await this.defaultOnDiskOptions()) + ); + account.profile.hasPremiumPersonally = value; + await this.saveAccount( + account, + this.reconcileOptions(options, await this.defaultOnDiskOptions()) + ); + } + async getClearClipboard(options?: StorageOptions): Promise { return ( ( diff --git a/common/src/services/sync.service.ts b/common/src/services/sync.service.ts index 776ace7a74..14a2ed5d2d 100644 --- a/common/src/services/sync.service.ts +++ b/common/src/services/sync.service.ts @@ -304,6 +304,7 @@ export class SyncService implements SyncServiceAbstraction { await this.cryptoService.setOrgKeys(response.organizations, response.providerOrganizations); await this.stateService.setSecurityStamp(response.securityStamp); await this.stateService.setEmailVerified(response.emailVerified); + await this.stateService.setCanAccessPremium(response.premium); await this.stateService.setForcePasswordReset(response.forcePasswordReset); await this.keyConnectorService.setUsesKeyConnector(response.usesKeyConnector);