Adds arps as creator

This commit is contained in:
Jonathan Bourdon
2024-08-04 04:05:36 -04:00
parent 68ef947e26
commit 2276128c4e
3 changed files with 49 additions and 12 deletions

View File

@@ -5,7 +5,7 @@ namespace Hutopy.Web.Features.Contents.Data;
public class Creator public class Creator
{ {
public Guid Id { get; set; } public Guid Id { get; set; }
public Guid CreatedBy { get; init; } public Guid CreatedBy { get; set; }
public DateTimeOffset CreatedAt { get; init; } public DateTimeOffset CreatedAt { get; init; }
[MaxLength(255)] public string Name { get; set; } = null!; [MaxLength(255)] public string Name { get; set; } = null!;

View File

@@ -36,12 +36,16 @@ public class GetCreatorByAliasHandler(
GetCreatorByAliasRequest req, GetCreatorByAliasRequest req,
CancellationToken ct) CancellationToken ct)
{ {
var creatorName = req.Name.ToLower();
var creator = await context var creator = await context
.Creators .Creators
.SingleOrDefaultAsync( .SingleOrDefaultAsync(
c => EF.Functions.Like(c.Name, req.Name), c => EF.Functions.Like(c.Name, creatorName),
cancellationToken: ct); cancellationToken: ct);
var creators = await context.Creators.ToListAsync(cancellationToken: ct);
if (creator is null) await SendNotFoundAsync(ct); if (creator is null) await SendNotFoundAsync(ct);
else await SendAsync(creator, cancellation: ct); else await SendAsync(creator, cancellation: ct);
} }

View File

@@ -34,15 +34,19 @@ internal class TestDataSeeder(
{ {
if (contentContext.Contents.Any()) return; if (contentContext.Contents.Any()) return;
_users.Add(await CreateUserAsync("admin", Roles.Administrator)); _users.Add(await CreateUserAsync("admin", null, Roles.Administrator));
_users.Add(await CreateUserAsync("userA")); _users.Add(await CreateUserAsync("userA", null));
_users.Add(await CreateUserAsync("userB")); _users.Add(await CreateUserAsync("userB", null));
foreach (var creator in _creators) foreach (var creator in _creators)
{ {
var creatorUser = await CreateUserAsync(creator.Name, Roles.Creator); var creatorUser = await CreateUserAsync(
creator.Name,
creator.StoredDataUrls.ProfilePictureUrl,
Roles.Creator);
creator.Id = creatorUser.Id; creator.Id = creatorUser.Id;
creator.CreatedBy = creator.Id;
await contentContext.Creators.AddAsync(creator); await contentContext.Creators.AddAsync(creator);
@@ -151,7 +155,7 @@ internal class TestDataSeeder(
return replies; return replies;
} }
private async Task<ApplicationUser> CreateUserAsync(string name, params string[] roles) private async Task<ApplicationUser> CreateUserAsync(string name, string? portraitUrl, params string[] roles)
{ {
var user = new ApplicationUser var user = new ApplicationUser
{ {
@@ -160,7 +164,8 @@ internal class TestDataSeeder(
EmailConfirmed = true, EmailConfirmed = true,
Alias = name, Alias = name,
FirstName = $"FirstName of {name}", FirstName = $"FirstName of {name}",
LastName = $"LastName of {name}" LastName = $"LastName of {name}",
PortraitUrl = portraitUrl
}; };
await userManager.CreateAsync(user, DefaultPassword); await userManager.CreateAsync(user, DefaultPassword);
@@ -200,8 +205,36 @@ internal class TestDataSeeder(
} }
}; };
private readonly static Creator ArpsCreator = new()
{
Name = "Arps",
About =
new()
{
Title = "Page officielle",
Description = "Site officiel pour Arps. Venez-nous-y retrouver avec tous vos fans!",
},
ProfileColors =
new() { BannerTop = "#231F20", BannerBottom = "#231F20", Accent = "#272526", Menu = "#FFFFFF" },
SocialNetworks = new()
{
FacebookUrl = "https://www.facebook.com/arps.company",
InstagramUrl = "https://www.instagram.com/arps.co/",
YoutubeUrl = "https://www.youtube.com/channel/UCgnT_psydUXohYm5Yz_wFUg",
TikTokUrl = "https://www.tiktok.com/@arps.co",
LinkedInUrl = "https://www.linkedin.com/in/mickael-simard-96079a90/",
WebsiteUrl = "https://www.arps.ca/"
},
StoredDataUrls = new()
{
BannerPictureUrl = "/images/usersmedia/ARPS/banners/bannerARPS01.png",
ProfilePictureUrl = "/images/usersmedia/ARPS/profilepictures/profileARPS.png"
}
};
private readonly Creator[] _creators = private readonly Creator[] _creators =
[ [
HutopyCreator HutopyCreator,
ArpsCreator
]; ];
} }