using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using PnvPanel.Domain.Activation; using PnvPanel.Domain.Apps; using PnvPanel.Domain.Audit; using PnvPanel.Domain.Billing; using PnvPanel.Domain.Configs; using PnvPanel.Domain.Inbounds; using PnvPanel.Domain.Instructions; using PnvPanel.Domain.News; using PnvPanel.Domain.Nodes; using PnvPanel.Domain.Pricing; using PnvPanel.Domain.Support; using PnvPanel.Domain.Telegram; namespace PnvPanel.Application.Common.Interfaces; public interface IAppDbContext { DbSet ActivationRequests { get; } DbSet AuditLogs { get; } DbSet TelegramLinkTokens { get; } DbSet TelegramLoginRequests { get; } DbSet Nodes { get; } DbSet Inbounds { get; } DbSet VpnConfigs { get; } DbSet TrafficSamples { get; } DbSet ClientApps { get; } DbSet NewsPosts { get; } DbSet SupportTickets { get; } DbSet TicketComments { get; } DbSet TicketAttachments { get; } DbSet InstructionIntros { get; } DbSet InstructionTabs { get; } DbSet PricingSettings { get; } DbSet PricingDiscountTiers { get; } DbSet BillingSettings { get; } DbSet PaymentRequests { get; } /// Нужен для advisory-lock при проверке квоты конфигов (см. CreateVpnConfigCommandHandler). DatabaseFacade Database { get; } Task SaveChangesAsync(CancellationToken cancellationToken); }