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

Initial scaffolding of emails (#1686)

* Initial scaffolding of emails

* Work on adding models for FamilyForEnterprise emails

* Switch verbage

* Put preliminary copy in emails

* Skip test
This commit is contained in:
Justin Baur
2021-11-08 11:47:58 -05:00
parent 005774102a
commit 143be4273b
22 changed files with 393 additions and 0 deletions

View File

@ -9,6 +9,7 @@ using System.Net;
using Bit.Core.Utilities;
using System.Linq;
using System.Reflection;
using Bit.Core.Models.Mail.FamiliesForEnterprise;
using Bit.Core.Models.Mail.Provider;
using Bit.Core.Models.Table.Provider;
using HandlebarsDotNet;
@ -755,5 +756,93 @@ namespace Bit.Core.Services
message.Category = "UpdatedTempPassword";
await _mailDeliveryService.SendEmailAsync(message);
}
public async Task SendFamiliesForEnterpriseInviteRedeemableEmailAsync(string email, string organizationName, string token)
{
// TODO: Complete emails
var message = CreateDefaultMessage("A Family Organization Invite Is Redeemable", email);
// NOTE: If somehow cloud vault changes this will need to change/be injected
var url = CoreHelpers.ExtendQuery(new Uri($"https://vault.bitwarden.com/#/sponsored/families-for-enterprise"),
new Dictionary<string, string>
{
["sponsorshipToken"] = token,
});
var model = new FamiliesForEnterpriseInviteRedeemableViewModel
{
Url = url.ToString(),
OrganizationName = organizationName,
};
await AddMessageContentAsync(message, "FamiliesForEnterprise.FamiliesForEnterpriseInviteRedeemable", model);
message.Category = "FamiliesForEnterpriseInviteRedeemable";
await _mailDeliveryService.SendEmailAsync(message);
}
public async Task SendFamiliesForEnterpriseInviteRedeemedToFamilyUserEmailAsync(string email)
{
// TODO: Complete emails
var message = CreateDefaultMessage("You Have Redeemed A Family Organization Sponsorship", email);
var model = new FamiliesForEnterpriseInviteRedeemedToFamilyUserViewModel
{
};
await AddMessageContentAsync(message, "FamiliesForEnterprise.FamiliesForEnterpriseInviteRedeemedToFamilyUser", model);
message.Category = "FamilyForEnterpriseInviteRedeemedToFamilyUser";
await _mailDeliveryService.SendEmailAsync(message);
}
public async Task SendFamiliesForEnterpriseInviteRedeemedToOrgUserEmailAsync(string email, string organizationName)
{
// TODO: Complete emails
var message = CreateDefaultMessage("A User Has Redeemeed Your Sponsorship", email);
var model = new FamiliesForEnterpriseInviteRedeemedToOrgUserViewModel
{
OrganizationName = organizationName,
};
await AddMessageContentAsync(message, "FamiliesForEnterprise.FamiliesForEnterpriseInviteRedeemedToOrgUser", model);
message.Category = "FamilyForEnterpriseInviteRedeemedToOrgUser";
await _mailDeliveryService.SendEmailAsync(message);
}
public async Task SendFamiliesForEnterpriseReconfirmationRequiredEmailAsync(string email)
{
// TODO: Complete emails
var message = CreateDefaultMessage("Your Sponsorship Requires Reconfirmation", email);
var model = new FamiliesForEnterpriseReconfirmationRequiredViewModel
{
};
await AddMessageContentAsync(message, "FamiliesForEnterprise.FamiliesForEnterpriseReconfirmationRequired", model);
message.Category = "FamiliesForEnterpriseReconfirmationRequired";
await _mailDeliveryService.SendEmailAsync(message);
}
public async Task SendFamiliesForEnterpriseSponsorshipRevertingEmailAsync(string email)
{
// TODO: Complete emails
var message = CreateDefaultMessage("A Family Organization Sponsorship Is Reverting", email);
var model = new FamiliesForEnterpriseSponsorshipRevertingViewModel
{
};
await AddMessageContentAsync(message, "FamiliesForEnterprise.FamiliesForEnterpriseSponsorshipReverting", model);
message.Category = "FamiliesForEnterpriseSponsorshipReverting";
await _mailDeliveryService.SendEmailAsync(message);
}
public async Task SendFamiliesForEnterpriseSponsorshipEndingEmailAsync(string email)
{
// TODO: Complete emails
var message = CreateDefaultMessage("A Family Organization Sponsorship Is Ending", email);
var model = new FamiliesForEnterpriseSponsorshipEndingViewModel
{
};
await AddMessageContentAsync(message, "FamiliesForEnterprise.FamiliesForEnterpriseSponsorshipEnding", model);
message.Category = "FamiliesForEnterpriseSponsorshipEnding";
await _mailDeliveryService.SendEmailAsync(message);
}
}
}