BCards/src/BCards.Web/Services/IDowngradeService.cs
Ricardo Carneiro 5d70ba797a
All checks were successful
BCards Deployment Pipeline / Run Tests (push) Successful in 11s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 11m22s
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Has been skipped
BCards Deployment Pipeline / Deploy to Release Swarm (ARM) (push) Successful in 1m42s
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 1s
feat: ajustes para downgrade
2025-10-05 21:57:50 -03:00

32 lines
1000 B
C#

using BCards.Web.Models;
using BCards.Web.ViewModels;
namespace BCards.Web.Services;
public interface IDowngradeService
{
/// <summary>
/// Analisa o impacto de um downgrade para um usuário
/// </summary>
Task<DowngradeAnalysis> AnalyzeDowngradeImpact(string userId, PlanType newPlan);
/// <summary>
/// Processa automaticamente um downgrade, suspendendo páginas necessárias
/// </summary>
Task<DowngradeResult> ProcessAutomaticDowngrade(string userId, PlanType newPlan);
/// <summary>
/// Reativa páginas suspensas por limite quando há upgrade
/// </summary>
Task<DowngradeResult> ProcessAutomaticUpgrade(string userId, PlanType newPlan);
/// <summary>
/// Detecta se uma mudança de plano é um downgrade
/// </summary>
bool IsDowngrade(PlanType oldPlan, PlanType newPlan);
/// <summary>
/// Detecta se uma mudança de plano é um upgrade
/// </summary>
bool IsUpgrade(PlanType oldPlan, PlanType newPlan);
}