|
| 1 | +using System.Security.Claims; |
1 | 2 | using Chirp.Infrastructure.Model;
|
| 3 | +using Microsoft.AspNetCore.Identity; |
| 4 | +using Microsoft.Extensions.DependencyInjection; |
2 | 5 |
|
3 | 6 | namespace Chirp.Infrastructure;
|
4 | 7 |
|
5 | 8 | public static class DbInitializer
|
6 | 9 | {
|
7 |
| - public static void SeedDatabase(ChirpDBContext chirpContext) |
| 10 | + public static async void SeedDatabase(ChirpDBContext chirpContext, IServiceProvider serviceProvider) |
8 | 11 | {
|
9 | 12 | if (!(chirpContext.Authors.Any() && chirpContext.Cheeps.Any()))
|
10 | 13 | {
|
11 |
| - var a1 = new Author() { Id = 1, Name = "Roger Histand", Email = "Roger+Histand@hotmail.com", Cheeps = new List<Cheep>() }; |
12 |
| - var a2 = new Author() { Id = 2, Name = "Luanna Muro", Email = "Luanna-Muro@ku.dk", Cheeps = new List<Cheep>() }; |
13 |
| - var a3 = new Author() { Id = 3, Name = "Wendell Ballan", Email = "Wendell-Ballan@gmail.com", Cheeps = new List<Cheep>() }; |
14 |
| - var a4 = new Author() { Id = 4, Name = "Nathan Sirmon", Email = "Nathan+Sirmon@dtu.dk", Cheeps = new List<Cheep>() }; |
15 |
| - var a5 = new Author() { Id = 5, Name = "Quintin Sitts", Email = "Quintin+Sitts@itu.dk", Cheeps = new List<Cheep>() }; |
16 |
| - var a6 = new Author() { Id = 6, Name = "Mellie Yost", Email = "Mellie+Yost@ku.dk", Cheeps = new List<Cheep>() }; |
17 |
| - var a7 = new Author() { Id = 7, Name = "Malcolm Janski", Email = "Malcolm-Janski@gmail.com", Cheeps = new List<Cheep>() }; |
18 |
| - var a8 = new Author() { Id = 8, Name = "Octavio Wagganer", Email = "Octavio.Wagganer@dtu.dk", Cheeps = new List<Cheep>() }; |
19 |
| - var a9 = new Author() { Id = 9, Name = "Johnnie Calixto", Email = "Johnnie+Calixto@itu.dk", Cheeps = new List<Cheep>() }; |
20 |
| - var a10 = new Author() { Id = 10, Name = "Jacqualine Gilcoine", Email = "Jacqualine.Gilcoine@gmail.com", Cheeps = new List<Cheep>() }; |
21 |
| - var a11 = new Author() { Id = 11, Name = "Helge", Email = "ropf@itu.dk", Cheeps = new List<Cheep>() }; |
22 |
| - var a12 = new Author() { Id = 12, Name = "Adrian", Email = "adho@itu.dk", Cheeps = new List<Cheep>() }; |
| 14 | + var a1 = new Author() { Id = "1", Name = "Roger Histand", Email = "Roger+Histand@hotmail.com", Cheeps = new List<Cheep>() }; |
| 15 | + var a2 = new Author() { Id = "2", Name = "Luanna Muro", Email = "Luanna-Muro@ku.dk", Cheeps = new List<Cheep>() }; |
| 16 | + var a3 = new Author() { Id = "3", Name = "Wendell Ballan", Email = "Wendell-Ballan@gmail.com", Cheeps = new List<Cheep>() }; |
| 17 | + var a4 = new Author() { Id = "4", Name = "Nathan Sirmon", Email = "Nathan+Sirmon@dtu.dk", Cheeps = new List<Cheep>() }; |
| 18 | + var a5 = new Author() { Id = "5", Name = "Quintin Sitts", Email = "Quintin+Sitts@itu.dk", Cheeps = new List<Cheep>() }; |
| 19 | + var a6 = new Author() { Id = "6", Name = "Mellie Yost", Email = "Mellie+Yost@ku.dk", Cheeps = new List<Cheep>() }; |
| 20 | + var a7 = new Author() { Id = "7", Name = "Malcolm Janski", Email = "Malcolm-Janski@gmail.com", Cheeps = new List<Cheep>() }; |
| 21 | + var a8 = new Author() { Id = "8", Name = "Octavio Wagganer", Email = "Octavio.Wagganer@dtu.dk", Cheeps = new List<Cheep>() }; |
| 22 | + var a9 = new Author() { Id = "9", Name = "Johnnie Calixto", Email = "Johnnie+Calixto@itu.dk", Cheeps = new List<Cheep>() }; |
| 23 | + var a10 = new Author() { Id = "10", Name = "Jacqualine Gilcoine", Email = "Jacqualine.Gilcoine@gmail.com", Cheeps = new List<Cheep>() }; |
23 | 24 |
|
24 |
| - var authors = new List<Author>() { a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12 }; |
| 25 | + var userManager = serviceProvider.GetRequiredService<UserManager<Author>>(); |
| 26 | + var a11 = new Author {UserName = "ropf@itu.dk", Email = "ropf@itu.dk", Cheeps = new List<Cheep>(), Name = "Helge"}; |
| 27 | + var a12 = new Author {UserName = "adho@itu.dk", Email = "adho@itu.dk", Cheeps = new List<Cheep>(), Name = "Adrian"}; |
| 28 | + a11.EmailConfirmed = true; |
| 29 | + a12.EmailConfirmed = true; |
| 30 | + await userManager.CreateAsync(a11, "LetM31n!"); |
| 31 | + await userManager.CreateAsync(a12, "M32Want_Access"); |
| 32 | + |
| 33 | + var claim11 = new Claim("UserName", a11.Name); |
| 34 | + var claim12 = new Claim("UserName", a12.Name); |
| 35 | + await userManager.AddClaimAsync(a11, claim11); |
| 36 | + await userManager.AddClaimAsync(a12, claim12); |
| 37 | + var authors = new List<Author>() { a1, a2, a3, a4, a5, a6, a7, a8, a9, a10}; |
25 | 38 |
|
26 | 39 | var c1 = new Cheep() { Id = 1, Author = a10, Message = "They were married in Chicago, with old Smith, and was expected aboard every day; meantime, the two went past me.", TimeStamp = DateTime.Parse("2023-08-01 13:14:37") };
|
27 | 40 | var c2 = new Cheep() { Id = 2, Author = a10, Message = "And then, as he listened to all that''s left o'' twenty-one people.", TimeStamp = DateTime.Parse("2023-08-01 13:15:21") };
|
|
0 commit comments