|
|
|
@ -2,7 +2,6 @@
|
|
|
|
using System.Text.Json;
|
|
|
|
using System.Text.Json;
|
|
|
|
using Expedience.Api.Encryption;
|
|
|
|
using Expedience.Api.Encryption;
|
|
|
|
using Expedience.Infrastructure;
|
|
|
|
using Expedience.Infrastructure;
|
|
|
|
using Expedience.Infrastructure.Concurrency;
|
|
|
|
|
|
|
|
using MassTransit;
|
|
|
|
using MassTransit;
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
@ -16,19 +15,16 @@ namespace Expedience.Api.Controllers
|
|
|
|
private readonly ILogger<ExpedienceController> _logger;
|
|
|
|
private readonly ILogger<ExpedienceController> _logger;
|
|
|
|
private readonly IPublishEndpoint _publisher;
|
|
|
|
private readonly IPublishEndpoint _publisher;
|
|
|
|
private readonly IDecryptor _decrypytor;
|
|
|
|
private readonly IDecryptor _decrypytor;
|
|
|
|
private readonly IDistributedLock _distributedLock;
|
|
|
|
|
|
|
|
private readonly IServiceScopeFactory _serviceScopeFactory;
|
|
|
|
private readonly IServiceScopeFactory _serviceScopeFactory;
|
|
|
|
|
|
|
|
|
|
|
|
public ExpedienceController(ILogger<ExpedienceController> logger,
|
|
|
|
public ExpedienceController(ILogger<ExpedienceController> logger,
|
|
|
|
IPublishEndpoint publisher,
|
|
|
|
IPublishEndpoint publisher,
|
|
|
|
IDecryptor decrypytor,
|
|
|
|
IDecryptor decrypytor,
|
|
|
|
IDistributedLock distributedLock,
|
|
|
|
|
|
|
|
IServiceScopeFactory serviceScopeFactory)
|
|
|
|
IServiceScopeFactory serviceScopeFactory)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_logger = logger;
|
|
|
|
_logger = logger;
|
|
|
|
_publisher = publisher;
|
|
|
|
_publisher = publisher;
|
|
|
|
_decrypytor = decrypytor;
|
|
|
|
_decrypytor = decrypytor;
|
|
|
|
_distributedLock = distributedLock;
|
|
|
|
|
|
|
|
_serviceScopeFactory = serviceScopeFactory;
|
|
|
|
_serviceScopeFactory = serviceScopeFactory;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -54,6 +50,25 @@ namespace Expedience.Api.Controllers
|
|
|
|
return Ok();
|
|
|
|
return Ok();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet("DutyCompletionRecords/{expac}")]
|
|
|
|
|
|
|
|
public async Task<ActionResult> GetDutyCompletionRecords(string expac, CancellationToken cancellationToken)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
try
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
using var scope = _serviceScopeFactory.CreateScope();
|
|
|
|
|
|
|
|
using var repository = scope.ServiceProvider.GetService<IRepository>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var results = repository.GetDutyCompletionRecords(expac, CancellationToken.None);
|
|
|
|
|
|
|
|
return Ok(results);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_logger.LogError(ex, "Error getting Duty Completion Records for {expac}: {errorMessage}", expac, ex.Message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Ok();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet("UserName/{worldId}/{userHash}")]
|
|
|
|
[HttpGet("UserName/{worldId}/{userHash}")]
|
|
|
|
public async Task<ActionResult> GetUserName(int worldId, string userHash, CancellationToken cancellationToken)
|
|
|
|
public async Task<ActionResult> GetUserName(int worldId, string userHash, CancellationToken cancellationToken)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|