1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-04 01:22:50 -05:00

Add PlanSponsorshipType to db model

This commit is contained in:
Matt Gibson
2021-11-04 12:51:22 -04:00
committed by Justin Baur
parent 199b8ed887
commit 77bea5755e
20 changed files with 75 additions and 18 deletions

View File

@ -1,5 +1,6 @@
using System;
using System.Threading.Tasks;
using Bit.Core.Enums;
using Bit.Core.Models.Table;
using Bit.Core.Repositories;
using Microsoft.AspNetCore.DataProtection;
@ -38,25 +39,31 @@ namespace Bit.Core.Services
if (dataParts[0].Equals(FamiliesForEnterpriseTokenName))
{
if (!Guid.TryParse(dataParts[1], out Guid sponsorshipId))
if (!Guid.TryParse(dataParts[1], out Guid sponsorshipId) ||
!Enum.TryParse<PlanSponsorshipType>(dataParts[2], true, out var sponsorshipType))
{
return false;
}
var sponsorship = await _organizationSponsorshipRepository.GetByIdAsync(sponsorshipId);
return sponsorship != null;
if (sponsorship == null || sponsorship.PlanSponsorshipType != sponsorshipType)
{
return false;
}
return true;
}
return false;
}
private string RedemptionToken(Guid sponsorshipId) =>
private string RedemptionToken(Guid sponsorshipId, PlanSponsorshipType sponsorshipType) =>
string.Concat(
TokenClearTextPrefix,
_dataProtector.Protect($"{FamiliesForEnterpriseTokenName} {sponsorshipId}")
_dataProtector.Protect($"{FamiliesForEnterpriseTokenName} {sponsorshipId} {sponsorshipType}")
);
public async Task OfferSponsorshipAsync(Organization sponsoringOrg, OrganizationUser sponsoringOrgUser, string sponsoredEmail)
public async Task OfferSponsorshipAsync(Organization sponsoringOrg, OrganizationUser sponsoringOrgUser, PlanSponsorshipType sponsorshipType, string sponsoredEmail)
{
var sponsorship = new OrganizationSponsorship
{