feat: add configuration option to enable/disable Chatika integration
This commit is contained in:
@@ -2,6 +2,7 @@ using CMSMicroservice.Application.Common.Interfaces;
|
||||
using CMSMicroservice.Domain.Entities.Club;
|
||||
using CMSMicroservice.Domain.Enums;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Polly;
|
||||
|
||||
@@ -15,6 +16,7 @@ public class ChatikaAccountActivationJob
|
||||
{
|
||||
private readonly IApplicationDbContext _context;
|
||||
private readonly IChatikaApiService _chatikaApiService;
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly ILogger<ChatikaAccountActivationJob> _logger;
|
||||
private readonly ResiliencePipeline _retryPipeline;
|
||||
|
||||
@@ -32,10 +34,12 @@ public class ChatikaAccountActivationJob
|
||||
public ChatikaAccountActivationJob(
|
||||
IApplicationDbContext context,
|
||||
IChatikaApiService chatikaApiService,
|
||||
IConfiguration configuration,
|
||||
ILogger<ChatikaAccountActivationJob> logger)
|
||||
{
|
||||
_context = context;
|
||||
_chatikaApiService = chatikaApiService;
|
||||
_configuration = configuration;
|
||||
_logger = logger;
|
||||
|
||||
// Polly Retry: 3 تلاش با فاصله نمایی
|
||||
@@ -63,6 +67,14 @@ public class ChatikaAccountActivationJob
|
||||
/// </summary>
|
||||
public async Task ExecuteAsync(CancellationToken cancellationToken = default)
|
||||
{
|
||||
// Check if Chatika integration is enabled
|
||||
var enabled = _configuration.GetValue<bool>("Chatika:Enabled");
|
||||
if (!enabled)
|
||||
{
|
||||
_logger.LogDebug("Chatika integration is disabled (Chatika:Enabled = false). Skipping job.");
|
||||
return;
|
||||
}
|
||||
|
||||
var executionId = Guid.NewGuid();
|
||||
_logger.LogInformation(
|
||||
"🚀 [{ExecutionId}] Starting Chatika account activation job",
|
||||
|
||||
Reference in New Issue
Block a user