mirror of
https://github.com/bitwarden/server
synced 2026-01-03 09:03:44 +00:00
Add recipe for getting emergency access invites
This commit is contained in:
28
util/Seeder/Recipes/EmergencyAccessInviteRecipe.cs
Normal file
28
util/Seeder/Recipes/EmergencyAccessInviteRecipe.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using Bit.Core.Auth.Enums;
|
||||
using Bit.Core.Auth.Models.Business.Tokenables;
|
||||
using Bit.Core.Tokens;
|
||||
using Bit.Infrastructure.EntityFramework.Repositories;
|
||||
|
||||
namespace Bit.Seeder.Recipes;
|
||||
|
||||
public class EmergencyAccessInviteRecipe(
|
||||
DatabaseContext db,
|
||||
IDataProtectorTokenFactory<EmergencyAccessInviteTokenable> dataProtectorTokenizer)
|
||||
{
|
||||
public RecipeResult Seed(string email)
|
||||
{
|
||||
var invites = db.EmergencyAccesses
|
||||
.Where(ea => ea.Email == email).ToList().Select(ea =>
|
||||
{
|
||||
var token = dataProtectorTokenizer.Protect(
|
||||
new EmergencyAccessInviteTokenable(ea, hoursTillExpiration: 1)
|
||||
);
|
||||
return $"/accept-emergency?id={ea.Id}&name=Dummy&email={ea.Email}&token={token}";
|
||||
});
|
||||
|
||||
return new RecipeResult
|
||||
{
|
||||
Result = invites,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user