| | 1 | | using Microsoft.AspNetCore.Identity; |
| | 2 | | using MUNity.Database.Models.User; |
| | 3 | | using System; |
| | 4 | | using System.Collections.Generic; |
| | 5 | | using System.Linq; |
| | 6 | | using System.Text; |
| | 7 | | using System.Threading.Tasks; |
| | 8 | |
|
| | 9 | | namespace MUNity.Database.Extensions |
| | 10 | | { |
| | 11 | | public static class UserManagerExtension |
| | 12 | | { |
| | 13 | | public static async Task<(IdentityResult Result, MunityUser User)> CreateShadowUser(this UserManager<MunityUser> |
| 1 | 14 | | { |
| 1 | 15 | | var virtualUser = new MunityUser() |
| 1 | 16 | | { |
| 1 | 17 | | Email = mail, |
| 1 | 18 | | UserName = "v-" + Util.IdGenerator.RandomString(6), // possibility of collission: 1/26^6 = 1/308.915.7 |
| 1 | 19 | | IsShadowUser = true, |
| 1 | 20 | | Forename = "-", |
| 1 | 21 | | Lastname = "-", |
| 1 | 22 | | InviteSecret = Util.IdGenerator.RandomString(32) // 1,9 * 10^45 |
| 1 | 23 | | }; |
| 1 | 24 | | var result = await userManager.CreateAsync(virtualUser); |
| | 25 | |
|
| 1 | 26 | | return (result, virtualUser); |
| 1 | 27 | | } |
| | 28 | | } |
| | 29 | | } |