using File = Quality.Storage.Api.Database.Models.File; namespace Quality.Storage.Api.Database; using File = File; public class AppDatabase(DbContextOptions options) : DbContext(options) { public DbSet Users { get; set; } public DbSet Files { get; set; } public DbSet Folders { get; set; } public DbSet Permissions { get; set; } public DbSet PermissionGroups { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(e => { e.ToTable("users"); }); modelBuilder.Entity(e => { e.HasMany(c => c.Permissions); e.HasOne(c => c.Folder); e.ToTable("files"); }); modelBuilder.Entity(e => { e.HasMany(c => c.Files); e.HasMany(c => c.Permissions); e.HasOne(c => c.Parent); e.ToTable("folders"); }); modelBuilder.Entity(e => { e.HasMany(c => c.Users); e.ToTable("permission_groups"); }); modelBuilder.Entity(e => { e.HasOne(c => c.Group); e.ToTable("permissions"); }); base.OnModelCreating(modelBuilder); } }