Add project files

This commit is contained in:
2025-10-04 13:27:29 +03:00
parent 75eba696c9
commit cc53824229
46 changed files with 3328 additions and 7 deletions

View File

@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Identity;
using T120B165_ImgBoard.Models;
namespace T120B165_ImgBoard.Data;
public static class DbInitializer
{
public static async Task SeedRolesAsync(IServiceProvider serviceProvider)
{
var roleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
string[] roleNames = [UserRoles.Admin, UserRoles.Regular];
foreach (var roleName in roleNames)
{
if (!await roleManager.RoleExistsAsync(roleName))
{
await roleManager.CreateAsync(new IdentityRole(roleName));
}
}
}
}

View File

@@ -0,0 +1,29 @@
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using T120B165_ImgBoard.Models;
using File = T120B165_ImgBoard.Models.File;
namespace T120B165_ImgBoard.Data;
public class ImgBoardContext(DbContextOptions<ImgBoardContext> options) : IdentityDbContext<User>(options)
{
public DbSet<RefreshToken> RefreshTokens { get; set; }
public DbSet<Tag> Tags { get; set; }
public DbSet<Post> Posts { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<File> Files { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<RefreshToken>().ToTable("RefreshTokens");
modelBuilder.Entity<Tag>().ToTable("Tags");
modelBuilder.Entity<Post>().ToTable("Posts");
modelBuilder.Entity<File>().ToTable("Files");
modelBuilder.Entity<Comment>().ToTable("Comments");
}
}