using DysonNetwork.Common.Models; using DysonNetwork.Sphere.Realm; using DysonNetwork.Sphere.Sticker; using DysonNetwork.Sphere.Connection; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Configuration; namespace DysonNetwork.Sphere.Data; public class AppDatabase : DbContext { private readonly IConfiguration _configuration; public AppDatabase(DbContextOptions options, IConfiguration configuration) : base(options) { _configuration = configuration; } public DbSet Files { get; set; } = null!; public DbSet FileReferences { get; set; } = null!; public DbSet Publishers { get; set; } = null!; public DbSet PublisherFeatures { get; set; } = null!; public DbSet Posts { get; set; } = null!; public DbSet PostReactions { get; set; } = null!; public DbSet PostTags { get; set; } = null!; public DbSet PostCategories { get; set; } = null!; public DbSet PostCollections { get; set; } = null!; public DbSet Realms { get; set; } = null!; public DbSet RealmMembers { get; set; } = null!; public DbSet Tags { get; set; } = null!; public DbSet RealmTags { get; set; } = null!; public DbSet ChatRooms { get; set; } = null!; public DbSet ChatMembers { get; set; } = null!; public DbSet ChatMessages { get; set; } = null!; public DbSet ChatRealtimeCall { get; set; } = null!; public DbSet ChatReactions { get; set; } = null!; public DbSet Stickers { get; set; } = null!; public DbSet StickerPacks { get; set; } = null!; public DbSet Wallets { get; set; } = null!; public DbSet WalletPockets { get; set; } = null!; public DbSet PaymentOrders { get; set; } = null!; public DbSet PaymentTransactions { get; set; } = null!; public DbSet CustomApps { get; set; } = null!; public DbSet CustomAppSecrets { get; set; } = null!; public DbSet WalletSubscriptions { get; set; } = null!; // TODO: Fix Connection type - no Connection class found in DysonNetwork.Sphere.Connection // public DbSet Connections { get; set; } = null!; // public DbSet Followers { get; set; } = null!; protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // Configure the database schema and relationships here // This will be moved from the original AppDatabase class } }