mirror of
https://github.com/bitwarden/browser
synced 2026-02-27 01:53:23 +00:00
* [deps] Autofill: Update prettier to v3.6.2 * fix: [PM-23425] Fix prettier issues related to dependency updte Signed-off-by: Ben Brooks <bbrooks@bitwarden.com> * [deps] Autofill: Update prettier to v3.6.2 * [deps] Autofill: Update prettier to v3.7.3 * [PM-29379] Fix prettier issues found with the updated Prettier 3.7.3 Signed-off-by: Ben Brooks <bbrooks@bitwarden.com> --------- Signed-off-by: Ben Brooks <bbrooks@bitwarden.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Ben Brooks <bbrooks@bitwarden.com>
46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import { Observable, filter, map } from "rxjs";
|
|
|
|
import {
|
|
SingleUserStateProvider,
|
|
USER_DECRYPTION_OPTIONS_DISK,
|
|
UserKeyDefinition,
|
|
} from "@bitwarden/common/platform/state";
|
|
import { UserId } from "@bitwarden/common/types/guid";
|
|
|
|
import { InternalUserDecryptionOptionsServiceAbstraction } from "../../abstractions/user-decryption-options.service.abstraction";
|
|
import { UserDecryptionOptions } from "../../models";
|
|
|
|
export const USER_DECRYPTION_OPTIONS = new UserKeyDefinition<UserDecryptionOptions>(
|
|
USER_DECRYPTION_OPTIONS_DISK,
|
|
"decryptionOptions",
|
|
{
|
|
deserializer: (decryptionOptions) => UserDecryptionOptions.fromJSON(decryptionOptions),
|
|
clearOn: ["logout"],
|
|
},
|
|
);
|
|
|
|
export class UserDecryptionOptionsService implements InternalUserDecryptionOptionsServiceAbstraction {
|
|
constructor(private singleUserStateProvider: SingleUserStateProvider) {}
|
|
|
|
userDecryptionOptionsById$(userId: UserId): Observable<UserDecryptionOptions> {
|
|
return this.singleUserStateProvider
|
|
.get(userId, USER_DECRYPTION_OPTIONS)
|
|
.state$.pipe(filter((options): options is UserDecryptionOptions => options != null));
|
|
}
|
|
|
|
hasMasterPasswordById$(userId: UserId): Observable<boolean> {
|
|
return this.userDecryptionOptionsById$(userId).pipe(
|
|
map((options) => options.hasMasterPassword ?? false),
|
|
);
|
|
}
|
|
|
|
async setUserDecryptionOptionsById(
|
|
userId: UserId,
|
|
userDecryptionOptions: UserDecryptionOptions,
|
|
): Promise<void> {
|
|
await this.singleUserStateProvider
|
|
.get(userId, USER_DECRYPTION_OPTIONS)
|
|
.update((_) => userDecryptionOptions);
|
|
}
|
|
}
|