Files
AIPS/dotnet/AipsCore/Infrastructure/Persistence/Db/DbInitializer.cs
2026-02-12 20:25:51 +01:00

29 lines
927 B
C#

using AipsCore.Domain.Models.User.External;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.DependencyInjection;
namespace AipsCore.Infrastructure.Persistence.Db;
public static class DbInitializer
{
public static async Task SeedRolesAsync(IServiceProvider serviceProvider)
{
using var scope = serviceProvider.CreateScope();
var roleManager = scope.ServiceProvider.GetRequiredService<RoleManager<IdentityRole<Guid>>>();
var roleNames = UserRole.All();
foreach (var roleName in roleNames)
{
var roleExist = await roleManager.RoleExistsAsync(roleName.Name);
if (!roleExist)
{
await roleManager.CreateAsync(new IdentityRole<Guid>
{
Name = roleName.Name,
NormalizedName = roleName.Name.ToUpperInvariant()
});
}
}
}
}