Added Authorization

This commit is contained in:
t.ruspekhofer 2022-02-22 01:06:41 +01:00
parent 04049f31f6
commit e47d6488c2
15 changed files with 134 additions and 21 deletions

21
Lieb/Data/Constants.cs Normal file
View file

@ -0,0 +1,21 @@
namespace Lieb.Data
{
public static class Constants
{
public const string ClaimType = "Role";
public static class Roles
{
public const string User = "User";
public const string RaidLead = "RaidLead";
public const string GuildLead = "GuildLead";
public const string Admin = "Admin";
public static List<string> GetAllRoles()
{
return typeof(Roles).GetFields().Select(f => f.GetValue(f)).Cast<string>().ToList();
}
}
}
}

View file

@ -7,19 +7,27 @@ namespace Lieb.Data
public static void Initialize(LiebContext context)
{
// Look for any students.
if (context.Users.Any())
if (context.LiebUsers.Any())
{
return; // DB has been seeded
}
UserRole admin = new UserRole();
admin.RoleName = Constants.Roles.Admin;
UserRole guildLead = new UserRole();
guildLead.RoleName = Constants.Roles.GuildLead;
UserRole member = new UserRole();
member.RoleName = Constants.Roles.User;
var users = new LiebUser[]
{
new LiebUser{DiscordUserId=0, Name="Sarah",Birthday=DateTime.Parse("1992-01-15")},
new LiebUser{DiscordUserId=0, Name="Lisa",Birthday=DateTime.Parse("1991-02-15")},
new LiebUser{DiscordUserId=0, Name="Simon",Birthday=DateTime.Parse("2019-09-01")}
new LiebUser{DiscordUserId=0, Name="Sarah",Birthday=DateTime.Parse("1992-01-15"), Roles=new List<UserRole>(){admin}},
new LiebUser{DiscordUserId=1, Name="Lisa",Birthday=DateTime.Parse("1991-02-15"), Roles=new List<UserRole>(){guildLead} },
new LiebUser{DiscordUserId=2, Name="Simon",Birthday=DateTime.Parse("2019-09-01"), Roles=new List<UserRole>(){member}}
};
context.Users.AddRange(users);
context.LiebUsers.AddRange(users);
context.SaveChanges();
}

View file

@ -13,7 +13,8 @@ namespace Lieb.Data
{
}
public DbSet<LiebUser> Users { get; set; }
public DbSet<LiebUser> LiebUsers { get; set; }
public DbSet<UserRole> UserRoles { get; set; }
public DbSet<GuildWars2Account> GuildWars2Account { get; set; }
public DbSet<Equipped> Equipped { get; set; }
public DbSet<GuildWars2Build> RaidRoles { get; set; }
@ -27,6 +28,7 @@ namespace Lieb.Data
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<LiebUser>().ToTable("LiebUser");
modelBuilder.Entity<UserRole>().ToTable("UserRole");
modelBuilder.Entity<GuildWars2Account>().ToTable("GuildWars2Account");
modelBuilder.Entity<Equipped>().ToTable("Equipped");
modelBuilder.Entity<GuildWars2Build>().ToTable("GuildWars2Build");