Files
T120B165/T120B165-ImgBoard/Data/DbInitializer.cs

33 lines
1.1 KiB
C#

using Microsoft.AspNetCore.Identity;
using T120B165_ImgBoard.Models;
namespace T120B165_ImgBoard.Data;
public static class DbInitializer
{
public static async Task SeedAuth(IServiceProvider serviceProvider)
{
Console.WriteLine("Seeding Auth...");
var roleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
string[] roleNames = [UserRoles.Admin, UserRoles.Regular];
foreach (var roleName in roleNames)
{
if (!await roleManager.RoleExistsAsync(roleName))
{
await roleManager.CreateAsync(new IdentityRole(roleName));
}
}
var userManager = serviceProvider.GetRequiredService<UserManager<User>>();
var adminUser = new User
{
UserName = "admin",
Email = "admin@localhost",
};
await userManager.CreateAsync(adminUser, "ChangeMe123#");
await userManager.AddToRoleAsync(adminUser, UserRoles.Regular);
await userManager.AddToRoleAsync(adminUser, UserRoles.Admin);
Console.WriteLine("Auth seeding complete.");
}
}