mirror of
https://github.com/bitwarden/browser
synced 2025-12-19 09:43:23 +00:00
[AC-1139] Reverted change that introduced ConfigService as a parameter to canAccessVaultTab
This commit is contained in:
@@ -1,26 +1,12 @@
|
||||
import { map, Observable } from "rxjs";
|
||||
|
||||
import { FeatureFlag } from "../../../enums/feature-flag.enum";
|
||||
import { ConfigServiceAbstraction } from "../../../platform/abstractions/config/config.service.abstraction";
|
||||
import { I18nService } from "../../../platform/abstractions/i18n.service";
|
||||
import { Utils } from "../../../platform/misc/utils";
|
||||
import { OrganizationData } from "../../models/data/organization.data";
|
||||
import { Organization } from "../../models/domain/organization";
|
||||
|
||||
export async function canAccessVaultTab(
|
||||
org: Organization,
|
||||
configService: ConfigServiceAbstraction
|
||||
): Promise<boolean> {
|
||||
const flexibleCollectionsEnabled = await configService.getFeatureFlag(
|
||||
FeatureFlag.FlexibleCollections,
|
||||
false
|
||||
);
|
||||
|
||||
if (flexibleCollectionsEnabled) {
|
||||
return org.canViewAllCollections;
|
||||
} else {
|
||||
return org.canViewAssignedCollections || org.canViewAllCollections;
|
||||
}
|
||||
export function canAccessVaultTab(org: Organization): boolean {
|
||||
return org.canViewAssignedCollections || org.canViewAllCollections;
|
||||
}
|
||||
|
||||
export function canAccessSettingsTab(org: Organization): boolean {
|
||||
@@ -50,17 +36,14 @@ export function canAccessBillingTab(org: Organization): boolean {
|
||||
return org.isOwner;
|
||||
}
|
||||
|
||||
export async function canAccessOrgAdmin(
|
||||
org: Organization,
|
||||
configService: ConfigServiceAbstraction
|
||||
): Promise<boolean> {
|
||||
export function canAccessOrgAdmin(org: Organization): boolean {
|
||||
return (
|
||||
canAccessMembersTab(org) ||
|
||||
canAccessGroupsTab(org) ||
|
||||
canAccessReportingTab(org) ||
|
||||
canAccessBillingTab(org) ||
|
||||
canAccessSettingsTab(org) ||
|
||||
(await canAccessVaultTab(org, configService))
|
||||
canAccessVaultTab(org)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -68,18 +51,10 @@ export function getOrganizationById(id: string) {
|
||||
return map<Organization[], Organization | undefined>((orgs) => orgs.find((o) => o.id === id));
|
||||
}
|
||||
|
||||
export async function canAccessAdmin(
|
||||
i18nService: I18nService,
|
||||
configService: ConfigServiceAbstraction
|
||||
) {
|
||||
return async (orgs: Organization[]): Promise<Organization[]> => {
|
||||
const orgsPromises = orgs.map(async (org) => {
|
||||
const canAccess = await canAccessOrgAdmin(org, configService);
|
||||
return canAccess ? org : null;
|
||||
});
|
||||
const results = (await Promise.all(orgsPromises)).filter((org) => org !== null);
|
||||
return results.sort(Utils.getSortFunction(i18nService, "name"));
|
||||
};
|
||||
export function canAccessAdmin(i18nService: I18nService) {
|
||||
return map<Organization[], Organization[]>((orgs) =>
|
||||
orgs.filter(canAccessOrgAdmin).sort(Utils.getSortFunction(i18nService, "name"))
|
||||
);
|
||||
}
|
||||
|
||||
export function canAccessImportExport(i18nService: I18nService) {
|
||||
|
||||
Reference in New Issue
Block a user