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.Entities.Club;
|
||||||
using CMSMicroservice.Domain.Enums;
|
using CMSMicroservice.Domain.Enums;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Polly;
|
using Polly;
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ public class ChatikaAccountActivationJob
|
|||||||
{
|
{
|
||||||
private readonly IApplicationDbContext _context;
|
private readonly IApplicationDbContext _context;
|
||||||
private readonly IChatikaApiService _chatikaApiService;
|
private readonly IChatikaApiService _chatikaApiService;
|
||||||
|
private readonly IConfiguration _configuration;
|
||||||
private readonly ILogger<ChatikaAccountActivationJob> _logger;
|
private readonly ILogger<ChatikaAccountActivationJob> _logger;
|
||||||
private readonly ResiliencePipeline _retryPipeline;
|
private readonly ResiliencePipeline _retryPipeline;
|
||||||
|
|
||||||
@@ -32,10 +34,12 @@ public class ChatikaAccountActivationJob
|
|||||||
public ChatikaAccountActivationJob(
|
public ChatikaAccountActivationJob(
|
||||||
IApplicationDbContext context,
|
IApplicationDbContext context,
|
||||||
IChatikaApiService chatikaApiService,
|
IChatikaApiService chatikaApiService,
|
||||||
|
IConfiguration configuration,
|
||||||
ILogger<ChatikaAccountActivationJob> logger)
|
ILogger<ChatikaAccountActivationJob> logger)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_chatikaApiService = chatikaApiService;
|
_chatikaApiService = chatikaApiService;
|
||||||
|
_configuration = configuration;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
|
||||||
// Polly Retry: 3 تلاش با فاصله نمایی
|
// Polly Retry: 3 تلاش با فاصله نمایی
|
||||||
@@ -63,6 +67,14 @@ public class ChatikaAccountActivationJob
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task ExecuteAsync(CancellationToken cancellationToken = default)
|
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();
|
var executionId = Guid.NewGuid();
|
||||||
_logger.LogInformation(
|
_logger.LogInformation(
|
||||||
"🚀 [{ExecutionId}] Starting Chatika account activation job",
|
"🚀 [{ExecutionId}] Starting Chatika account activation job",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"JwtAudience": "https://localhost",
|
"JwtAudience": "https://localhost",
|
||||||
"JwtExpiryInDays": 5,
|
"JwtExpiryInDays": 5,
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnection": "Data Source=185.252.31.42,2019; Initial Catalog=KBS;User ID=afrino;Password=87zH26nbqT%;Connection Timeout=300000;MultipleActiveResultSets=True;Encrypt=False",
|
"DefaultConnection": "Data Source=45.149.79.127,31433; Initial Catalog=KBS;User ID=sa;Password=YourStrong@Passw0rd;Connection Timeout=300000;MultipleActiveResultSets=True;Encrypt=False",
|
||||||
"providerName": "System.Data.SqlClient"
|
"providerName": "System.Data.SqlClient"
|
||||||
},
|
},
|
||||||
"Otp": {
|
"Otp": {
|
||||||
@@ -51,6 +51,7 @@
|
|||||||
"CacheDurationMinutes": 20
|
"CacheDurationMinutes": 20
|
||||||
},
|
},
|
||||||
"Chatika": {
|
"Chatika": {
|
||||||
|
"Enabled": false,
|
||||||
"BaseUrl": "https://api.chatika.ir",
|
"BaseUrl": "https://api.chatika.ir",
|
||||||
"ApiKey": "tIukvL8dnV4cB3yVWcCD9Xyfbj8rBxm5wPt2mLyJCgTsBBoMTWjt6mFEqQwpw-er"
|
"ApiKey": "tIukvL8dnV4cB3yVWcCD9Xyfbj8rBxm5wPt2mLyJCgTsBBoMTWjt6mFEqQwpw-er"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user