using Microsoft.EntityFrameworkCore;
using Tiku.Domain.Import;
using Tiku.Domain.Platform;

namespace Tiku.Infrastructure.Persistence;

public sealed partial class TikuDbContext
{
    public DbSet<SaasFeature> SaasFeatures => Set<SaasFeature>();
    public DbSet<PermissionModule> PermissionModules => Set<PermissionModule>();
    public DbSet<SaasOffering> SaasOfferings => Set<SaasOffering>();
    public DbSet<SaasOfferingVersion> SaasOfferingVersions => Set<SaasOfferingVersion>();
    public DbSet<SaasOfferingVersionFeature> SaasOfferingVersionFeatures => Set<SaasOfferingVersionFeature>();
    public DbSet<SaasFeatureLimitDefinition> SaasFeatureLimitDefinitions => Set<SaasFeatureLimitDefinition>();
    public DbSet<SaasOfferingVersionLimit> SaasOfferingVersionLimits => Set<SaasOfferingVersionLimit>();
    public DbSet<TenantSaasSubscription> TenantSaasSubscriptions => Set<TenantSaasSubscription>();
    public DbSet<TenantSaasSubscriptionItem> TenantSaasSubscriptionItems => Set<TenantSaasSubscriptionItem>();
    public DbSet<TenantFeatureOverride> TenantFeatureOverrides => Set<TenantFeatureOverride>();
    public DbSet<TenantFeatureUsage> TenantFeatureUsages => Set<TenantFeatureUsage>();
    public DbSet<PlatformBillingQuote> PlatformBillingQuotes => Set<PlatformBillingQuote>();
    public DbSet<PlatformBillingQuoteItem> PlatformBillingQuoteItems => Set<PlatformBillingQuoteItem>();
    public DbSet<PlatformBillingOrder> PlatformBillingOrders => Set<PlatformBillingOrder>();
    public DbSet<PlatformBillingOrderItem> PlatformBillingOrderItems => Set<PlatformBillingOrderItem>();
    public DbSet<PlatformBillingPayment> PlatformBillingPayments => Set<PlatformBillingPayment>();
    public DbSet<PlatformBillingPaymentEvent> PlatformBillingPaymentEvents => Set<PlatformBillingPaymentEvent>();
    public DbSet<PlatformBillingRefund> PlatformBillingRefunds => Set<PlatformBillingRefund>();
    public DbSet<PlatformBillingInvoice> PlatformBillingInvoices => Set<PlatformBillingInvoice>();
    public DbSet<PocketBaseImportRun> PocketBaseImportRuns => Set<PocketBaseImportRun>();
    public DbSet<PocketBaseRawRecord> PocketBaseRawRecords => Set<PocketBaseRawRecord>();
    public DbSet<PocketBaseImportIssue> PocketBaseImportIssues => Set<PocketBaseImportIssue>();
}