Add GetCreatorByAlias and CreatorAlias to User

This commit is contained in:
Jonathan Bourdon
2024-07-02 03:11:06 -04:00
parent bc2dc969ff
commit eb2136083b
13 changed files with 737 additions and 20 deletions

View File

@@ -1,8 +1,6 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Hutopy.Domain.Constants;
using Hutopy.Domain.Constants;
using Hutopy.Infrastructure.Identity;
using Hutopy.Infrastructure.Identity.OwnedEntities;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
@@ -28,7 +26,7 @@ public static class InitializerExtensions
public class ApplicationDbContextInitializer(
ILogger<ApplicationDbContextInitializer> logger,
ApplicationDbContext context,
UserManager<ApplicationUser> userManager,
ApplicationUserManager userManager,
RoleManager<IdentityRole> roleManager)
{
public async Task InitialiseAsync()
@@ -61,22 +59,57 @@ public class ApplicationDbContextInitializer(
{
// Default roles
var administratorRole = new IdentityRole(Roles.Administrator);
if (roleManager.Roles.All(r => r.Name != administratorRole.Name))
{
await roleManager.CreateAsync(administratorRole);
}
// Default users
var administrator = new ApplicationUser { UserName = "administrator@localhost", Email = "administrator@localhost" };
var roleCreator = new IdentityRole(Roles.Creator);
if (roleManager.Roles.All(r => r.Name != roleCreator.Name))
{
await roleManager.CreateAsync(roleCreator);
}
// Default users
var administrator =
new ApplicationUser { UserName = "administrator@localhost", Email = "administrator@localhost" };
if (userManager.Users.All(u => u.UserName != administrator.UserName))
{
await userManager.CreateAsync(administrator, "Administrator1!");
if (!string.IsNullOrWhiteSpace(administratorRole.Name))
await userManager.AddToRolesAsync(administrator, new[] { Roles.Administrator });
}
// ADD CREATORS
await AddDefaultCreator(new ApplicationUser
{
UserName = "hutopy@localhost",
Email = "hutopy@localhost",
CreatorAlias = "hutopy",
About = "Page officielle",
Description = "Site officiel pour Hutopy. Venez-nous-y retrouver avec tous vos fans!",
EmailConfirmed = true,
ProfileColors = new ProfileColors { BannerTop = "A30E79", BannerBottom = "6B0065", Accent = "23393B", Menu = "53B93B", },
SocialNetworks =
new SocialNetworks
{
XUrl = "https://twitter.com/Hutopyinc",
FacebookUrl = "https://www.facebook.com/Hutopy",
InstagramUrl = "https://www.instagram.com/hutopy.inc/"
},
StoredDataUrls = new StoredDataUrls
{
await userManager.AddToRolesAsync(administrator, new[] { administratorRole.Name });
BannerPictureUrl = "/images/usersmedia/HutopyProfile/banners/banner01.png",
ProfilePictureUrl = "/images/usersmedia/HutopyProfile/profilepictures/profileHutopyProfile01.png"
}
});
}
private async Task AddDefaultCreator(ApplicationUser hutopy)
{
if (userManager.Users.All(u => u.UserName != hutopy.UserName))
{
await userManager.CreateAsync(hutopy, "Test123!");
await userManager.AddToRolesAsync(hutopy, new[] { Roles.Creator });
}
}
}