1
0
mirror of https://github.com/bitwarden/server.git synced 2025-02-18 02:11:22 +01:00

Add sponsorship available boolean to orgDetails

This commit is contained in:
Matt Gibson 2021-11-08 19:06:32 -05:00
parent 6357514064
commit b61227d87e
6 changed files with 14 additions and 2 deletions

View File

@ -39,6 +39,9 @@ namespace Bit.Core.Models.Api
ProviderId = organization.ProviderId?.ToString();
ProviderName = organization.ProviderName;
FamilySponsorshipFriendlyName = organization.FamilySponsorshipFriendlyName;
FamilySponsorshipAvailable = FamilySponsorshipFriendlyName == null &&
Utilities.StaticStore.GetSponsoredPlan(PlanSponsorshipType.FamiliesForEnterprise)
.UsersCanSponsor(organization);
}
public string Id { get; set; }
@ -70,5 +73,6 @@ namespace Bit.Core.Models.Api
public string ProviderId { get; set; }
public string ProviderName { get; set; }
public string FamilySponsorshipFriendlyName { get; set; }
public bool FamilySponsorshipAvailable { get; set; }
}
}

View File

@ -25,6 +25,7 @@ namespace Bit.Core.Models.Data
public Enums.OrganizationUserStatusType Status { get; set; }
public Enums.OrganizationUserType Type { get; set; }
public bool Enabled { get; set; }
public Enums.PlanType PlanType { get; set; }
public string SsoExternalId { get; set; }
public string Identifier { get; set; }
public string Permissions { get; set; }

View File

@ -1,4 +1,6 @@
using System;
using Bit.Core.Enums;
using Bit.Core.Models.Data;
namespace Bit.Core.Models.StaticStore
{
@ -8,5 +10,6 @@ namespace Bit.Core.Models.StaticStore
public ProductType SponsoredProductType { get; set; }
public ProductType SponsoringProductType { get; set; }
public string StripePlanId { get; set; }
public Func<OrganizationUserOrganizationDetails, bool> UsersCanSponsor { get; set; }
}
}

View File

@ -26,6 +26,7 @@ namespace Bit.Core.Repositories.EntityFramework.Queries
UserId = x.ou.UserId,
Name = x.o.Name,
Enabled = x.o.Enabled,
PlanType = x.o.PlanType,
UsePolicies = x.o.UsePolicies,
UseSso = x.o.UseSso,
UseGroups = x.o.UseGroups,

View File

@ -1,6 +1,6 @@
using Bit.Core.Enums;
using Bit.Core.Models.Data;
using Bit.Core.Models.StaticStore;
using Bit.Core.Models.Table;
using System.Collections.Generic;
using System.Linq;
@ -484,7 +484,9 @@ namespace Bit.Core.Utilities
PlanSponsorshipType = PlanSponsorshipType.FamiliesForEnterprise,
SponsoredProductType = ProductType.Families,
SponsoringProductType = ProductType.Enterprise,
StripePlanId = "2021-enterprise-sponsored-families-org-monthly"
StripePlanId = "2021-enterprise-sponsored-families-org-monthly",
UsersCanSponsor = (OrganizationUserOrganizationDetails org) =>
GetPlan(org.PlanType).Product == ProductType.Enterprise,
}
};
public static Plan GetPlan(PlanType planType) =>

View File

@ -622,6 +622,7 @@ SELECT
OU.[OrganizationId],
O.[Name],
O.[Enabled],
O.[PlanType],
O.[UsePolicies],
O.[UseSso],
O.[UseGroups],