33 lines
1.1 KiB
C#
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.");
|
|
}
|
|
}
|