mirror of
https://github.com/bitwarden/server.git
synced 2025-07-04 09:32:48 -05:00
[EC-152] Hide Subscription/Billing information for Provider-managed organizations (#1970)
* Block billing endpoints if org is managed by Provider
This commit is contained in:
@ -261,7 +261,7 @@ namespace Bit.Core.Context
|
||||
|
||||
if (Providers.Any())
|
||||
{
|
||||
return (await GetProviderOrganizations()).Any(po => po.OrganizationId == orgId);
|
||||
return await ProviderUserForOrgAsync(orgId);
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -360,6 +360,15 @@ namespace Bit.Core.Context
|
||||
&& (o.Permissions?.ManageResetPassword ?? false)) ?? false);
|
||||
}
|
||||
|
||||
public async Task<bool> ManageBilling(Guid orgId)
|
||||
{
|
||||
var orgManagedByProvider = ProviderIdForOrg(orgId) != null;
|
||||
|
||||
return orgManagedByProvider
|
||||
? await ProviderUserForOrgAsync(orgId)
|
||||
: await OrganizationOwner(orgId);
|
||||
}
|
||||
|
||||
public bool ProviderProviderAdmin(Guid providerId)
|
||||
{
|
||||
return Providers?.Any(o => o.Id == providerId && o.Type == ProviderUserType.ProviderAdmin) ?? false;
|
||||
@ -390,6 +399,11 @@ namespace Bit.Core.Context
|
||||
return Providers?.Any(o => o.Id == providerId) ?? false;
|
||||
}
|
||||
|
||||
public async Task<bool> ProviderUserForOrgAsync(Guid orgId)
|
||||
{
|
||||
return (await GetProviderOrganizations()).Any(po => po.OrganizationId == orgId);
|
||||
}
|
||||
|
||||
public async Task<Guid?> ProviderIdForOrg(Guid orgId)
|
||||
{
|
||||
if (Organizations?.Any(org => org.Id == orgId) ?? false)
|
||||
|
Reference in New Issue
Block a user