mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 16:23:44 +00:00
add disabledInteractionsUris state to the domain settings service
This commit is contained in:
@@ -23,10 +23,19 @@ const SHOW_FAVICONS = new KeyDefinition(DOMAIN_SETTINGS_DISK, "showFavicons", {
|
|||||||
deserializer: (value: boolean) => value ?? true,
|
deserializer: (value: boolean) => value ?? true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Domain exclusion list for notifications
|
||||||
const NEVER_DOMAINS = new KeyDefinition(DOMAIN_SETTINGS_DISK, "neverDomains", {
|
const NEVER_DOMAINS = new KeyDefinition(DOMAIN_SETTINGS_DISK, "neverDomains", {
|
||||||
deserializer: (value: NeverDomains) => value ?? null,
|
deserializer: (value: NeverDomains) => value ?? null,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const DISABLED_INTERACTIONS_URIS = new KeyDefinition(
|
||||||
|
DOMAIN_SETTINGS_DISK,
|
||||||
|
"disabledInteractionsUris",
|
||||||
|
{
|
||||||
|
deserializer: (value: NeverDomains) => value ?? null,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const EQUIVALENT_DOMAINS = new UserKeyDefinition(DOMAIN_SETTINGS_DISK, "equivalentDomains", {
|
const EQUIVALENT_DOMAINS = new UserKeyDefinition(DOMAIN_SETTINGS_DISK, "equivalentDomains", {
|
||||||
deserializer: (value: EquivalentDomains) => value ?? null,
|
deserializer: (value: EquivalentDomains) => value ?? null,
|
||||||
clearOn: ["logout"],
|
clearOn: ["logout"],
|
||||||
@@ -46,6 +55,8 @@ export abstract class DomainSettingsService {
|
|||||||
setShowFavicons: (newValue: boolean) => Promise<void>;
|
setShowFavicons: (newValue: boolean) => Promise<void>;
|
||||||
neverDomains$: Observable<NeverDomains>;
|
neverDomains$: Observable<NeverDomains>;
|
||||||
setNeverDomains: (newValue: NeverDomains) => Promise<void>;
|
setNeverDomains: (newValue: NeverDomains) => Promise<void>;
|
||||||
|
disabledInteractionsUris$: Observable<NeverDomains>;
|
||||||
|
setDisabledInteractionsUris: (newValue: NeverDomains) => Promise<void>;
|
||||||
equivalentDomains$: Observable<EquivalentDomains>;
|
equivalentDomains$: Observable<EquivalentDomains>;
|
||||||
setEquivalentDomains: (newValue: EquivalentDomains, userId: UserId) => Promise<void>;
|
setEquivalentDomains: (newValue: EquivalentDomains, userId: UserId) => Promise<void>;
|
||||||
defaultUriMatchStrategy$: Observable<UriMatchStrategySetting>;
|
defaultUriMatchStrategy$: Observable<UriMatchStrategySetting>;
|
||||||
@@ -60,6 +71,9 @@ export class DefaultDomainSettingsService implements DomainSettingsService {
|
|||||||
private neverDomainsState: GlobalState<NeverDomains>;
|
private neverDomainsState: GlobalState<NeverDomains>;
|
||||||
readonly neverDomains$: Observable<NeverDomains>;
|
readonly neverDomains$: Observable<NeverDomains>;
|
||||||
|
|
||||||
|
private disabledInteractionsUrisState: GlobalState<NeverDomains>;
|
||||||
|
readonly disabledInteractionsUris$: Observable<NeverDomains>;
|
||||||
|
|
||||||
private equivalentDomainsState: ActiveUserState<EquivalentDomains>;
|
private equivalentDomainsState: ActiveUserState<EquivalentDomains>;
|
||||||
readonly equivalentDomains$: Observable<EquivalentDomains>;
|
readonly equivalentDomains$: Observable<EquivalentDomains>;
|
||||||
|
|
||||||
@@ -73,6 +87,11 @@ export class DefaultDomainSettingsService implements DomainSettingsService {
|
|||||||
this.neverDomainsState = this.stateProvider.getGlobal(NEVER_DOMAINS);
|
this.neverDomainsState = this.stateProvider.getGlobal(NEVER_DOMAINS);
|
||||||
this.neverDomains$ = this.neverDomainsState.state$.pipe(map((x) => x ?? null));
|
this.neverDomains$ = this.neverDomainsState.state$.pipe(map((x) => x ?? null));
|
||||||
|
|
||||||
|
this.disabledInteractionsUrisState = this.stateProvider.getGlobal(DISABLED_INTERACTIONS_URIS);
|
||||||
|
this.disabledInteractionsUris$ = this.disabledInteractionsUrisState.state$.pipe(
|
||||||
|
map((x) => x ?? null),
|
||||||
|
);
|
||||||
|
|
||||||
this.equivalentDomainsState = this.stateProvider.getActive(EQUIVALENT_DOMAINS);
|
this.equivalentDomainsState = this.stateProvider.getActive(EQUIVALENT_DOMAINS);
|
||||||
this.equivalentDomains$ = this.equivalentDomainsState.state$.pipe(map((x) => x ?? null));
|
this.equivalentDomains$ = this.equivalentDomainsState.state$.pipe(map((x) => x ?? null));
|
||||||
|
|
||||||
@@ -90,6 +109,10 @@ export class DefaultDomainSettingsService implements DomainSettingsService {
|
|||||||
await this.neverDomainsState.update(() => newValue);
|
await this.neverDomainsState.update(() => newValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async setDisabledInteractionsUris(newValue: NeverDomains): Promise<void> {
|
||||||
|
await this.disabledInteractionsUrisState.update(() => newValue);
|
||||||
|
}
|
||||||
|
|
||||||
async setEquivalentDomains(newValue: EquivalentDomains, userId: UserId): Promise<void> {
|
async setEquivalentDomains(newValue: EquivalentDomains, userId: UserId): Promise<void> {
|
||||||
await this.stateProvider.getUser(userId, EQUIVALENT_DOMAINS).update(() => newValue);
|
await this.stateProvider.getUser(userId, EQUIVALENT_DOMAINS).update(() => newValue);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user