mirror of
https://github.com/bitwarden/server
synced 2026-02-26 09:23:28 +00:00
Purpose: UseMyItems is a new organization ability / plan flag which is automatically enabled where UsePolicies is enabled, but can be selectively disabled to disable My Items creation when the Organization Data Ownership policy is turned on. - new organization table column with all sprocs and views updated - data migration to enable the feature for all organizations that already use policies (replicating existing behaviour) - data and api models updated - added to organization license file so it can be preserved in self-hosted instances - note that we don't have a plan feature defined for this yet, so it is set based on UsePolicies to match the migration logic. Billing Team have a ticket to add this
61 lines
2.7 KiB
C#
61 lines
2.7 KiB
C#
using Bit.Core.AdminConsole.Entities;
|
|
|
|
namespace Bit.Core.Models.Data.Organizations;
|
|
|
|
public class OrganizationAbility
|
|
{
|
|
public OrganizationAbility() { }
|
|
|
|
public OrganizationAbility(Organization organization)
|
|
{
|
|
Id = organization.Id;
|
|
UseEvents = organization.UseEvents;
|
|
Use2fa = organization.Use2fa;
|
|
Using2fa = organization.Use2fa && organization.TwoFactorProviders != null &&
|
|
organization.TwoFactorProviders != "{}";
|
|
UsersGetPremium = organization.UsersGetPremium;
|
|
Enabled = organization.Enabled;
|
|
UseSso = organization.UseSso;
|
|
UseKeyConnector = organization.UseKeyConnector;
|
|
UseScim = organization.UseScim;
|
|
UseResetPassword = organization.UseResetPassword;
|
|
UseCustomPermissions = organization.UseCustomPermissions;
|
|
UsePolicies = organization.UsePolicies;
|
|
LimitCollectionCreation = organization.LimitCollectionCreation;
|
|
LimitCollectionDeletion = organization.LimitCollectionDeletion;
|
|
LimitItemDeletion = organization.LimitItemDeletion;
|
|
AllowAdminAccessToAllCollectionItems = organization.AllowAdminAccessToAllCollectionItems;
|
|
UseRiskInsights = organization.UseRiskInsights;
|
|
UseOrganizationDomains = organization.UseOrganizationDomains;
|
|
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
|
|
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
|
|
UseDisableSmAdsForUsers = organization.UseDisableSmAdsForUsers;
|
|
UsePhishingBlocker = organization.UsePhishingBlocker;
|
|
UseMyItems = organization.UseMyItems;
|
|
}
|
|
|
|
public Guid Id { get; set; }
|
|
public bool UseEvents { get; set; }
|
|
public bool Use2fa { get; set; }
|
|
public bool Using2fa { get; set; }
|
|
public bool UsersGetPremium { get; set; }
|
|
public bool Enabled { get; set; }
|
|
public bool UseSso { get; set; }
|
|
public bool UseKeyConnector { get; set; }
|
|
public bool UseScim { get; set; }
|
|
public bool UseResetPassword { get; set; }
|
|
public bool UseCustomPermissions { get; set; }
|
|
public bool UsePolicies { get; set; }
|
|
public bool LimitCollectionCreation { get; set; }
|
|
public bool LimitCollectionDeletion { get; set; }
|
|
public bool LimitItemDeletion { get; set; }
|
|
public bool AllowAdminAccessToAllCollectionItems { get; set; }
|
|
public bool UseRiskInsights { get; set; }
|
|
public bool UseOrganizationDomains { get; set; }
|
|
public bool UseAdminSponsoredFamilies { get; set; }
|
|
public bool UseAutomaticUserConfirmation { get; set; }
|
|
public bool UseDisableSmAdsForUsers { get; set; }
|
|
public bool UsePhishingBlocker { get; set; }
|
|
public bool UseMyItems { get; set; }
|
|
}
|