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
32 lines
1000 B
C#
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);
|
|
} |