250501 커밋
This commit is contained in:
@@ -1,163 +0,0 @@
|
||||
namespace BrokerTest.Controllers;
|
||||
|
||||
using System.Net;
|
||||
using System.Net.Http.Json;
|
||||
using System.Text.Json;
|
||||
|
||||
using BrokerCore.ApiModels;
|
||||
using Helper;
|
||||
using Xunit;
|
||||
|
||||
public class AccountControllerTests
|
||||
{
|
||||
private readonly BrokerTestServer m_server = new BrokerTestServer();
|
||||
|
||||
[Fact]
|
||||
public async Task initializeAsync()
|
||||
{
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Login_ValidRequest_ReturnsOkWithLoginResponse()
|
||||
{
|
||||
// Arrange
|
||||
const string validToken = "valid_web_portal_token";
|
||||
const string userGuid = "test_user_guid";
|
||||
const string nickname = "test_nickname";
|
||||
|
||||
var client = m_server.getTestClient();
|
||||
Assert.NotNull(client);
|
||||
var request = new LoginRequest { WebPortalToken = validToken };
|
||||
// Act
|
||||
var response = await client.PostAsJsonAsync("/api/v1/account/login", request);
|
||||
|
||||
// Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
||||
// ReadFromJsonAsync 사용 시, 올바른 options 주입
|
||||
var login_response = await response.Content.ReadFromJsonAsync<LoginResponse>();
|
||||
|
||||
Assert.NotNull(login_response);
|
||||
Assert.Equal(userGuid, login_response.UserGuid);
|
||||
Assert.Equal(nickname, login_response.Nickname);
|
||||
|
||||
// mockUserAuthService.Verify(m => m.authByWebPortalToken(validToken), Times.Once); //정확히 한번 호출되었는지 확인
|
||||
// mockUserAuthService.VerifyGet(x=>x.UserGuid, Times.AtLeastOnce); //최소 한번 호출되었는지 확인
|
||||
// mockUserAuthService.VerifyGet(x=>x.Nickname, Times.AtLeastOnce);
|
||||
}
|
||||
|
||||
// [Fact]
|
||||
// public async Task Login_InvalidRequest_EmptyToken_ReturnsBadRequest()
|
||||
// {
|
||||
// // Arrange
|
||||
// var client = _factory.CreateClient();
|
||||
// var request = new LoginRequest { WebPortalToken = "" }; // Empty token
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/account/login", request);
|
||||
//
|
||||
// // Assert
|
||||
// Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
|
||||
//
|
||||
// //응답 내용 확인 (선택)
|
||||
// var errorResponse = await response.Content.ReadFromJsonAsync<ApiErrorResponse>(_jsonOptions);
|
||||
// Assert.NotNull(errorResponse);
|
||||
// Assert.Equal((int)ServerErrorCode.InvalidRequest, errorResponse.Code);
|
||||
// Assert.Contains("WebPortalToken does not exist", errorResponse.Message);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public async Task Login_InvalidRequest_NullToken_ReturnsBadRequest()
|
||||
// {
|
||||
// // Arrange
|
||||
// var client = _factory.CreateClient();
|
||||
// var request = new LoginRequest { WebPortalToken = null }; // null token
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/account/login", request);
|
||||
//
|
||||
//
|
||||
// // Assert
|
||||
// Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
|
||||
//
|
||||
// //응답 내용 확인 (선택)
|
||||
// var errorResponse = await response.Content.ReadFromJsonAsync<ApiErrorResponse>(_jsonOptions);
|
||||
// Assert.NotNull(errorResponse);
|
||||
// Assert.Equal((int)ServerErrorCode.InvalidRequest, errorResponse.Code);
|
||||
// Assert.Contains("WebPortalToken does not exist", errorResponse.Message);
|
||||
// }
|
||||
// [Fact]
|
||||
// public async Task Login_InvalidRequest_NullRequest_ReturnsBadRequest()
|
||||
// {
|
||||
// // Arrange
|
||||
// var client = _factory.CreateClient();
|
||||
// LoginRequest? request = null; // Null request
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/account/login", request);
|
||||
//
|
||||
// // Assert
|
||||
// Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
|
||||
//
|
||||
// //응답 내용 확인 (선택)
|
||||
// var errorResponse = await response.Content.ReadFromJsonAsync<ApiErrorResponse>(_jsonOptions);
|
||||
// Assert.NotNull(errorResponse);
|
||||
// Assert.Equal((int)ServerErrorCode.InvalidRequest, errorResponse.Code);
|
||||
// Assert.Contains("Request is empty", errorResponse.Message);
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public async Task Login_AuthServiceReturnsFail_ReturnsBadRequest()
|
||||
// {
|
||||
// // Arrange
|
||||
// const string invalidToken = "invalid_token";
|
||||
//
|
||||
// // Mock UserAuthService
|
||||
// var mockUserAuthService = new Mock<UserAuthService>(MockBehavior.Strict, null, null,null,null,null);
|
||||
// mockUserAuthService.Setup(m => m.authByWebPortalToken(invalidToken))
|
||||
// .ReturnsAsync(Result.Fail(ServerErrorCode.InvalidToken, "Invalid token"));
|
||||
//
|
||||
//
|
||||
// var client = _factory.WithWebHostBuilder(builder =>
|
||||
// {
|
||||
// builder.ConfigureTestServices(services =>
|
||||
// {
|
||||
// services.AddScoped<UserAuthService>(_ => mockUserAuthService.Object);
|
||||
// });
|
||||
// }).CreateClient();
|
||||
//
|
||||
//
|
||||
// var request = new LoginRequest { WebPortalToken = invalidToken };
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/account/login", request);
|
||||
//
|
||||
// // Assert
|
||||
// Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
|
||||
// var errorResponse = await response.Content.ReadFromJsonAsync<ApiErrorResponse>(_jsonOptions);
|
||||
// Assert.NotNull(errorResponse);
|
||||
// Assert.Equal((int)ServerErrorCode.InvalidToken, errorResponse.Code);
|
||||
// Assert.Equal("Invalid token", errorResponse.Message);
|
||||
//
|
||||
// mockUserAuthService.Verify(m=>m.authByWebPortalToken(invalidToken), Times.Once);
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public async Task Dummy_ValidRequest_ReturnsOk()
|
||||
// {
|
||||
// // Arrange
|
||||
// var client = _factory.CreateClient();
|
||||
// var request = new DummyRequest { Dummy = "test" };
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/account/dummy", request);
|
||||
//
|
||||
// // Assert
|
||||
// Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
// var dummyResponse = await response.Content.ReadFromJsonAsync<DummyResponse>();
|
||||
// Assert.NotNull(dummyResponse);
|
||||
// Assert.Equal("test", dummyResponse.Dummy);
|
||||
// }
|
||||
}
|
||||
@@ -1,17 +1,8 @@
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net.Http.Json;
|
||||
using System.Security.Claims;
|
||||
using System.Text.Json;
|
||||
|
||||
using BrokerCore.ApiModels;
|
||||
using BrokerCore.Common;
|
||||
using BrokerCore.DbEntity;
|
||||
using BrokerCore.Services;
|
||||
|
||||
using System.Net.Http.Json;
|
||||
using BrokerApiCore;
|
||||
using BrokerTest.Helper;
|
||||
|
||||
namespace BrokerTest.Controllers;
|
||||
|
||||
public class CurrencyControllerTests
|
||||
{
|
||||
private readonly BrokerTestServer m_server = new BrokerTestServer();
|
||||
|
||||
@@ -1,16 +1,10 @@
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net.Http.Json;
|
||||
using System.Security.Claims;
|
||||
using System.Text.Json;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
using BrokerCore.ApiModels;
|
||||
using BrokerCore.Common;
|
||||
using BrokerCore.DbEntity;
|
||||
using BrokerCore.Services;
|
||||
using BrokerApiCore;
|
||||
|
||||
using BrokerTest.Helper;
|
||||
using BrokerApiServer;
|
||||
|
||||
namespace BrokerTest.Controllers;
|
||||
namespace BrokerTest;
|
||||
|
||||
public class DevCurrencyControllerTests
|
||||
{
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
// using System.Net;
|
||||
// using System.Net.Http.Json;
|
||||
//
|
||||
// using BrokerCore.ApiModels;
|
||||
// using BrokerCore.DbEntity;
|
||||
//
|
||||
// using BrokerTest.Helper;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// using Xunit.Abstractions;
|
||||
//
|
||||
// namespace BrokerTest.Controllers;
|
||||
//
|
||||
// public class DevPlanetUserControllerTests : IAsyncLifetime
|
||||
// {
|
||||
// private readonly ITestOutputHelper m_test_output_helper;
|
||||
// const string m_planet_id = "new_earth";
|
||||
// const string m_planet_secret_key = "A8h$KmP3sWxZqL5vYnR7uTgBdEjHkMlQoT1wXzCv";
|
||||
// const string m_user_guid = "1052b08b52ef4d69a27ee1f40911a72f";
|
||||
// private string m_planet_token = string.Empty;
|
||||
// const string m_remote_server_url = "https://dev.planethub.caliverse.io:12000";
|
||||
// private readonly MetaTableTestHelper m_meta_table_test_helper = new();
|
||||
//
|
||||
// private readonly IBrokerTestServer m_server = new BrokerTestRemoteServer(m_remote_server_url);
|
||||
//
|
||||
// public DevPlanetUserControllerTests(ITestOutputHelper testOutputHelper)
|
||||
// {
|
||||
// m_test_output_helper = testOutputHelper;
|
||||
// }
|
||||
//
|
||||
// private HttpClient getTestClient()
|
||||
// {
|
||||
// var client = m_server.getTestClient();
|
||||
// if (m_planet_token != string.Empty)
|
||||
// {
|
||||
// client.DefaultRequestHeaders.Add("Authorization", $"Bearer {m_planet_token}");
|
||||
// }
|
||||
//
|
||||
// return client;
|
||||
// }
|
||||
//
|
||||
// private HttpClient getTestClientWithBearer()
|
||||
// {
|
||||
// var client = m_server.getTestClient();
|
||||
// if (m_planet_token != string.Empty)
|
||||
// {
|
||||
// client.DefaultRequestHeaders.Add("Authorization", $"Bearer {m_planet_token}");
|
||||
// }
|
||||
//
|
||||
// return client;
|
||||
// }
|
||||
//
|
||||
// public async Task InitializeAsync()
|
||||
// {
|
||||
// m_meta_table_test_helper.load();
|
||||
//
|
||||
// // Arrange
|
||||
// var client = getTestClient();
|
||||
// var request = new PlanetAuthRequest { PlanetId = m_planet_id, PlanetSecretKey = m_planet_secret_key };
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/planet/auth", request);
|
||||
//
|
||||
// // Assert
|
||||
// response.EnsureSuccessStatusCode();
|
||||
// var response_body = await response.Content.ReadFromJsonAsync<PlanetAuthResponse>();
|
||||
// Assert.NotNull(response_body);
|
||||
// Assert.NotEmpty(response_body.AccessToken);
|
||||
// m_planet_token = response_body.AccessToken;
|
||||
// }
|
||||
//
|
||||
// public async Task DisposeAsync()
|
||||
// {
|
||||
// await Task.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// private bool checkError(HttpResponseMessage responseMessage)
|
||||
// {
|
||||
// if (responseMessage.StatusCode != HttpStatusCode.OK)
|
||||
// {
|
||||
// var error_body = responseMessage.Content.ReadFromJsonAsync<ApiErrorResponse>().Result;
|
||||
// Assert.NotNull(error_body);
|
||||
// m_test_output_helper.WriteLine(error_body.ErrorMessage ?? string.Empty);
|
||||
// Assert.True(false);
|
||||
// }
|
||||
//
|
||||
// return true;
|
||||
// }
|
||||
//
|
||||
// [Fact(DisplayName = "아이템 교환 주문 컨트롤러 테스트 모든 Meta")]
|
||||
// public async Task allMetaTests()
|
||||
// {
|
||||
// var meta = m_meta_table_test_helper.getMetaTableRef();
|
||||
// var meta_tuples = meta.MetaTable.PlanetItemExchangePolicyMetaTable.PlanetItemExchangePolicyDataList
|
||||
// .Select(x =>
|
||||
// string.Equals(x.CaliverseItemType, CaliverseItemType.Currency.ToString(),
|
||||
// StringComparison.CurrentCultureIgnoreCase)
|
||||
// ? (x.ID, Random.Shared.Next(10, 201))
|
||||
// : (x.ID, 1));
|
||||
// foreach (var meta_tuple in meta_tuples)
|
||||
// {
|
||||
// await orderTest(meta_tuple.Item1, meta_tuple.Item2);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private async Task orderTest(string metaId, int metaAmount)
|
||||
// {
|
||||
// string order_id;
|
||||
// {
|
||||
// // Arrange
|
||||
// var request_uri = "/api/v1/planet/user/exchange/order/create";
|
||||
// var client = getTestClientWithBearer();
|
||||
// var exchange_request = new PlanetItemExchangeRequest
|
||||
// {
|
||||
// SeasonId = "TEST_SEASON_ID",
|
||||
// UserGuid = m_user_guid, ExchangeMetaId = metaId, ExchangeMetaAmount = metaAmount,
|
||||
// };
|
||||
//
|
||||
// // Act
|
||||
// var exchange_response = await client.PostAsJsonAsync(request_uri, exchange_request);
|
||||
//
|
||||
// // Assert
|
||||
// checkError(exchange_response);
|
||||
// var exchange_response_body =
|
||||
// await exchange_response.Content.ReadFromJsonAsync<PlanetItemExchangeResponse>();
|
||||
// Assert.NotNull(exchange_response_body);
|
||||
// Assert.NotNull(exchange_response_body.ExchangeOrder.OrderId);
|
||||
// order_id = exchange_response_body.ExchangeOrder.OrderId;
|
||||
// }
|
||||
// {
|
||||
// // Arrange
|
||||
// var request_uri = "/api/v1/planet/user/exchange/order/list";
|
||||
// var client = getTestClientWithBearer();
|
||||
// var list_request = new PlanetItemExchangeOrderListRequest
|
||||
// {
|
||||
// UserGuid = m_user_guid, Option = FindOption.All, ExchangeMetaId = metaId,
|
||||
// };
|
||||
//
|
||||
// // Act
|
||||
// var list_response = await client.PostAsJsonAsync(request_uri, list_request);
|
||||
// checkError(list_response);
|
||||
//
|
||||
// // Assert
|
||||
// list_response.EnsureSuccessStatusCode();
|
||||
// var list_response_body =
|
||||
// await list_response.Content.ReadFromJsonAsync<PlanetItemExchangeOrderListResponse>();
|
||||
// Assert.NotNull(list_response_body);
|
||||
// Assert.NotNull(list_response_body.Orders);
|
||||
//
|
||||
// var order = list_response_body.Orders.FirstOrDefault(x => x.OrderId == order_id);
|
||||
// Assert.NotNull(order);
|
||||
// Assert.Equal(ExchangeOrderStatus.Pending, order.OrderStatus);
|
||||
// }
|
||||
// {
|
||||
// // Arrange
|
||||
// var request_uri = "/api/v1/planet/user/exchange/order/complete";
|
||||
// var client = getTestClientWithBearer();
|
||||
//
|
||||
// // Act
|
||||
// var complete_request = new PlanetItemExchangeCompleteRequest
|
||||
// {
|
||||
// UserGuid = m_user_guid, ExchangeOrderId = order_id
|
||||
// };
|
||||
// var complete_response =
|
||||
// await client.PostAsJsonAsync(request_uri, complete_request);
|
||||
// checkError(complete_response);
|
||||
//
|
||||
// // Assert
|
||||
// complete_response.EnsureSuccessStatusCode();
|
||||
// var complete_response_body =
|
||||
// await complete_response.Content.ReadFromJsonAsync<PlanetItemExchangeResponse>();
|
||||
// Assert.NotNull(complete_response_body);
|
||||
// Assert.NotNull(complete_response_body.ExchangeOrder);
|
||||
// Assert.Equal(order_id, complete_response_body.ExchangeOrder.OrderId);
|
||||
// Assert.Equal(ExchangeOrderStatus.Completed, complete_response_body.ExchangeOrder.OrderStatus);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -1,16 +1,14 @@
|
||||
namespace BrokerTest.Controllers;
|
||||
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net.Http.Json;
|
||||
using System.Security.Claims;
|
||||
using System.Text.Json;
|
||||
using BrokerCore.ApiModels;
|
||||
using BrokerCore.Common;
|
||||
using BrokerCore.Services;
|
||||
using Helper;
|
||||
using Xunit;
|
||||
|
||||
using BrokerApiCore;
|
||||
|
||||
using BrokerApiServer;
|
||||
using BrokerTest.Helper;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class PlanetControllerTests
|
||||
{
|
||||
private readonly BrokerTestServer m_server = new();
|
||||
@@ -49,40 +47,4 @@ public class PlanetControllerTests
|
||||
Assert.NotNull(auth_response.AccessToken);
|
||||
Assert.NotEqual(auth_response.AccessToken, string.Empty);
|
||||
}
|
||||
|
||||
// [Fact]
|
||||
// public async Task Auth_InvalidRequest_EmptyPlanetId_ReturnsBadRequest()
|
||||
// {
|
||||
// // Arrange
|
||||
// var client = m_server.getTestClient();
|
||||
// var request = new PlanetAuthRequest { PlanetId = "", PlanetSecretKey = "test_secret_key" };
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/planet/auth", request);
|
||||
//
|
||||
// // Assert
|
||||
// Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
|
||||
// var error_response = await response.Content.ReadFromJsonAsync<ApiErrorResponse>(m_json_options);
|
||||
// Assert.NotNull(error_response);
|
||||
// Assert.Equal((int)ServerErrorCode.InvalidRequest, error_response.Code);
|
||||
// Assert.Contains("planet id is required", error_response.Message);
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public async Task Auth_InvalidRequest_NullPlanetSecretKey_ReturnsBadRequest()
|
||||
// {
|
||||
// // Arrange
|
||||
// var client = m_server.getTestClient();
|
||||
// var request = new PlanetAuthRequest { PlanetId = "test_planet_id", PlanetSecretKey = null };
|
||||
//
|
||||
// // Act
|
||||
// var response = await client.PostAsJsonAsync("/api/v1/planet/auth", request);
|
||||
//
|
||||
// // Assert
|
||||
// Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
|
||||
// var error_response = await response.Content.ReadFromJsonAsync<ApiErrorResponse>(m_json_options);
|
||||
// Assert.NotNull(error_response);
|
||||
// Assert.Equal((int)ServerErrorCode.InvalidRequest, error_response.Code);
|
||||
// Assert.Contains("planet access key is required", error_response.Message);
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
using System.Net;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
using BrokerCore.ApiModels;
|
||||
using BrokerCore.DbEntity;
|
||||
using BrokerApiCore;
|
||||
|
||||
using BrokerApiServer;
|
||||
|
||||
using BrokerTest.Helper;
|
||||
|
||||
@@ -10,8 +11,7 @@ using ServerCommon;
|
||||
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace BrokerTest.Controllers;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class PlanetUserControllerTests : IAsyncLifetime
|
||||
{
|
||||
private readonly ITestOutputHelper m_test_output_helper;
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
using System.Net;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
using BrokerCore.ApiModels;
|
||||
using BrokerCore.DbEntity;
|
||||
using BrokerApiCore;
|
||||
|
||||
using BrokerTest.Helper;
|
||||
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
using ServerCommon;
|
||||
using ServerCore;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace BrokerTest.Controllers;
|
||||
|
||||
using BrokerApiServer;
|
||||
using BrokerTest.Helper;
|
||||
namespace BrokerTest;
|
||||
public class QaPlanetUserControllerTests : IAsyncLifetime
|
||||
{
|
||||
private readonly ITestOutputHelper m_test_output_helper;
|
||||
|
||||
@@ -1,115 +0,0 @@
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net;
|
||||
using System.Net.Http.Json;
|
||||
using System.Security.Claims;
|
||||
using System.Text.Json;
|
||||
|
||||
using BrokerCore.ApiModels;
|
||||
using BrokerCore.Common;
|
||||
using BrokerCore.DbEntity;
|
||||
using BrokerCore.Services;
|
||||
|
||||
using BrokerTest.Helper;
|
||||
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace BrokerTest.Controllers;
|
||||
|
||||
public class QaCurrencyControllerTests
|
||||
{
|
||||
private readonly ITestOutputHelper m_test_output_helper;
|
||||
|
||||
public QaCurrencyControllerTests(ITestOutputHelper testOutputHelper)
|
||||
{
|
||||
m_test_output_helper = testOutputHelper;
|
||||
}
|
||||
// private readonly BrokerTestServer m_server = new BrokerTestServer();
|
||||
|
||||
public HttpClient getTestClient()
|
||||
{
|
||||
return new HttpClient { BaseAddress = new Uri("https://qa.planethub.caliverse.io:12000") };
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task initializeAsync()
|
||||
{
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Auth_ValidRequest_ReturnsOkWithAccessToken()
|
||||
{
|
||||
// Arrange
|
||||
const string planet_id = "new_earth";
|
||||
const string planet_secret_key = "A8h$KmP3sWxZqL5vYnR7uTgBdEjHkMlQoT1wXzCv";
|
||||
var planet_token = string.Empty;
|
||||
var order_id = string.Empty;
|
||||
{
|
||||
var client = getTestClient();
|
||||
var request = new PlanetAuthRequest { PlanetId = planet_id, PlanetSecretKey = planet_secret_key };
|
||||
|
||||
// Act
|
||||
var response = await client.PostAsJsonAsync("/api/v1/planet/auth", request);
|
||||
|
||||
// Assert
|
||||
response.EnsureSuccessStatusCode();
|
||||
var response_body = await response.Content.ReadFromJsonAsync<PlanetAuthResponse>();
|
||||
Assert.NotNull(response_body);
|
||||
planet_token = response_body.AccessToken;
|
||||
}
|
||||
{
|
||||
var client = getTestClient();
|
||||
var request = new ExchangeOrderRequest
|
||||
{
|
||||
UserGuid = "1052b08b52ef4d69a27ee1f40911a72f", Sapphire = 10, Emerald = 10
|
||||
};
|
||||
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {planet_token}");
|
||||
var response = await client.PostAsJsonAsync("/api/v1/exchange/order/create", request);
|
||||
if (response.StatusCode == HttpStatusCode.BadRequest)
|
||||
{
|
||||
var response_body_error = await response.Content.ReadFromJsonAsync<ApiErrorResponse>();
|
||||
Assert.NotNull(response_body_error);
|
||||
m_test_output_helper.WriteLine(response_body_error.ErrorMessage);
|
||||
// Assert.Contains("Insufficient balance", response_body_error);
|
||||
return;
|
||||
}
|
||||
response.EnsureSuccessStatusCode();
|
||||
var response_body = await response.Content.ReadFromJsonAsync<ExchangeOrderResponse>();
|
||||
Assert.NotNull(response_body);
|
||||
Assert.NotNull(response_body.OrderId);
|
||||
order_id = response_body.OrderId;
|
||||
// Assert
|
||||
}
|
||||
|
||||
//UserGuid:1052b08b52ef4d69a27ee1f40911a72f
|
||||
{
|
||||
var client = getTestClient();
|
||||
var request = new ExchangeOrderListRequest
|
||||
{
|
||||
UserGuid = "1052b08b52ef4d69a27ee1f40911a72f", Option = FindOption.All
|
||||
};
|
||||
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {planet_token}");
|
||||
var response = await client.PostAsJsonAsync("/api/v1/exchange/order/list", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
var response_body = await response.Content.ReadFromJsonAsync<ExchangeOrderListResponse>();
|
||||
Assert.NotNull(response_body);
|
||||
Assert.NotNull(response_body.Orders);
|
||||
// Assert
|
||||
}
|
||||
|
||||
{
|
||||
var client = getTestClient();
|
||||
var request =
|
||||
new ExchangeOrderCompleteRequest { UserGuid = "1052b08b52ef4d69a27ee1f40911a72f", OrderId = order_id };
|
||||
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {planet_token}");
|
||||
var response = await client.PostAsJsonAsync("/api/v1/exchange/order/complete", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
var response_body = await response.Content.ReadFromJsonAsync<ExchangeOrderCompleteResponse>();
|
||||
Assert.NotNull(response_body);
|
||||
Assert.NotNull(response_body.OrderId);
|
||||
Assert.Equal(order_id, response_body.OrderId);
|
||||
Assert.Equal(ExchangeOrderStatus.Completed, response_body.Status);
|
||||
// Assert
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,17 @@
|
||||
using System.Net;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
using BrokerCore.ApiModels;
|
||||
using BrokerCore.DbEntity;
|
||||
using BrokerApiCore;
|
||||
|
||||
using BrokerTest.Helper;
|
||||
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
using ServerCommon;
|
||||
using ServerCore;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace BrokerTest.Controllers;
|
||||
using BrokerApiServer;
|
||||
using BrokerTest.Helper;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class StagePlanetUserControllerTests : IAsyncLifetime
|
||||
{
|
||||
private readonly ITestOutputHelper m_test_output_helper;
|
||||
@@ -28,7 +26,7 @@ public class StagePlanetUserControllerTests : IAsyncLifetime
|
||||
private readonly MetaTableTestHelper m_meta_table_test_helper = new();
|
||||
|
||||
// private readonly IBrokerTestServer m_server = new BrokerTestServer();
|
||||
private readonly IBrokerTestServer m_server = new BrokerTestRemoteServer("https://qa.planethub.caliverse.io:12000");
|
||||
private readonly IBrokerTestServer m_server = new BrokerTestRemoteServer("https://stage.planethub.caliverse.io:12000");
|
||||
|
||||
public StagePlanetUserControllerTests(ITestOutputHelper testOutputHelper)
|
||||
{
|
||||
|
||||
@@ -1,123 +1,7 @@
|
||||
using PlatformTest.DbQuery;
|
||||
|
||||
using ServerCommon;
|
||||
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
using USER_GUID = System.String;
|
||||
|
||||
|
||||
// public class DBQUserTest : QueryExecutorBase
|
||||
// {
|
||||
// private string m_combination_key_for_pk = string.Empty;
|
||||
// private string m_combination_key_for_sk = string.Empty;
|
||||
// private UserTestEntity? m_user_test;
|
||||
// private DynamoDbClient m_dynamoDbClient;
|
||||
//
|
||||
// public DBQUserTest(string combinationKeyForPK, string combinationKeyForSK, DynamoDbClient dynamoDbClient)
|
||||
// : base(nameof(DBQUserTest))
|
||||
// {
|
||||
// m_combination_key_for_pk = combinationKeyForPK;
|
||||
// m_combination_key_for_sk = combinationKeyForSK;
|
||||
// m_dynamoDbClient = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// //===================================================================================================
|
||||
// // DB 쿼리 직전에 준비해야 할 로직들을 작성한다.
|
||||
// //===================================================================================================
|
||||
// public override async Task<Result> onPrepareQuery()
|
||||
// {
|
||||
// var result = new Result();
|
||||
//
|
||||
// var user_test = getOwner();
|
||||
// NullReferenceCheckHelper.throwIfNull(user_test, () => "user is null !!!");
|
||||
//
|
||||
// var query_batch = getQueryBatch();
|
||||
// NullReferenceCheckHelper.throwIfNull(query_batch,
|
||||
// () => $"query_batch is null !!! - {user_test.toBasicString()}");
|
||||
//
|
||||
// var db_connector = query_batch.getDynamoDbConnector();
|
||||
// NullReferenceCheckHelper.throwIfNull(db_connector,
|
||||
// () => $"db_connector is null !!! - {user_test.toBasicString()}");
|
||||
//
|
||||
// await DynamoDBDocBaseHelper.makePrimaryKey<UserTestDoc>(m_combination_key_for_pk, m_combination_key_for_sk);
|
||||
//
|
||||
// // var ctxs = new List<DynamoDbDocumentQueryContext>();
|
||||
// //
|
||||
// // (result, var user_doc) = await m_user_test.onCopyToDocument();
|
||||
//
|
||||
//
|
||||
// return Task.FromResult(result);
|
||||
// }
|
||||
//
|
||||
// //===================================================================================================
|
||||
// // onPrepareQuery()를 성공할 경우 호출된다.
|
||||
// //===================================================================================================
|
||||
// public override async Task<Result> onQuery()
|
||||
// {
|
||||
// var result = new Result();
|
||||
// var err_msg = string.Empty;
|
||||
//
|
||||
// var user = getOwner();
|
||||
// NullReferenceCheckHelper.throwIfNull(user, () => "user is null !!!");
|
||||
//
|
||||
// var query_batch = getQueryBatch();
|
||||
// NullReferenceCheckHelper.throwIfNull(query_batch, () => $"query_batch is null !!! - {user.toBasicString()}");
|
||||
//
|
||||
// var db_connector = query_batch.getDynamoDbConnector();
|
||||
//
|
||||
// var user_doc = new UserTestDoc(m_combination_key_for_pk, m_combination_key_for_sk);
|
||||
// var user_test_base = new UserTestEntity(EntityType.None);
|
||||
// var user_test_base_attrib = user_test_base.getEntityAttribute<UserTestEntityAttribute>();
|
||||
// NullReferenceCheckHelper.throwIfNull(user_test_base_attrib, () => $"user_test_base_attrib is null !!!");
|
||||
//
|
||||
// user_test_base_attrib.UserId = m_combination_key_for_pk;
|
||||
// user_test_base_attrib.Name = m_combination_key_for_sk;
|
||||
//
|
||||
// var user_test_base_action = user_test_base.getEntityAction<UserTestInsertAction>();
|
||||
// NullReferenceCheckHelper.throwIfNull(user_test_base_action, () => $"user_test_base_action is null !!!");
|
||||
//
|
||||
// result = await user_test_base_action.tryInsertUser(m_combination_key_for_pk, m_combination_key_for_sk);
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// var query_context = new DynamoDbDocumentQueryContext(user_doc, QueryType.Insert);
|
||||
// await query_batch.addQuery(new QueryExecutorBase("InsertUser")
|
||||
// {
|
||||
// onPrepareQuery = () => Task.FromResult(new Result()),
|
||||
// onQuery = () => Task.FromResult(new Result()),
|
||||
// onQueryResponseCommit = () => Task.CompletedTask,
|
||||
// onQueryResponseRollback = (errorResult) => Task.CompletedTask
|
||||
// });
|
||||
//
|
||||
// var result = await QueryHelper.sendQueryAndBusinessLog(query_batch);
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// //===================================================================================================
|
||||
// // DB 쿼리를 성공하고, doFnCommit()가 QueryResultType.NotCalledQueryFunc를 반환할 경우 호출된다.
|
||||
// //===================================================================================================
|
||||
// public override Task onQueryResponseCommit()
|
||||
// {
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// //===================================================================================================
|
||||
// // DB 쿼리를 실패하고, doFnRollback()가 QueryResultType.NotCalledQueryFunc를 반환할 경우 호출된다.
|
||||
// //===================================================================================================
|
||||
// public override Task onQueryResponseRollback(Result errorResult)
|
||||
// {
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
// }
|
||||
|
||||
namespace BrokerTest;
|
||||
public class UserTestActorLog : ILogActor
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
namespace PlatformTest.DbQuery;
|
||||
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@@ -13,6 +12,7 @@ using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
|
||||
namespace BrokerTest;
|
||||
public class DynamoDbClientTests
|
||||
{
|
||||
private ServerConfig? m_config;
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
namespace PlatformTest.DbQuery;
|
||||
|
||||
using Amazon;
|
||||
using Amazon.DynamoDBv2;
|
||||
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class EntityBaseTests
|
||||
{
|
||||
private readonly DynamoDbClient m_dynamo_db_client;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class UserTestAttrib : AttribBase
|
||||
{
|
||||
[JsonProperty("user_id")]
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
namespace PlatformTest.DbQuery;
|
||||
|
||||
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class UserTestDeleteOneAction : EntityActionBase
|
||||
{
|
||||
public UserTestDeleteOneAction(EntityBase owner) : base(owner)
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
// DynamoDbDocBase는 리파지토리로 이해하면 편할 듯
|
||||
// AttribBase: db에 저장될 데이터
|
||||
namespace BrokerTest;
|
||||
public sealed class UserTestDoc : DynamoDbDocBase
|
||||
{
|
||||
private const string m_prefix_of_pk = "user_test#";
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using PlatformTest.DbQuery;
|
||||
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
|
||||
namespace BrokerTest;
|
||||
// EntityBase: EntityAttribute와 EntityAction을 관리하는 컨테이너
|
||||
public class UserTestEntity : EntityBase, IWithLogActor
|
||||
{
|
||||
|
||||
@@ -4,6 +4,7 @@ using ServerCore; using ServerBase;
|
||||
|
||||
using ThirdParty.Json.LitJson;
|
||||
|
||||
namespace BrokerTest;
|
||||
// EntityAttributeBase를 상속 받은 개체는 메모리에 사용될 내용임
|
||||
// 스토리지에 저장은 UsrTestDoc:DynamoDbDocBase에서 처리함
|
||||
public class UserTestEntityAttribute : EntityAttributeBase
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
using ServerCommon;
|
||||
using BrokerTest;
|
||||
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class UserTestFindOneAction : EntityActionBase
|
||||
{
|
||||
public UserTestFindOneAction(UserTestEntity owner) : base(owner)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class UserTestInsertAction : EntityActionBase
|
||||
{
|
||||
public UserTestInsertAction(EntityBase owner) : base(owner)
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using ServerCommon;
|
||||
using BrokerTest;
|
||||
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
using BrokerCore.Common;
|
||||
using BrokerCore.Entity;
|
||||
using BrokerCore.Entity.Actions;
|
||||
|
||||
using BrokerTest.Helper;
|
||||
|
||||
using BrokerApiCore;
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
@@ -10,10 +7,9 @@ using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
using BrokerApiServer.Extensions;
|
||||
|
||||
namespace BrokerTest.Entity;
|
||||
|
||||
using BrokerApiServer;
|
||||
using BrokerTest.Helper;
|
||||
namespace BrokerTest;
|
||||
public class EntityMailTests : IAsyncLifetime
|
||||
{
|
||||
private readonly IServiceCollection m_services;
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
namespace BrokerTest.Entity;
|
||||
using BrokerApiCore;
|
||||
|
||||
|
||||
using BrokerCore;
|
||||
using BrokerCore.Entity;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
using BrokerApiServer;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class EntityTests
|
||||
{
|
||||
private readonly BrokerServerLogic m_logic;
|
||||
@@ -34,26 +31,6 @@ public class EntityTests
|
||||
m_dynamo_db_client = m_logic.getDynamoDbClient();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task userBaseTest()
|
||||
{
|
||||
// var server_logic = new BrokerServerLogic();
|
||||
// var user = new UserEntity();
|
||||
// var initializers = new Initializers();
|
||||
// initializers.appendInitializer(user);
|
||||
//
|
||||
// foreach (var user_entity in initializers.getInitializers().Cast<UserEntity?>())
|
||||
// {
|
||||
// _ = user_entity?.onInit();
|
||||
// }
|
||||
//
|
||||
// var action = user.getEntityAction<UserLoginAction>();
|
||||
// var result = await action.onInit();
|
||||
// result = await action.login("account_id");
|
||||
// Assert.True(result.isSuccess());
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task userAuthEntityTest()
|
||||
{
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
using BrokerCore.Common;
|
||||
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace BrokerTest.Etc;
|
||||
using BrokerApiCore;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class SecurityKeyTests
|
||||
{
|
||||
// Constructor
|
||||
// public SecurityKeyTests(ILogger<SecurityKeyTests> logger)
|
||||
// {
|
||||
// this.m_logger = logger;
|
||||
// }
|
||||
//
|
||||
// private readonly ILogger<SecurityKeyTests> m_logger;
|
||||
|
||||
// Test method to check if the security key is generated correctly
|
||||
[Fact]
|
||||
public void testSecurityKeyGeneration()
|
||||
{
|
||||
@@ -23,13 +11,4 @@ public class SecurityKeyTests
|
||||
Assert.NotNull(result_hex);
|
||||
Assert.NotEmpty(result_base64);
|
||||
}
|
||||
//
|
||||
// // Test method to check if the security key is valid
|
||||
// [Fact]
|
||||
// public void testSecurityKey()
|
||||
// {
|
||||
// var result_key = Helpers.generateSecureKey();
|
||||
// Assert.NotNull(result_key);
|
||||
// Assert.NotEmpty(result_key);
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -2,22 +2,16 @@
|
||||
|
||||
using NLog.Extensions.Logging;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
namespace BrokerTest.Helper;
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
using BrokerApiServer.Common;
|
||||
using BrokerApiServer.Controllers;
|
||||
using BrokerApiServer.Extensions;
|
||||
|
||||
using CaliGameApi.Middlewares;
|
||||
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
using BrokerApiServer;
|
||||
using BrokerApiServer.Controllers;
|
||||
|
||||
namespace BrokerTest;
|
||||
public interface IBrokerTestServer
|
||||
{
|
||||
HttpClient getTestClient();
|
||||
@@ -86,7 +80,7 @@ public class BrokerTestServer: IBrokerTestServerLocal
|
||||
var assembly = Assembly.GetAssembly(typeof(PlanetUserController));
|
||||
Assert.NotNull(assembly);
|
||||
builder.Services.AddControllers(options => { options.Filters.Add(new ResultExceptionFilter()); })
|
||||
.AddApplicationPart(assembly); // 이유는 모르겠지만 이게 없으면 테스트에서 404 에러 발생 - 컨트롤러가 없음
|
||||
.AddApplicationPart(assembly); // 이게 없으면 테스트에서 404 에러 발생 - 컨트롤러가 없음
|
||||
builder.Services.AddHealthChecks();
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// public class AccountDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public AccountDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, AccountBaseAttrib?)> findAccountBaseAttrib(string accountId)
|
||||
// {
|
||||
// var (result, doc) = await AccountBaseDoc.findUserGuidFromAccountId(m_dynamo_db_client, accountId);
|
||||
// return (result, doc?.getAttrib<AccountBaseAttrib>());
|
||||
// }
|
||||
// }
|
||||
@@ -1,53 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCommon;
|
||||
// using ServerCommon.EchoSystem.Models;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// public class CaliumEventDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public CaliumEventDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// // public async Task<(Result, CaliumEventAttrib?)> createOne(string userGuid)
|
||||
// // {
|
||||
// // var (result_pk, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<CaliumEventDoc>(userGuid);
|
||||
// // if (result_pk.isFail() || primary_key_object == null)
|
||||
// // {
|
||||
// // return (result_pk, null);
|
||||
// // }
|
||||
// //
|
||||
// // var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// // var (result, doc) =
|
||||
// // await m_dynamo_db_client.simpleInsertDocument<CaliumEventDoc>(config);
|
||||
// // var attrib = doc?.getAttrib<CaliumEventAttrib>();
|
||||
// // return (result, attrib);
|
||||
// // }
|
||||
// public async Task<string> createOne(string userGuid, CaliumEventRequest request, bool isRetry)
|
||||
// {
|
||||
// var doc = new CaliumEventDoc(request.m_event_id);
|
||||
// var attrib = doc.getAttrib<CaliumEventAttrib>();
|
||||
// NullReferenceCheckHelper.throwIfNull(attrib, () => $"calium event attrib is null !!! - userGuid[{userGuid}]");
|
||||
//
|
||||
// attrib.UserGuid = userGuid;
|
||||
// attrib.EventData.m_server_type = request.m_server_type;
|
||||
// attrib.EventData.m_event_type = request.m_event_type;
|
||||
// attrib.EventData.m_sub_type = request.m_sub_type;
|
||||
// attrib.EventData.m_div_type = request.m_div_type;
|
||||
// attrib.EventData.m_div_id = request.m_div_id;
|
||||
// attrib.EventData.m_calium_delta = request.m_calium_delta;
|
||||
// attrib.EventData.m_sapphire_delta = request.m_sapphire_delta;
|
||||
// attrib.EventData.m_current_epoch = request.m_current_epoch;
|
||||
// attrib.EventData.m_current_inflation_rate = request.m_current_inflation_rate;
|
||||
// attrib.Status = isRetry ? CaliumEventStatus.Regist : CaliumEventStatus.Failed;
|
||||
//
|
||||
// await m_dynamo_db_client.simpleInsertDocumentWithDocType(doc);
|
||||
// return request.m_event_id;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
@@ -1,28 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// public class CaliumStorageDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public CaliumStorageDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, CaliumStorageAttrib?)> findOne(string userGuid)
|
||||
// {
|
||||
// var (result_pk, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<CaliumStorageDoc>(userGuid);
|
||||
// if (result_pk.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result_pk, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// var (result, doc) =
|
||||
// await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<CaliumStorageDoc>(config);
|
||||
// var attrib = doc?.getAttrib<CaliumStorageAttrib>();
|
||||
// return (result, attrib);
|
||||
// }
|
||||
// }
|
||||
@@ -1,30 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using Common;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// public class CaliumStorageRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public CaliumStorageRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, CaliumStorageAttrib?)> findOne(string userGuid)
|
||||
// {
|
||||
// var (result_pk, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<CaliumStorageDoc>(userGuid);
|
||||
// if (result_pk.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result_pk, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// var (result, doc) =
|
||||
// await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<CaliumStorageDoc>(config);
|
||||
// var attrib = doc?.getAttrib<CaliumStorageAttrib>();
|
||||
// return (result, attrib);
|
||||
// }
|
||||
// }
|
||||
@@ -1,445 +0,0 @@
|
||||
// using Amazon.DynamoDBv2;
|
||||
// using Amazon.DynamoDBv2.Model;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using BrokerApiServer.Common;
|
||||
//
|
||||
// public class BrokerApiLogActor : ILogActor
|
||||
// {
|
||||
// public string getActorGuid() => "broker";
|
||||
// }
|
||||
//
|
||||
// public class BrokerApiWithLogActor : EntityBase, IWithLogActor
|
||||
// {
|
||||
// public readonly EntityType m_entity_type = EntityType.Money;
|
||||
//
|
||||
// public BrokerApiWithLogActor() : base(EntityType.Money)
|
||||
// {
|
||||
// }
|
||||
//
|
||||
// //public BrokerApiWithLogActor(string masterGuid) : base(EntityType.Money, masterGuid)
|
||||
// //{
|
||||
// //}
|
||||
//
|
||||
// public ILogActor toLogActor()
|
||||
// {
|
||||
// return new BrokerApiLogActor();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public class DbqChangeSapphire : QueryExecutorBase
|
||||
// {
|
||||
// private readonly double m_delta;
|
||||
// private PrimaryKey? m_primary_key;
|
||||
// private readonly string m_user_guid;
|
||||
//
|
||||
// public DbqChangeSapphire(string userGuid, double delta) : base(nameof(DbqChangeSapphire))
|
||||
// {
|
||||
// m_delta = delta;
|
||||
// m_user_guid = userGuid;
|
||||
// }
|
||||
//
|
||||
// public override async Task<Result> onPrepareQuery()
|
||||
// {
|
||||
// (var result, m_primary_key) = await DynamoDBDocBaseHelper.makePrimaryKey<MoneyDoc>(m_user_guid);
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// public override async Task<Result> onQuery()
|
||||
// {
|
||||
// var owner = getOwner();
|
||||
//
|
||||
// // 부모 인스턴스의 정보를 사용하여 필요한 데이터를 가져온다. (여기서는 ...)
|
||||
// var query_batch = getQueryBatch() as QueryBatch<QueryRunnerWithItemRequest>;
|
||||
// NullReferenceCheckHelper.throwIfNull(query_batch, () => $"query_batch is null !!! - {owner.toBasicString()}");
|
||||
//
|
||||
// var query_runner_with_item_request = query_batch.getQueryRunner();
|
||||
// NullReferenceCheckHelper.throwIfNull(query_runner_with_item_request,
|
||||
// () => $"query_runner_with_item_request is null !!! - {owner.toBasicString()}");
|
||||
//
|
||||
// var db_connector = query_batch.getDynamoDbConnector();
|
||||
// var (result, update_request) = makeUpdateItemRequest();
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// NullReferenceCheckHelper.throwIfNull(update_request,
|
||||
// () => $"update_request is null !!! - {owner.toBasicString()}");
|
||||
//
|
||||
// var exception_handler = new DynamoDbQueryExceptionNotifier.ExceptionHandler(
|
||||
// DynamoDbQueryExceptionNotifier.ConditionalCheckFailed, ServerErrorCode.LackOfTotalCalium);
|
||||
//
|
||||
// var query_context = update_request.createItemRequestQueryContext(QueryType.Update, exception_handler);
|
||||
// return await query_runner_with_item_request.tryRegisterQueryContext(query_context);
|
||||
// }
|
||||
//
|
||||
// //=====================================================================================
|
||||
// // DB 쿼리를 성공하고, doFnCommit()가 QueryResultType.NotCalledQueryFunc를 반환할 경우 호출된다.
|
||||
// //=====================================================================================
|
||||
// public override Task onQueryResponseCommit()
|
||||
// {
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// //=====================================================================================
|
||||
// // DB 쿼리를 실패하고, doFnRollback()가 QueryResultType.NotCalledQueryFunc를 반환할 경우 호출된다.
|
||||
// //=====================================================================================
|
||||
// public override Task onQueryResponseRollback(Result errorResult)
|
||||
// {
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// private (Result, UpdateItemRequest?) makeUpdateItemRequest()
|
||||
// {
|
||||
// Guard.Against.isNull(m_primary_key, (BrokerApiErrorCode)ServerErrorCode.DynamoDbPrimaryKeyNotFound, "primary key is null");
|
||||
// var attribute_value_with_primary_key = m_primary_key.toKeyWithAttributeValue();
|
||||
//
|
||||
// var currency_name = MoneyAttribExtensions.getKeyNameFromType(CurrencyType.Sapphire);
|
||||
// var result = new Result();
|
||||
// var dynamo_db_client = getQueryBatch()?.getDynamoDbConnector();
|
||||
// NullReferenceCheckHelper.throwIfNull(dynamo_db_client, () => $"dynamo_db_client is null !!!");
|
||||
//
|
||||
// var query_builder = new DynamoDbItemRequestHelper.UpdateItemRequestBuilder(dynamo_db_client.getTableName());
|
||||
// query_builder.withKeys(attribute_value_with_primary_key);
|
||||
//
|
||||
// var target_doc = new MoneyDoc();
|
||||
// var attrib_path_json_string = target_doc.toJsonStringOfAttribs();
|
||||
// var target_key = JsonHelper.getJsonPropertyName<MoneyAttrib>(currency_name);
|
||||
// var (is_success, attribute_expression) =
|
||||
// DynamoDbClientHelper.toAttributeExpressionFromJson(attrib_path_json_string, target_key);
|
||||
// if (false == is_success)
|
||||
// {
|
||||
// var err_msg =
|
||||
// $"Failed to DynamoDbClientHelper.toAttributeExpressionFromJson() !!! : attribPath:{attrib_path_json_string}, targetKey:{target_key}";
|
||||
// result.setFail(ServerErrorCode.AttribPathMakeFailed, err_msg);
|
||||
// Log.getLogger().error(result.toBasicString());
|
||||
//
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// query_builder.withExpressionAttributeNames(
|
||||
// DynamoDbClientHelper.toExpressionAttributeNamesFromJson(attrib_path_json_string, target_key));
|
||||
//
|
||||
// var update_expression = (m_delta >= 0)
|
||||
// ? $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) + :changeValue"
|
||||
// : $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) - :changeValue";
|
||||
// query_builder.withUpdateExpression(update_expression);
|
||||
//
|
||||
// var expression_attribute_values = new Dictionary<string, AttributeValue>
|
||||
// {
|
||||
// { ":changeValue", new AttributeValue { N = Math.Abs(m_delta).ToString() } },
|
||||
// { ":start", new AttributeValue { N = "0" } }
|
||||
// };
|
||||
// query_builder.withExpressionAttributeValues(expression_attribute_values);
|
||||
// query_builder.withReturnValues(ReturnValue.ALL_NEW);
|
||||
// return query_builder.build();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public class MoneyDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public MoneyDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, MoneyDoc?)> findMoneyDoc(string userGuid)
|
||||
// {
|
||||
// var (result, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<MoneyDoc>(userGuid);
|
||||
// if (result.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// return await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<MoneyDoc>(config);
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, MoneyAttrib?)> findMoneyAttrib(string userGuid, CancellationToken cancellationToken)
|
||||
// {
|
||||
// var (result, doc) = await findMoneyDoc(userGuid);
|
||||
// return (result, doc?.getAttrib<MoneyAttrib>());
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, MoneyAttrib?)> changeSapphire(string userGuid, double delta)
|
||||
// {
|
||||
// var (result, make_primary_key) = await DynamoDBDocBaseHelper.makePrimaryKey<MoneyDoc>(userGuid);
|
||||
// // 프라이머리 키 생성 실패
|
||||
// if (result.isFail() || make_primary_key == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// (result, var request) = makeUpdateItemRequest(
|
||||
// make_primary_key.toKeyWithAttributeValue(),
|
||||
// MoneyAttribExtensions.getKeyNameFromType(CurrencyType.Sapphire),
|
||||
// delta);
|
||||
// // 업데이트 쿼리 생성 실패
|
||||
// if (result.isFail() || request == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// (result, var update_doc) = await m_dynamo_db_client.simpleQueryDocTypesWithUpdateItemRequest<MoneyDoc>(request);
|
||||
// // 업데이트 쿼리 실패
|
||||
// if (result.isFail() || update_doc == null) return (result, null);
|
||||
//
|
||||
// var attrib = update_doc.getAttrib<MoneyAttrib>();
|
||||
// // 업데이트 된 문서에서 MoneyAttrib을 찾을 수 없음
|
||||
// if (attrib == null)
|
||||
// {
|
||||
// result.setFail(ServerErrorCode.AttribNotFound, $"attrib is null !!!");
|
||||
// return (result, null);
|
||||
// }
|
||||
// return (result, attrib);
|
||||
// }
|
||||
//
|
||||
// private async Task<Result> sendQuery(QueryBatchBase batch)
|
||||
// {
|
||||
// var result = new Result();
|
||||
// var err_msg = string.Empty;
|
||||
//
|
||||
// if (batch == null)
|
||||
// {
|
||||
// err_msg = $"Failed to sendQuery !!!, QueryBatchBase is null";
|
||||
// result.setFail(ServerErrorCode.FunctionInvalidParam, err_msg);
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// if (false == batch.hasQuery())
|
||||
// {
|
||||
// err_msg = $"Not has DBQuery !!!";
|
||||
// result.setFail(ServerErrorCode.DynamoDbQueryNoRequested, err_msg);
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// result = await batch.prepareQueryWithStopwatch();
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// result = await batch.doQueryWithStopwatch();
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// private (Result, UpdateItemRequest?) makeUpdateItemRequest(
|
||||
// Dictionary<string, AttributeValue> attributeValueWithPrimaryKey
|
||||
// , string targetAttribName
|
||||
// , double deltaCount)
|
||||
// {
|
||||
// var result = new Result();
|
||||
// var query_builder = new DynamoDbItemRequestHelper.UpdateItemRequestBuilder(m_dynamo_db_client.getTableName());
|
||||
// query_builder.withKeys(attributeValueWithPrimaryKey);
|
||||
//
|
||||
// var target_doc = new MoneyDoc();
|
||||
// var attrib_path_json_string = target_doc.toJsonStringOfAttribs();
|
||||
// var target_key = JsonHelper.getJsonPropertyName<MoneyAttrib>(targetAttribName);
|
||||
// var (is_success, attribute_expression) =
|
||||
// DynamoDbClientHelper.toAttributeExpressionFromJson(attrib_path_json_string, target_key);
|
||||
// if (false == is_success)
|
||||
// {
|
||||
// var err_msg =
|
||||
// $"Failed to DynamoDbClientHelper.toAttributeExpressionFromJson() !!! : attribPath:{attrib_path_json_string}, targetKey:{target_key}";
|
||||
// result.setFail(ServerErrorCode.AttribPathMakeFailed, err_msg);
|
||||
// Log.getLogger().error(result.toBasicString());
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// query_builder.withExpressionAttributeNames(
|
||||
// DynamoDbClientHelper.toExpressionAttributeNamesFromJson(attrib_path_json_string, target_key));
|
||||
//
|
||||
// var update_expression = (deltaCount >= 0)
|
||||
// ? $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) + :changeValue"
|
||||
// : $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) - :changeValue";
|
||||
// query_builder.withUpdateExpression(update_expression);
|
||||
//
|
||||
// var expression_attribute_values = new Dictionary<string, AttributeValue>
|
||||
// {
|
||||
// { ":changeValue", new AttributeValue { N = Math.Abs(deltaCount).ToString() } },
|
||||
// { ":start", new AttributeValue { N = "0" } }
|
||||
// };
|
||||
// query_builder.withExpressionAttributeValues(expression_attribute_values);
|
||||
// query_builder.withReturnValues(ReturnValue.ALL_NEW);
|
||||
// return query_builder.build();
|
||||
// }
|
||||
//
|
||||
// // //=============================================================================================
|
||||
// // // delta 만큼 금전을 변경(음수, 양수) 한다.
|
||||
// // //=============================================================================================
|
||||
// // public async Task<Result> changeMoney(CurrencyType currencyType, double delta, bool isTrimExcess = false,
|
||||
// // bool useCaliumEvent = true)
|
||||
// // {
|
||||
// // var result = new Result();
|
||||
// //
|
||||
// // // var owner = getOwner() as Player;
|
||||
// // // NullReferenceCheckHelper.throwIfNull(owner, () => $"player is null !!!");
|
||||
// //
|
||||
// // // if (currencyType == CurrencyType.Beam)
|
||||
// // // {
|
||||
// // // var found_transaction_runner = owner.findTransactionRunner(TransactionIdType.PrivateContents);
|
||||
// // // found_transaction_runner?.addRemoteChargeAIPoint(this, delta);
|
||||
// // // return result;
|
||||
// // // }
|
||||
// //
|
||||
// // result = changeMoneyFromCurrencyType(currencyType, delta, isTrimExcess);
|
||||
// // if (result.isSuccess() && useCaliumEvent)
|
||||
// // {
|
||||
// // var found_transaction_runner = owner.findTransactionRunner(TransactionIdType.PrivateContents);
|
||||
// // var event_name = found_transaction_runner?.getTransactionName() ?? "None";
|
||||
// // found_transaction_runner?.addNotifyCaliumEvent(this, event_name, currencyType, delta);
|
||||
// // }
|
||||
// //
|
||||
// // return await Task.FromResult(result);
|
||||
// // }
|
||||
// //
|
||||
// // private Result changeMoneyFromCurrencyType(CurrencyType type, double delta, bool isTrimExcess = false)
|
||||
// // {
|
||||
// // var result = new Result();
|
||||
// // var err_msg = string.Empty;
|
||||
// //
|
||||
// // // var owner = getOwner() as Player;
|
||||
// // // NullReferenceCheckHelper.throwIfNull(owner, () => $"player is null !!!");
|
||||
// //
|
||||
// // if (MetaData.Instance._CurrencyMetaTableByCurrencyType.TryGetValue(type, out var currencyMetaData) == false)
|
||||
// // {
|
||||
// // // err_msg = $"Not found CurrencyMetaData !!! : currencyType:{type} - {owner.toBasicString()}";
|
||||
// // result.setFail(ServerErrorCode.CurrencyMetaDataNotFound, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// // // var money_attribute = owner.getEntityAttribute<MoneyAttribute>();
|
||||
// // // NullReferenceCheckHelper.throwIfNull(money_attribute,
|
||||
// // // () => $"money_attribute is null !!! - {owner.toBasicString()}");
|
||||
// //
|
||||
// // var currency = money_attribute.getCurrencyFromType(type);
|
||||
// // var change = currency + delta;
|
||||
// // if (change < 0)
|
||||
// // {
|
||||
// // err_msg =
|
||||
// // $"Failed to change getCurrencyFromType() !!!, not enough Money : deltaMoney:{delta}, changeCurrency:{change}, currencyType:{type} - {owner.toBasicString()}";
|
||||
// // result.setFail(ServerErrorCode.MoneyNotEnough, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// // if (change >= currencyMetaData.MaxCount)
|
||||
// // {
|
||||
// // MoneyNotifyHelper.send_GS2C_NTF_CURRENCY_MAX_ALERT(owner, type, currencyMetaData.MaxCount);
|
||||
// //
|
||||
// // if (change > currencyMetaData.MaxCount
|
||||
// // && false == isTrimExcess)
|
||||
// // {
|
||||
// // err_msg =
|
||||
// // $"Money exceeded Max Count !!! : toDelta:{delta}, toChange:{change} <= MaxCount:{currencyMetaData.MaxCount}, currencyType:{type} - {owner.toBasicString()}";
|
||||
// // result.setFail(ServerErrorCode.MoneyMaxCountExceeded, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// // var trim_money = change - currencyMetaData.MaxCount;
|
||||
// // change = double.Min(change, currencyMetaData.MaxCount);
|
||||
// //
|
||||
// // err_msg =
|
||||
// // $"Exceeded MaxCount of Money !!!, Trimming Money : currencyType:{type}, changeMoney:{change}, trimMoney:{trim_money}, deltaMoney:{delta}, maxMoney:{currencyMetaData.MaxCount} - {owner.toBasicString()}";
|
||||
// // Log.getLogger().info(err_msg);
|
||||
// // }
|
||||
// //
|
||||
// // money_attribute.setCurrencyFromType(type, change);
|
||||
// //
|
||||
// // money_attribute.modifiedEntityAttribute();
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// //
|
||||
// // public TransactionRunner? findTransactionRunner(TransactionIdType transactionIdType)
|
||||
// // {
|
||||
// // TransactionRunner? found_transaction_runner = null;
|
||||
// //
|
||||
// // var err_msg = string.Empty;
|
||||
// //
|
||||
// // if (true == hasMasterGuid())
|
||||
// // {
|
||||
// // var master_guid = getMasterGuid();
|
||||
// // var found_master_entity = onGetMasterEntity();
|
||||
// // if(null == found_master_entity)
|
||||
// // {
|
||||
// // return null;
|
||||
// // }
|
||||
// //
|
||||
// // found_transaction_runner = found_master_entity.findTransactionRunner(transactionIdType);
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // if (false == m_transaction_runners.TryGetValue(transactionIdType, out found_transaction_runner))
|
||||
// // {
|
||||
// // return null;
|
||||
// // }
|
||||
// // }
|
||||
// //
|
||||
// // return found_transaction_runner;
|
||||
// // }
|
||||
//
|
||||
// // private (Result, UpdateItemRequest?) makeUpdateItemRequest(
|
||||
// // Dictionary<string, AttributeValue> attributeValueWithPrimaryKey
|
||||
// // , string targetAttribName
|
||||
// // , double deltaCount)
|
||||
// // {
|
||||
// // var result = new Result();
|
||||
// //
|
||||
// // var query_builder = new DynamoDbItemRequestHelper.UpdateItemRequestBuilder(m_dynamo_db_client.getTableName());
|
||||
// // query_builder.withKeys(attributeValueWithPrimaryKey);
|
||||
// //
|
||||
// // var target_doc = new MoneyDoc();
|
||||
// // var attrib_path_json_string = target_doc.toJsonStringOfAttribs();
|
||||
// // var target_key = JsonHelper.getJsonPropertyName<MoneyAttrib>(targetAttribName);
|
||||
// // (var is_success, var attribute_expression) =
|
||||
// // DynamoDbClientHelper.toAttributeExpressionFromJson(attrib_path_json_string, target_key);
|
||||
// // if (false == is_success)
|
||||
// // {
|
||||
// // var err_msg =
|
||||
// // $"Failed to DynamoDbClientHelper.toAttributeExpressionFromJson() !!! : attribPath:{attrib_path_json_string}, targetKey:{target_key}";
|
||||
// // result.setFail(ServerErrorCode.AttribPathMakeFailed, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return (result, null);
|
||||
// // }
|
||||
// //
|
||||
// // query_builder.withExpressionAttributeNames(
|
||||
// // DynamoDbClientHelper.toExpressionAttributeNamesFromJson(attrib_path_json_string, target_key));
|
||||
// //
|
||||
// // var update_expression = (deltaCount >= 0)
|
||||
// // ? $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) + :changeValue"
|
||||
// // : $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) - :changeValue";
|
||||
// // query_builder.withUpdateExpression(update_expression);
|
||||
// //
|
||||
// // var expression_attribute_values = new Dictionary<string, AttributeValue>
|
||||
// // {
|
||||
// // { ":changeValue", new AttributeValue { N = Math.Abs(deltaCount).ToString() } },
|
||||
// // { ":start", new AttributeValue { N = "0" } }
|
||||
// // };
|
||||
// // query_builder.withExpressionAttributeValues(expression_attribute_values);
|
||||
// //
|
||||
// // query_builder.withReturnValues(ReturnValue.ALL_NEW);
|
||||
// //
|
||||
// // return query_builder.build();
|
||||
// // }
|
||||
// }
|
||||
@@ -1,71 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using DbEntity;
|
||||
//
|
||||
// using Microsoft.Extensions.DependencyInjection;
|
||||
// using Microsoft.Extensions.Hosting;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// //==================================================
|
||||
// // 행성 정보 캐시를 갱신한다.
|
||||
// //==================================================
|
||||
// public class PlanetInfoCache : BackgroundService
|
||||
// {
|
||||
// private readonly object m_lock = new();
|
||||
// private IEnumerable<PlanetInfo> m_planets = [];
|
||||
// private readonly IServiceScopeFactory m_scope_factory;
|
||||
//
|
||||
// public PlanetInfoCache(IServiceScopeFactory scopeFactory, IHostApplicationLifetime lifetime)
|
||||
// {
|
||||
// m_scope_factory = scopeFactory;
|
||||
// }
|
||||
//
|
||||
// public IEnumerable<PlanetInfo> Planets
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// lock (m_planets)
|
||||
// {
|
||||
// return m_planets;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
// {
|
||||
// while (!stoppingToken.IsCancellationRequested)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// await updateData();
|
||||
// }
|
||||
// catch (Exception e)
|
||||
// {
|
||||
// Console.WriteLine(e);
|
||||
// throw;
|
||||
// }
|
||||
//
|
||||
// await Task.Delay(TimeSpan.FromSeconds(120), stoppingToken); // 120초마다 데이터 갱신
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private async Task updateData()
|
||||
// {
|
||||
// using var scope = m_scope_factory.CreateScope();
|
||||
// var planet_info_repo = scope.ServiceProvider.GetRequiredService<PlanetInfoRepo>();
|
||||
// var (result, planet_infos) = await planet_info_repo.findAll();
|
||||
// if (result.isFail() || planet_infos == null)
|
||||
// {
|
||||
// Log.getLogger().error("Failed to find planet infos");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// lock (m_lock)
|
||||
// {
|
||||
// m_planets = planet_infos;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -1,67 +0,0 @@
|
||||
// using ServerCommon;
|
||||
//
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// public class UserBaseDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public UserBaseDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// this.m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, UserBaseDoc?)> findUserBaseDoc(string userGuid)
|
||||
// {
|
||||
// var (result, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<UserBaseDoc>(userGuid);
|
||||
// if (result.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// // var (result, user_doc) = await m_dynamoDbClient.simpleQueryDocTypeWithQueryOperationConfig<UserBaseDoc>(config);
|
||||
// return await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<UserBaseDoc>(config);
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, UserBaseAttrib?)> findUserBaseAttrib(string userGuid)
|
||||
// {
|
||||
// var (result, doc) = await findUserBaseDoc(userGuid);
|
||||
// return (result, doc?.getAttrib<UserBaseAttrib>());
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, string)> findNickname(string userGuid)
|
||||
// {
|
||||
// var (result, found_nickname_attrib) = await NicknameDoc.findNicknameFromGuid(m_dynamo_db_client, userGuid);
|
||||
// if(result.isFail())
|
||||
// {
|
||||
// return (result, string.Empty);
|
||||
// }
|
||||
// NullReferenceCheckHelper.throwIfNull(found_nickname_attrib, () => $"found_nickname_attrib is null !!!, userGuid:{userGuid}");
|
||||
// return (result, found_nickname_attrib.Nickname);
|
||||
// }
|
||||
//
|
||||
// //===================================================================================================
|
||||
// // 로그아웃 여부만 체크
|
||||
// // TODO: 레디스 캐시를 이용하여 로그인 여부를 체크하는 것이 더 효율적일 수 있음
|
||||
// //===================================================================================================
|
||||
// public bool isUserLoggedIn(UserBaseAttrib userAttrib)
|
||||
// {
|
||||
// return userAttrib.GameLoginDateTime > userAttrib.GameLogoutDateTime;
|
||||
// }
|
||||
//
|
||||
// // public async Task<Result> insertUserBaseDoc(UserBaseAttrib userAttrib)
|
||||
// // {
|
||||
// // var user_doc = new UserBaseDoc(userAttrib.UserGuid);
|
||||
// // var user_attrib = user_doc.getAttrib<UserBaseAttrib>();
|
||||
// // NullReferenceCheckHelper.throwIfNull(user_attrib, () => $"insertUserBaseDoc : user_attrib is null !!! - {userAttrib.UserGuid}");
|
||||
// // user_attrib.UserGuid = userAttrib.UserGuid;
|
||||
// // user_attrib.AccountId = userAttrib.AccountId;
|
||||
// // user_attrib.EOA = userAttrib.EOA;
|
||||
// // user_attrib.SelectedCharacterGuid = userAttrib.SelectedCharacterGuid;
|
||||
// // user_attrib.IsIntroCompleted = userAttrib.IsIntroCompleted;
|
||||
// // return await m_dynamoDbClient.simpleInsertDocumentWithDocType(user_doc);
|
||||
// // }
|
||||
// }
|
||||
@@ -1,5 +1,6 @@
|
||||
namespace BrokerTest.Helper;
|
||||
using BrokerApiCore;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class MetaTableTestHelper
|
||||
{
|
||||
readonly BrokerApiMetaLoader m_meta_loader = new();
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
using BrokerApiServer.Extensions;
|
||||
using BrokerApiCore;
|
||||
|
||||
using BrokerCore;
|
||||
using BrokerCore.Entity;
|
||||
using BrokerCore.Repository;
|
||||
using BrokerCore.Services;
|
||||
using BrokerApiServer;
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
namespace BrokerTest.Helper;
|
||||
|
||||
namespace BrokerTest;
|
||||
public class TestUserHelper
|
||||
{
|
||||
readonly BrokerServerLogic m_server_logic;
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
// namespace BrokerCore.Common;
|
||||
//
|
||||
// public class ValueResult<TValue>
|
||||
// {
|
||||
// public Result Result { get; init; }
|
||||
// public TValue? Value { get; set; }
|
||||
//
|
||||
// public ValueResult()
|
||||
// {
|
||||
// Result = new Result();
|
||||
// }
|
||||
//
|
||||
// public ValueResult(Result result, TValue? value)
|
||||
// {
|
||||
// Result = result;
|
||||
// Value = value;
|
||||
// }
|
||||
// }
|
||||
@@ -1,17 +1,17 @@
|
||||
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Security.Claims;
|
||||
|
||||
using BrokerApiCore;
|
||||
|
||||
using Xunit.Abstractions;
|
||||
|
||||
using BrokerApiServer;
|
||||
|
||||
namespace BrokerTest.Jwt;
|
||||
//=============================================================================================
|
||||
// Jwt 토큰 생성 및 파싱 기본 라이브러리 사용 테스트
|
||||
//=============================================================================================
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Security.Claims;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
using BrokerCore.Common;
|
||||
using BrokerCore.Services;
|
||||
|
||||
namespace BrokerTest.Jwt;
|
||||
|
||||
public class JwtBasicTests
|
||||
{
|
||||
private readonly ITestOutputHelper m_test_output_helper;
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
// using ServerCommon;
|
||||
// using ServerCore; using ServerBase;
|
||||
// using Services;
|
||||
//
|
||||
// namespace BrokerTest.Jwt;
|
||||
// public class SsoTests
|
||||
// {
|
||||
// private readonly ServerConfig m_server_config;
|
||||
// private readonly string m_web_portal_token_secret;
|
||||
// private readonly string m_account_db;
|
||||
//
|
||||
// public SsoTests()
|
||||
// {
|
||||
// Log.NLogFileName = "./TestConfig/nlog-BrokerApiServer.config";
|
||||
// Log.initLog("BrokerApiServerTest", "Developer");
|
||||
// var path = "./TestConfig/ServerConfig-Local.json";
|
||||
// var full_path = Path.GetFullPath(path);
|
||||
// m_server_config = new ServerConfig();
|
||||
// m_server_config.setConfigFilePath(full_path);
|
||||
// m_server_config.loadConfig();
|
||||
// m_account_db = m_server_config.AccountNftDb;
|
||||
// m_web_portal_token_secret = m_server_config.SsoAccountAuthJwtSecretKey;
|
||||
// }
|
||||
//
|
||||
// private async Task findTestAccount()
|
||||
// {
|
||||
// var sso_account_auth = new WebPortalTokenAuthService(m_account_db, m_web_portal_token_secret);
|
||||
// var result = await sso_account_auth.mysqlAuthWithEmail("tenafter71@gmail.com", 1);
|
||||
// Assert.True(result.isSuccess());
|
||||
// // m_account_id = result.getAccountId();
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public async Task ssoFailTest()
|
||||
// {
|
||||
// var sso_account_auth = new WebPortalTokenAuthService(m_account_db, m_web_portal_token_secret);
|
||||
// var result = await sso_account_auth.mysqlAuthWithEmail("test", 1);
|
||||
// Assert.True(result.isFail());
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public async Task ssoSuccessTest()
|
||||
// {
|
||||
// var sso_account_auth = new WebPortalTokenAuthService(m_account_db, m_web_portal_token_secret);
|
||||
// var result = await sso_account_auth.mysqlAuthWithEmail("test@test.com", 1);
|
||||
// Assert.True(result.isSuccess());
|
||||
// }
|
||||
// }
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace BrokerTest.Services;
|
||||
|
||||
public class ExchangeServiceTests
|
||||
{
|
||||
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// public class AccountDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public AccountDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, AccountBaseAttrib?)> findAccountBaseAttrib(string accountId)
|
||||
// {
|
||||
// var (result, doc) = await AccountBaseDoc.findUserGuidFromAccountId(m_dynamo_db_client, accountId);
|
||||
// return (result, doc?.getAttrib<AccountBaseAttrib>());
|
||||
// }
|
||||
// }
|
||||
@@ -1,53 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCommon;
|
||||
// using ServerCommon.EchoSystem.Models;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// public class CaliumEventDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public CaliumEventDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// // public async Task<(Result, CaliumEventAttrib?)> createOne(string userGuid)
|
||||
// // {
|
||||
// // var (result_pk, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<CaliumEventDoc>(userGuid);
|
||||
// // if (result_pk.isFail() || primary_key_object == null)
|
||||
// // {
|
||||
// // return (result_pk, null);
|
||||
// // }
|
||||
// //
|
||||
// // var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// // var (result, doc) =
|
||||
// // await m_dynamo_db_client.simpleInsertDocument<CaliumEventDoc>(config);
|
||||
// // var attrib = doc?.getAttrib<CaliumEventAttrib>();
|
||||
// // return (result, attrib);
|
||||
// // }
|
||||
// public async Task<string> createOne(string userGuid, CaliumEventRequest request, bool isRetry)
|
||||
// {
|
||||
// var doc = new CaliumEventDoc(request.m_event_id);
|
||||
// var attrib = doc.getAttrib<CaliumEventAttrib>();
|
||||
// NullReferenceCheckHelper.throwIfNull(attrib, () => $"calium event attrib is null !!! - userGuid[{userGuid}]");
|
||||
//
|
||||
// attrib.UserGuid = userGuid;
|
||||
// attrib.EventData.m_server_type = request.m_server_type;
|
||||
// attrib.EventData.m_event_type = request.m_event_type;
|
||||
// attrib.EventData.m_sub_type = request.m_sub_type;
|
||||
// attrib.EventData.m_div_type = request.m_div_type;
|
||||
// attrib.EventData.m_div_id = request.m_div_id;
|
||||
// attrib.EventData.m_calium_delta = request.m_calium_delta;
|
||||
// attrib.EventData.m_sapphire_delta = request.m_sapphire_delta;
|
||||
// attrib.EventData.m_current_epoch = request.m_current_epoch;
|
||||
// attrib.EventData.m_current_inflation_rate = request.m_current_inflation_rate;
|
||||
// attrib.Status = isRetry ? CaliumEventStatus.Regist : CaliumEventStatus.Failed;
|
||||
//
|
||||
// await m_dynamo_db_client.simpleInsertDocumentWithDocType(doc);
|
||||
// return request.m_event_id;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
@@ -1,28 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// public class CaliumStorageDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public CaliumStorageDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, CaliumStorageAttrib?)> findOne(string userGuid)
|
||||
// {
|
||||
// var (result_pk, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<CaliumStorageDoc>(userGuid);
|
||||
// if (result_pk.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result_pk, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// var (result, doc) =
|
||||
// await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<CaliumStorageDoc>(config);
|
||||
// var attrib = doc?.getAttrib<CaliumStorageAttrib>();
|
||||
// return (result, attrib);
|
||||
// }
|
||||
// }
|
||||
@@ -1,30 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using Common;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// public class CaliumStorageRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public CaliumStorageRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, CaliumStorageAttrib?)> findOne(string userGuid)
|
||||
// {
|
||||
// var (result_pk, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<CaliumStorageDoc>(userGuid);
|
||||
// if (result_pk.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result_pk, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// var (result, doc) =
|
||||
// await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<CaliumStorageDoc>(config);
|
||||
// var attrib = doc?.getAttrib<CaliumStorageAttrib>();
|
||||
// return (result, attrib);
|
||||
// }
|
||||
// }
|
||||
@@ -1,445 +0,0 @@
|
||||
// using Amazon.DynamoDBv2;
|
||||
// using Amazon.DynamoDBv2.Model;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using BrokerApiServer.Common;
|
||||
//
|
||||
// public class BrokerApiLogActor : ILogActor
|
||||
// {
|
||||
// public string getActorGuid() => "broker";
|
||||
// }
|
||||
//
|
||||
// public class BrokerApiWithLogActor : EntityBase, IWithLogActor
|
||||
// {
|
||||
// public readonly EntityType m_entity_type = EntityType.Money;
|
||||
//
|
||||
// public BrokerApiWithLogActor() : base(EntityType.Money)
|
||||
// {
|
||||
// }
|
||||
//
|
||||
// //public BrokerApiWithLogActor(string masterGuid) : base(EntityType.Money, masterGuid)
|
||||
// //{
|
||||
// //}
|
||||
//
|
||||
// public ILogActor toLogActor()
|
||||
// {
|
||||
// return new BrokerApiLogActor();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public class DbqChangeSapphire : QueryExecutorBase
|
||||
// {
|
||||
// private readonly double m_delta;
|
||||
// private PrimaryKey? m_primary_key;
|
||||
// private readonly string m_user_guid;
|
||||
//
|
||||
// public DbqChangeSapphire(string userGuid, double delta) : base(nameof(DbqChangeSapphire))
|
||||
// {
|
||||
// m_delta = delta;
|
||||
// m_user_guid = userGuid;
|
||||
// }
|
||||
//
|
||||
// public override async Task<Result> onPrepareQuery()
|
||||
// {
|
||||
// (var result, m_primary_key) = await DynamoDBDocBaseHelper.makePrimaryKey<MoneyDoc>(m_user_guid);
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// public override async Task<Result> onQuery()
|
||||
// {
|
||||
// var owner = getOwner();
|
||||
//
|
||||
// // 부모 인스턴스의 정보를 사용하여 필요한 데이터를 가져온다. (여기서는 ...)
|
||||
// var query_batch = getQueryBatch() as QueryBatch<QueryRunnerWithItemRequest>;
|
||||
// NullReferenceCheckHelper.throwIfNull(query_batch, () => $"query_batch is null !!! - {owner.toBasicString()}");
|
||||
//
|
||||
// var query_runner_with_item_request = query_batch.getQueryRunner();
|
||||
// NullReferenceCheckHelper.throwIfNull(query_runner_with_item_request,
|
||||
// () => $"query_runner_with_item_request is null !!! - {owner.toBasicString()}");
|
||||
//
|
||||
// var db_connector = query_batch.getDynamoDbConnector();
|
||||
// var (result, update_request) = makeUpdateItemRequest();
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// NullReferenceCheckHelper.throwIfNull(update_request,
|
||||
// () => $"update_request is null !!! - {owner.toBasicString()}");
|
||||
//
|
||||
// var exception_handler = new DynamoDbQueryExceptionNotifier.ExceptionHandler(
|
||||
// DynamoDbQueryExceptionNotifier.ConditionalCheckFailed, ServerErrorCode.LackOfTotalCalium);
|
||||
//
|
||||
// var query_context = update_request.createItemRequestQueryContext(QueryType.Update, exception_handler);
|
||||
// return await query_runner_with_item_request.tryRegisterQueryContext(query_context);
|
||||
// }
|
||||
//
|
||||
// //=====================================================================================
|
||||
// // DB 쿼리를 성공하고, doFnCommit()가 QueryResultType.NotCalledQueryFunc를 반환할 경우 호출된다.
|
||||
// //=====================================================================================
|
||||
// public override Task onQueryResponseCommit()
|
||||
// {
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// //=====================================================================================
|
||||
// // DB 쿼리를 실패하고, doFnRollback()가 QueryResultType.NotCalledQueryFunc를 반환할 경우 호출된다.
|
||||
// //=====================================================================================
|
||||
// public override Task onQueryResponseRollback(Result errorResult)
|
||||
// {
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// private (Result, UpdateItemRequest?) makeUpdateItemRequest()
|
||||
// {
|
||||
// Guard.Against.isNull(m_primary_key, (BrokerApiErrorCode)ServerErrorCode.DynamoDbPrimaryKeyNotFound, "primary key is null");
|
||||
// var attribute_value_with_primary_key = m_primary_key.toKeyWithAttributeValue();
|
||||
//
|
||||
// var currency_name = MoneyAttribExtensions.getKeyNameFromType(CurrencyType.Sapphire);
|
||||
// var result = new Result();
|
||||
// var dynamo_db_client = getQueryBatch()?.getDynamoDbConnector();
|
||||
// NullReferenceCheckHelper.throwIfNull(dynamo_db_client, () => $"dynamo_db_client is null !!!");
|
||||
//
|
||||
// var query_builder = new DynamoDbItemRequestHelper.UpdateItemRequestBuilder(dynamo_db_client.getTableName());
|
||||
// query_builder.withKeys(attribute_value_with_primary_key);
|
||||
//
|
||||
// var target_doc = new MoneyDoc();
|
||||
// var attrib_path_json_string = target_doc.toJsonStringOfAttribs();
|
||||
// var target_key = JsonHelper.getJsonPropertyName<MoneyAttrib>(currency_name);
|
||||
// var (is_success, attribute_expression) =
|
||||
// DynamoDbClientHelper.toAttributeExpressionFromJson(attrib_path_json_string, target_key);
|
||||
// if (false == is_success)
|
||||
// {
|
||||
// var err_msg =
|
||||
// $"Failed to DynamoDbClientHelper.toAttributeExpressionFromJson() !!! : attribPath:{attrib_path_json_string}, targetKey:{target_key}";
|
||||
// result.setFail(ServerErrorCode.AttribPathMakeFailed, err_msg);
|
||||
// Log.getLogger().error(result.toBasicString());
|
||||
//
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// query_builder.withExpressionAttributeNames(
|
||||
// DynamoDbClientHelper.toExpressionAttributeNamesFromJson(attrib_path_json_string, target_key));
|
||||
//
|
||||
// var update_expression = (m_delta >= 0)
|
||||
// ? $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) + :changeValue"
|
||||
// : $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) - :changeValue";
|
||||
// query_builder.withUpdateExpression(update_expression);
|
||||
//
|
||||
// var expression_attribute_values = new Dictionary<string, AttributeValue>
|
||||
// {
|
||||
// { ":changeValue", new AttributeValue { N = Math.Abs(m_delta).ToString() } },
|
||||
// { ":start", new AttributeValue { N = "0" } }
|
||||
// };
|
||||
// query_builder.withExpressionAttributeValues(expression_attribute_values);
|
||||
// query_builder.withReturnValues(ReturnValue.ALL_NEW);
|
||||
// return query_builder.build();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public class MoneyDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public MoneyDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, MoneyDoc?)> findMoneyDoc(string userGuid)
|
||||
// {
|
||||
// var (result, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<MoneyDoc>(userGuid);
|
||||
// if (result.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// return await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<MoneyDoc>(config);
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, MoneyAttrib?)> findMoneyAttrib(string userGuid, CancellationToken cancellationToken)
|
||||
// {
|
||||
// var (result, doc) = await findMoneyDoc(userGuid);
|
||||
// return (result, doc?.getAttrib<MoneyAttrib>());
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, MoneyAttrib?)> changeSapphire(string userGuid, double delta)
|
||||
// {
|
||||
// var (result, make_primary_key) = await DynamoDBDocBaseHelper.makePrimaryKey<MoneyDoc>(userGuid);
|
||||
// // 프라이머리 키 생성 실패
|
||||
// if (result.isFail() || make_primary_key == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// (result, var request) = makeUpdateItemRequest(
|
||||
// make_primary_key.toKeyWithAttributeValue(),
|
||||
// MoneyAttribExtensions.getKeyNameFromType(CurrencyType.Sapphire),
|
||||
// delta);
|
||||
// // 업데이트 쿼리 생성 실패
|
||||
// if (result.isFail() || request == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// (result, var update_doc) = await m_dynamo_db_client.simpleQueryDocTypesWithUpdateItemRequest<MoneyDoc>(request);
|
||||
// // 업데이트 쿼리 실패
|
||||
// if (result.isFail() || update_doc == null) return (result, null);
|
||||
//
|
||||
// var attrib = update_doc.getAttrib<MoneyAttrib>();
|
||||
// // 업데이트 된 문서에서 MoneyAttrib을 찾을 수 없음
|
||||
// if (attrib == null)
|
||||
// {
|
||||
// result.setFail(ServerErrorCode.AttribNotFound, $"attrib is null !!!");
|
||||
// return (result, null);
|
||||
// }
|
||||
// return (result, attrib);
|
||||
// }
|
||||
//
|
||||
// private async Task<Result> sendQuery(QueryBatchBase batch)
|
||||
// {
|
||||
// var result = new Result();
|
||||
// var err_msg = string.Empty;
|
||||
//
|
||||
// if (batch == null)
|
||||
// {
|
||||
// err_msg = $"Failed to sendQuery !!!, QueryBatchBase is null";
|
||||
// result.setFail(ServerErrorCode.FunctionInvalidParam, err_msg);
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// if (false == batch.hasQuery())
|
||||
// {
|
||||
// err_msg = $"Not has DBQuery !!!";
|
||||
// result.setFail(ServerErrorCode.DynamoDbQueryNoRequested, err_msg);
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// result = await batch.prepareQueryWithStopwatch();
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// result = await batch.doQueryWithStopwatch();
|
||||
// if (result.isFail())
|
||||
// {
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// private (Result, UpdateItemRequest?) makeUpdateItemRequest(
|
||||
// Dictionary<string, AttributeValue> attributeValueWithPrimaryKey
|
||||
// , string targetAttribName
|
||||
// , double deltaCount)
|
||||
// {
|
||||
// var result = new Result();
|
||||
// var query_builder = new DynamoDbItemRequestHelper.UpdateItemRequestBuilder(m_dynamo_db_client.getTableName());
|
||||
// query_builder.withKeys(attributeValueWithPrimaryKey);
|
||||
//
|
||||
// var target_doc = new MoneyDoc();
|
||||
// var attrib_path_json_string = target_doc.toJsonStringOfAttribs();
|
||||
// var target_key = JsonHelper.getJsonPropertyName<MoneyAttrib>(targetAttribName);
|
||||
// var (is_success, attribute_expression) =
|
||||
// DynamoDbClientHelper.toAttributeExpressionFromJson(attrib_path_json_string, target_key);
|
||||
// if (false == is_success)
|
||||
// {
|
||||
// var err_msg =
|
||||
// $"Failed to DynamoDbClientHelper.toAttributeExpressionFromJson() !!! : attribPath:{attrib_path_json_string}, targetKey:{target_key}";
|
||||
// result.setFail(ServerErrorCode.AttribPathMakeFailed, err_msg);
|
||||
// Log.getLogger().error(result.toBasicString());
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// query_builder.withExpressionAttributeNames(
|
||||
// DynamoDbClientHelper.toExpressionAttributeNamesFromJson(attrib_path_json_string, target_key));
|
||||
//
|
||||
// var update_expression = (deltaCount >= 0)
|
||||
// ? $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) + :changeValue"
|
||||
// : $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) - :changeValue";
|
||||
// query_builder.withUpdateExpression(update_expression);
|
||||
//
|
||||
// var expression_attribute_values = new Dictionary<string, AttributeValue>
|
||||
// {
|
||||
// { ":changeValue", new AttributeValue { N = Math.Abs(deltaCount).ToString() } },
|
||||
// { ":start", new AttributeValue { N = "0" } }
|
||||
// };
|
||||
// query_builder.withExpressionAttributeValues(expression_attribute_values);
|
||||
// query_builder.withReturnValues(ReturnValue.ALL_NEW);
|
||||
// return query_builder.build();
|
||||
// }
|
||||
//
|
||||
// // //=============================================================================================
|
||||
// // // delta 만큼 금전을 변경(음수, 양수) 한다.
|
||||
// // //=============================================================================================
|
||||
// // public async Task<Result> changeMoney(CurrencyType currencyType, double delta, bool isTrimExcess = false,
|
||||
// // bool useCaliumEvent = true)
|
||||
// // {
|
||||
// // var result = new Result();
|
||||
// //
|
||||
// // // var owner = getOwner() as Player;
|
||||
// // // NullReferenceCheckHelper.throwIfNull(owner, () => $"player is null !!!");
|
||||
// //
|
||||
// // // if (currencyType == CurrencyType.Beam)
|
||||
// // // {
|
||||
// // // var found_transaction_runner = owner.findTransactionRunner(TransactionIdType.PrivateContents);
|
||||
// // // found_transaction_runner?.addRemoteChargeAIPoint(this, delta);
|
||||
// // // return result;
|
||||
// // // }
|
||||
// //
|
||||
// // result = changeMoneyFromCurrencyType(currencyType, delta, isTrimExcess);
|
||||
// // if (result.isSuccess() && useCaliumEvent)
|
||||
// // {
|
||||
// // var found_transaction_runner = owner.findTransactionRunner(TransactionIdType.PrivateContents);
|
||||
// // var event_name = found_transaction_runner?.getTransactionName() ?? "None";
|
||||
// // found_transaction_runner?.addNotifyCaliumEvent(this, event_name, currencyType, delta);
|
||||
// // }
|
||||
// //
|
||||
// // return await Task.FromResult(result);
|
||||
// // }
|
||||
// //
|
||||
// // private Result changeMoneyFromCurrencyType(CurrencyType type, double delta, bool isTrimExcess = false)
|
||||
// // {
|
||||
// // var result = new Result();
|
||||
// // var err_msg = string.Empty;
|
||||
// //
|
||||
// // // var owner = getOwner() as Player;
|
||||
// // // NullReferenceCheckHelper.throwIfNull(owner, () => $"player is null !!!");
|
||||
// //
|
||||
// // if (MetaData.Instance._CurrencyMetaTableByCurrencyType.TryGetValue(type, out var currencyMetaData) == false)
|
||||
// // {
|
||||
// // // err_msg = $"Not found CurrencyMetaData !!! : currencyType:{type} - {owner.toBasicString()}";
|
||||
// // result.setFail(ServerErrorCode.CurrencyMetaDataNotFound, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// // // var money_attribute = owner.getEntityAttribute<MoneyAttribute>();
|
||||
// // // NullReferenceCheckHelper.throwIfNull(money_attribute,
|
||||
// // // () => $"money_attribute is null !!! - {owner.toBasicString()}");
|
||||
// //
|
||||
// // var currency = money_attribute.getCurrencyFromType(type);
|
||||
// // var change = currency + delta;
|
||||
// // if (change < 0)
|
||||
// // {
|
||||
// // err_msg =
|
||||
// // $"Failed to change getCurrencyFromType() !!!, not enough Money : deltaMoney:{delta}, changeCurrency:{change}, currencyType:{type} - {owner.toBasicString()}";
|
||||
// // result.setFail(ServerErrorCode.MoneyNotEnough, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// // if (change >= currencyMetaData.MaxCount)
|
||||
// // {
|
||||
// // MoneyNotifyHelper.send_GS2C_NTF_CURRENCY_MAX_ALERT(owner, type, currencyMetaData.MaxCount);
|
||||
// //
|
||||
// // if (change > currencyMetaData.MaxCount
|
||||
// // && false == isTrimExcess)
|
||||
// // {
|
||||
// // err_msg =
|
||||
// // $"Money exceeded Max Count !!! : toDelta:{delta}, toChange:{change} <= MaxCount:{currencyMetaData.MaxCount}, currencyType:{type} - {owner.toBasicString()}";
|
||||
// // result.setFail(ServerErrorCode.MoneyMaxCountExceeded, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// // var trim_money = change - currencyMetaData.MaxCount;
|
||||
// // change = double.Min(change, currencyMetaData.MaxCount);
|
||||
// //
|
||||
// // err_msg =
|
||||
// // $"Exceeded MaxCount of Money !!!, Trimming Money : currencyType:{type}, changeMoney:{change}, trimMoney:{trim_money}, deltaMoney:{delta}, maxMoney:{currencyMetaData.MaxCount} - {owner.toBasicString()}";
|
||||
// // Log.getLogger().info(err_msg);
|
||||
// // }
|
||||
// //
|
||||
// // money_attribute.setCurrencyFromType(type, change);
|
||||
// //
|
||||
// // money_attribute.modifiedEntityAttribute();
|
||||
// //
|
||||
// // return result;
|
||||
// // }
|
||||
// //
|
||||
// //
|
||||
// // public TransactionRunner? findTransactionRunner(TransactionIdType transactionIdType)
|
||||
// // {
|
||||
// // TransactionRunner? found_transaction_runner = null;
|
||||
// //
|
||||
// // var err_msg = string.Empty;
|
||||
// //
|
||||
// // if (true == hasMasterGuid())
|
||||
// // {
|
||||
// // var master_guid = getMasterGuid();
|
||||
// // var found_master_entity = onGetMasterEntity();
|
||||
// // if(null == found_master_entity)
|
||||
// // {
|
||||
// // return null;
|
||||
// // }
|
||||
// //
|
||||
// // found_transaction_runner = found_master_entity.findTransactionRunner(transactionIdType);
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // if (false == m_transaction_runners.TryGetValue(transactionIdType, out found_transaction_runner))
|
||||
// // {
|
||||
// // return null;
|
||||
// // }
|
||||
// // }
|
||||
// //
|
||||
// // return found_transaction_runner;
|
||||
// // }
|
||||
//
|
||||
// // private (Result, UpdateItemRequest?) makeUpdateItemRequest(
|
||||
// // Dictionary<string, AttributeValue> attributeValueWithPrimaryKey
|
||||
// // , string targetAttribName
|
||||
// // , double deltaCount)
|
||||
// // {
|
||||
// // var result = new Result();
|
||||
// //
|
||||
// // var query_builder = new DynamoDbItemRequestHelper.UpdateItemRequestBuilder(m_dynamo_db_client.getTableName());
|
||||
// // query_builder.withKeys(attributeValueWithPrimaryKey);
|
||||
// //
|
||||
// // var target_doc = new MoneyDoc();
|
||||
// // var attrib_path_json_string = target_doc.toJsonStringOfAttribs();
|
||||
// // var target_key = JsonHelper.getJsonPropertyName<MoneyAttrib>(targetAttribName);
|
||||
// // (var is_success, var attribute_expression) =
|
||||
// // DynamoDbClientHelper.toAttributeExpressionFromJson(attrib_path_json_string, target_key);
|
||||
// // if (false == is_success)
|
||||
// // {
|
||||
// // var err_msg =
|
||||
// // $"Failed to DynamoDbClientHelper.toAttributeExpressionFromJson() !!! : attribPath:{attrib_path_json_string}, targetKey:{target_key}";
|
||||
// // result.setFail(ServerErrorCode.AttribPathMakeFailed, err_msg);
|
||||
// // Log.getLogger().error(result.toBasicString());
|
||||
// //
|
||||
// // return (result, null);
|
||||
// // }
|
||||
// //
|
||||
// // query_builder.withExpressionAttributeNames(
|
||||
// // DynamoDbClientHelper.toExpressionAttributeNamesFromJson(attrib_path_json_string, target_key));
|
||||
// //
|
||||
// // var update_expression = (deltaCount >= 0)
|
||||
// // ? $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) + :changeValue"
|
||||
// // : $"SET {attribute_expression} = if_not_exists({attribute_expression}, :start) - :changeValue";
|
||||
// // query_builder.withUpdateExpression(update_expression);
|
||||
// //
|
||||
// // var expression_attribute_values = new Dictionary<string, AttributeValue>
|
||||
// // {
|
||||
// // { ":changeValue", new AttributeValue { N = Math.Abs(deltaCount).ToString() } },
|
||||
// // { ":start", new AttributeValue { N = "0" } }
|
||||
// // };
|
||||
// // query_builder.withExpressionAttributeValues(expression_attribute_values);
|
||||
// //
|
||||
// // query_builder.withReturnValues(ReturnValue.ALL_NEW);
|
||||
// //
|
||||
// // return query_builder.build();
|
||||
// // }
|
||||
// }
|
||||
@@ -1,71 +0,0 @@
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using DbEntity;
|
||||
//
|
||||
// using Microsoft.Extensions.DependencyInjection;
|
||||
// using Microsoft.Extensions.Hosting;
|
||||
//
|
||||
// using ServerCommon;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// //==================================================
|
||||
// // 행성 정보 캐시를 갱신한다.
|
||||
// //==================================================
|
||||
// public class PlanetInfoCache : BackgroundService
|
||||
// {
|
||||
// private readonly object m_lock = new();
|
||||
// private IEnumerable<PlanetInfo> m_planets = [];
|
||||
// private readonly IServiceScopeFactory m_scope_factory;
|
||||
//
|
||||
// public PlanetInfoCache(IServiceScopeFactory scopeFactory, IHostApplicationLifetime lifetime)
|
||||
// {
|
||||
// m_scope_factory = scopeFactory;
|
||||
// }
|
||||
//
|
||||
// public IEnumerable<PlanetInfo> Planets
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// lock (m_planets)
|
||||
// {
|
||||
// return m_planets;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
// {
|
||||
// while (!stoppingToken.IsCancellationRequested)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// await updateData();
|
||||
// }
|
||||
// catch (Exception e)
|
||||
// {
|
||||
// Console.WriteLine(e);
|
||||
// throw;
|
||||
// }
|
||||
//
|
||||
// await Task.Delay(TimeSpan.FromSeconds(120), stoppingToken); // 120초마다 데이터 갱신
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private async Task updateData()
|
||||
// {
|
||||
// using var scope = m_scope_factory.CreateScope();
|
||||
// var planet_info_repo = scope.ServiceProvider.GetRequiredService<PlanetInfoRepo>();
|
||||
// var (result, planet_infos) = await planet_info_repo.findAll();
|
||||
// if (result.isFail() || planet_infos == null)
|
||||
// {
|
||||
// Log.getLogger().error("Failed to find planet infos");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// lock (m_lock)
|
||||
// {
|
||||
// m_planets = planet_infos;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -1,67 +0,0 @@
|
||||
// using ServerCommon;
|
||||
//
|
||||
// namespace BrokerCore.Repository;
|
||||
//
|
||||
// using ServerCore; using ServerBase;
|
||||
//
|
||||
// public class UserBaseDocRepo
|
||||
// {
|
||||
// private readonly DynamoDbClient m_dynamo_db_client;
|
||||
//
|
||||
// public UserBaseDocRepo(DynamoDbClient dynamoDbClient)
|
||||
// {
|
||||
// this.m_dynamo_db_client = dynamoDbClient;
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, UserBaseDoc?)> findUserBaseDoc(string userGuid)
|
||||
// {
|
||||
// var (result, primary_key_object) = await DynamoDBDocBaseHelper.makePrimaryKey<UserBaseDoc>(userGuid);
|
||||
// if (result.isFail() || primary_key_object == null)
|
||||
// {
|
||||
// return (result, null);
|
||||
// }
|
||||
//
|
||||
// var config = m_dynamo_db_client.makeQueryConfigForReadByPKOnly(primary_key_object.PK);
|
||||
// // var (result, user_doc) = await m_dynamoDbClient.simpleQueryDocTypeWithQueryOperationConfig<UserBaseDoc>(config);
|
||||
// return await m_dynamo_db_client.simpleQueryDocTypeWithQueryOperationConfig<UserBaseDoc>(config);
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, UserBaseAttrib?)> findUserBaseAttrib(string userGuid)
|
||||
// {
|
||||
// var (result, doc) = await findUserBaseDoc(userGuid);
|
||||
// return (result, doc?.getAttrib<UserBaseAttrib>());
|
||||
// }
|
||||
//
|
||||
// public async Task<(Result, string)> findNickname(string userGuid)
|
||||
// {
|
||||
// var (result, found_nickname_attrib) = await NicknameDoc.findNicknameFromGuid(m_dynamo_db_client, userGuid);
|
||||
// if(result.isFail())
|
||||
// {
|
||||
// return (result, string.Empty);
|
||||
// }
|
||||
// NullReferenceCheckHelper.throwIfNull(found_nickname_attrib, () => $"found_nickname_attrib is null !!!, userGuid:{userGuid}");
|
||||
// return (result, found_nickname_attrib.Nickname);
|
||||
// }
|
||||
//
|
||||
// //===================================================================================================
|
||||
// // 로그아웃 여부만 체크
|
||||
// // TODO: 레디스 캐시를 이용하여 로그인 여부를 체크하는 것이 더 효율적일 수 있음
|
||||
// //===================================================================================================
|
||||
// public bool isUserLoggedIn(UserBaseAttrib userAttrib)
|
||||
// {
|
||||
// return userAttrib.GameLoginDateTime > userAttrib.GameLogoutDateTime;
|
||||
// }
|
||||
//
|
||||
// // public async Task<Result> insertUserBaseDoc(UserBaseAttrib userAttrib)
|
||||
// // {
|
||||
// // var user_doc = new UserBaseDoc(userAttrib.UserGuid);
|
||||
// // var user_attrib = user_doc.getAttrib<UserBaseAttrib>();
|
||||
// // NullReferenceCheckHelper.throwIfNull(user_attrib, () => $"insertUserBaseDoc : user_attrib is null !!! - {userAttrib.UserGuid}");
|
||||
// // user_attrib.UserGuid = userAttrib.UserGuid;
|
||||
// // user_attrib.AccountId = userAttrib.AccountId;
|
||||
// // user_attrib.EOA = userAttrib.EOA;
|
||||
// // user_attrib.SelectedCharacterGuid = userAttrib.SelectedCharacterGuid;
|
||||
// // user_attrib.IsIntroCompleted = userAttrib.IsIntroCompleted;
|
||||
// // return await m_dynamoDbClient.simpleInsertDocumentWithDocType(user_doc);
|
||||
// // }
|
||||
// }
|
||||
@@ -1,93 +0,0 @@
|
||||
//
|
||||
// using System.Globalization;
|
||||
// using System.Security.Cryptography;
|
||||
// using System.Text;
|
||||
//
|
||||
// namespace BrokerCore.Common;
|
||||
// public static class Helpers
|
||||
// {
|
||||
// public static string generateAccessKey(string inputString, int keyLength = 24)
|
||||
// {
|
||||
// var salt = DateTime.Now.ToString(CultureInfo.InvariantCulture);
|
||||
// using var pbkdf2 =
|
||||
// new Rfc2898DeriveBytes(inputString, Encoding.UTF8.GetBytes(salt), 10000, HashAlgorithmName.SHA256);
|
||||
// byte[] key_bytes = pbkdf2.GetBytes(keyLength); // 원하는 길이의 바이트 배열 생성
|
||||
// return BitConverter.ToString(key_bytes).Replace("-", "").ToLower()[..keyLength]; // 원하는 길이만큼 잘라서 반환
|
||||
// }
|
||||
//
|
||||
// public static string generateAccessToken(string inputString, string secret, int keyLength = 32)
|
||||
// {
|
||||
// var salt = DateTime.Now.ToString(CultureInfo.InvariantCulture);
|
||||
// using var pbkdf2 =
|
||||
// new Rfc2898DeriveBytes(inputString, Encoding.UTF8.GetBytes(salt), 10000, HashAlgorithmName.SHA256);
|
||||
// byte[] key_bytes = pbkdf2.GetBytes(keyLength); // 원하는 길이의 바이트 배열 생성
|
||||
// return BitConverter.ToString(key_bytes).Replace("-", "").ToLower()[..keyLength]; // 원하는 길이만큼 잘라서 반환
|
||||
// }
|
||||
//
|
||||
// public static string generateAccessKeyTest()
|
||||
// {
|
||||
// var key = generateAccessKey("test");
|
||||
// return key;
|
||||
// }
|
||||
//
|
||||
// public static string getErrorName(int errorCode)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// var error_name = (BrokerApiErrorCode)errorCode;
|
||||
// return error_name.ToString();
|
||||
// }
|
||||
// catch (Exception)
|
||||
// {
|
||||
// return errorCode.ToString();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public static string encrypt(string plainText, string planetSecretKey, string tokenSecret)
|
||||
// {
|
||||
// var key = Encoding.UTF8.GetBytes(tokenSecret);
|
||||
// var iv = Encoding.UTF8.GetBytes(planetSecretKey);
|
||||
// using Aes aes_alg = Aes.Create();
|
||||
// aes_alg.Key = key;
|
||||
// aes_alg.IV = iv;
|
||||
//
|
||||
// ICryptoTransform encryptor = aes_alg.CreateEncryptor(aes_alg.Key, aes_alg.IV);
|
||||
//
|
||||
// using (MemoryStream ms_encrypt = new MemoryStream())
|
||||
// {
|
||||
// using (CryptoStream cs_encrypt = new CryptoStream(ms_encrypt, encryptor, CryptoStreamMode.Write))
|
||||
// {
|
||||
// using (StreamWriter sw_encrypt = new StreamWriter(cs_encrypt))
|
||||
// {
|
||||
// sw_encrypt.Write(plainText);
|
||||
// }
|
||||
//
|
||||
// return Convert.ToBase64String(ms_encrypt.ToArray());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public static string decrypt(string cipherText, string planetSecretKey, string tokenSecret)
|
||||
// {
|
||||
// var key = Encoding.UTF8.GetBytes(tokenSecret);
|
||||
// var iv = Encoding.UTF8.GetBytes(planetSecretKey);
|
||||
//
|
||||
// byte[] buffer = Convert.FromBase64String(cipherText);
|
||||
// using Aes aes_alg = Aes.Create();
|
||||
// aes_alg.Key = key;
|
||||
// aes_alg.IV = iv;
|
||||
//
|
||||
// ICryptoTransform decryptor = aes_alg.CreateDecryptor(aes_alg.Key, aes_alg.IV);
|
||||
//
|
||||
// using (MemoryStream ms_decrypt = new MemoryStream(buffer))
|
||||
// {
|
||||
// using (CryptoStream cs_decrypt = new CryptoStream(ms_decrypt, decryptor, CryptoStreamMode.Read))
|
||||
// {
|
||||
// using (StreamReader sr_decrypt = new StreamReader(cs_decrypt))
|
||||
// {
|
||||
// return sr_decrypt.ReadToEnd();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -1,18 +0,0 @@
|
||||
// namespace BrokerCore.Common;
|
||||
//
|
||||
// public class ValueResult<TValue>
|
||||
// {
|
||||
// public Result Result { get; init; }
|
||||
// public TValue? Value { get; set; }
|
||||
//
|
||||
// public ValueResult()
|
||||
// {
|
||||
// Result = new Result();
|
||||
// }
|
||||
//
|
||||
// public ValueResult(Result result, TValue? value)
|
||||
// {
|
||||
// Result = result;
|
||||
// Value = value;
|
||||
// }
|
||||
// }
|
||||
@@ -1,133 +0,0 @@
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
|
||||
using MODULE_ID = System.UInt32;
|
||||
|
||||
|
||||
namespace BrokerTest.User;
|
||||
|
||||
public class TestServerLogic : IServerLogic
|
||||
{
|
||||
private DynamoDbClient m_dynamo_db_client;
|
||||
private ServerConfig m_server_config;
|
||||
|
||||
public TestServerLogic(DynamoDbClient dynamoDbClient, ServerConfig serverConfig)
|
||||
{
|
||||
m_dynamo_db_client = dynamoDbClient;
|
||||
m_server_config = serverConfig;
|
||||
}
|
||||
|
||||
public DynamoDbClient getDynamoDbClient() => m_dynamo_db_client;
|
||||
|
||||
public RedisConnector getRedisConnector()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public ServerConfig getServerConfig() => m_server_config;
|
||||
|
||||
public string getServerName() => "TestServer";
|
||||
|
||||
public string getServerType() => "BrokerApi";
|
||||
|
||||
public string toBasicString() => "TestServerLogic";
|
||||
|
||||
public IModule getModule(MODULE_ID moduleId) { throw new NullReferenceException(); }
|
||||
|
||||
public Result registerEntityTicker(EntityTicker entityTicker) { throw new NullReferenceException(); }
|
||||
}
|
||||
|
||||
// public class UserDocRepoTests
|
||||
// {
|
||||
// private readonly ServerConfig m_server_config = new ServerConfig();
|
||||
// private DynamoDbClient? m_dynamo_db_client;
|
||||
// private bool m_is_init = false;
|
||||
// private TestServerLogic? m_server_logic;
|
||||
//
|
||||
// // public UserDocRepoTests()
|
||||
// // {
|
||||
// // // var user = new UserEntity();
|
||||
// // // user.OnInit();
|
||||
// // }
|
||||
//
|
||||
// private async Task init()
|
||||
// {
|
||||
// if (m_is_init) return;
|
||||
// Log.NLogFileName = "./Config/nlog-BrokerApiServer.config";
|
||||
// Log.initLog("BrokerApiServerTest", "Developer");
|
||||
// var path = "./Config/ServerConfig-Local.json";
|
||||
// var full_path = Path.GetFullPath(path);
|
||||
// m_server_config.setConfigFilePath(full_path);
|
||||
// var result =m_server_config.loadConfig();
|
||||
// Assert.True(result.isSuccess());
|
||||
// Assert.NotNull(m_dynamo_db_client);
|
||||
// m_server_logic = new TestServerLogic(m_dynamo_db_client, m_server_config);
|
||||
// ServerLogicApp.setServerLogicApp(m_server_logic);
|
||||
//
|
||||
// m_dynamo_db_client = new DynamoDbClient();
|
||||
// var connection_result = m_dynamo_db_client.connectToDb(m_server_config);
|
||||
// await m_dynamo_db_client.createDBIfNotExists(false);
|
||||
// Assert.True(connection_result.isSuccess());
|
||||
//
|
||||
// m_is_init = true;
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public async Task findTests()
|
||||
// {
|
||||
// await init();
|
||||
//
|
||||
// //=============================================================================================
|
||||
// // db에 "heon3" 계정이 존재한다는 전제로 테스트 진행
|
||||
// //=============================================================================================
|
||||
//
|
||||
// // TODO: 계정을 생성하는 절차를 추가할 것
|
||||
//
|
||||
// var account_id = "heon3";
|
||||
// Assert.NotNull(m_dynamo_db_client);
|
||||
// var account_repo = new AccountDocRepo(m_dynamo_db_client);
|
||||
// var (result_account, account_attrib) = await account_repo.findAccountBaseAttrib(account_id);
|
||||
// Assert.True(result_account.isSuccess());
|
||||
// Assert.NotNull(account_attrib);
|
||||
//
|
||||
// var user_guid = account_attrib.UserGuid;
|
||||
// Assert.NotNull(user_guid);
|
||||
//
|
||||
// var user_doc_repo = new UserBaseDocRepo(m_dynamo_db_client);
|
||||
// var (result_user, user_attrib) = await user_doc_repo.findUserBaseAttrib(user_guid);
|
||||
// Assert.True(result_user.isSuccess());
|
||||
// Assert.NotNull(user_attrib);
|
||||
// Assert.True(user_attrib.UserGuid == user_guid);
|
||||
// Assert.True(user_attrib.AccountId == account_id);
|
||||
//
|
||||
// // var money_doc_repo = new MoneyDocRepo(m_dynamo_db_client);
|
||||
// // var (result_money, money_attrib) = await money_doc_repo.findMoneyAttrib(user_guid, CancellationToken.None);
|
||||
// // Assert.True(result_money.isSuccess());
|
||||
// // Assert.NotNull(money_attrib);
|
||||
// // Assert.True(money_attrib.Sapphire >= 0);
|
||||
// // Assert.True(money_attrib.Gold >= 0);
|
||||
// // Assert.True(money_attrib.Ruby >= 0);
|
||||
// // Assert.True(money_attrib.Calium >= 0);
|
||||
// }
|
||||
//
|
||||
// private async Task<string> findUser(string accountId)
|
||||
// {
|
||||
// await init();
|
||||
// Assert.NotNull(m_dynamo_db_client);
|
||||
// var account_repo = new AccountDocRepo(m_dynamo_db_client);
|
||||
// var (result_account, account_attrib) = await account_repo.findAccountBaseAttrib(accountId);
|
||||
// Assert.True(result_account.isSuccess());
|
||||
// Assert.NotNull(account_attrib);
|
||||
//
|
||||
// var user_guid = account_attrib.UserGuid;
|
||||
// Assert.NotNull(user_guid);
|
||||
//
|
||||
// var user_doc_repo = new UserBaseDocRepo(m_dynamo_db_client);
|
||||
// var (result_user, user_attrib) = await user_doc_repo.findUserBaseAttrib(user_guid);
|
||||
// Assert.True(result_user.isSuccess());
|
||||
// Assert.NotNull(user_attrib);
|
||||
// return user_attrib.UserGuid;
|
||||
// }
|
||||
// }
|
||||
Binary file not shown.
@@ -90,16 +90,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -129,7 +139,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -138,8 +148,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -163,7 +173,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -172,7 +182,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -289,16 +299,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -328,7 +348,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -337,8 +357,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -362,7 +382,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -371,7 +391,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -479,16 +499,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -518,7 +548,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -527,8 +557,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -552,7 +582,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -561,7 +591,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -651,16 +681,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -690,7 +730,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -699,8 +739,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -724,7 +764,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -733,7 +773,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -816,16 +856,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -855,7 +905,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -864,8 +914,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -889,7 +939,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -898,7 +948,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -987,16 +1037,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -1026,7 +1086,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -1035,8 +1095,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -1060,7 +1120,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -1069,7 +1129,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -1145,22 +1205,27 @@
|
||||
},
|
||||
"AWSSDK.Core": {
|
||||
"target": "Package",
|
||||
"version": "[3.7.402.39, )",
|
||||
"version": "[3.7.402.46, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AWSSDK.DynamoDBv2": {
|
||||
"target": "Package",
|
||||
"version": "[3.7.406.21, )",
|
||||
"version": "[3.7.407, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AWSSDK.OpenSearchService": {
|
||||
"target": "Package",
|
||||
"version": "[3.7.404.75, )",
|
||||
"version": "[3.7.404.81, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AWSSDK.S3": {
|
||||
"target": "Package",
|
||||
"version": "[3.7.416.9, )",
|
||||
"version": "[3.7.416.15, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AWSSDK.SecurityToken": {
|
||||
"target": "Package",
|
||||
"version": "[3.7.401.89, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AsyncStateMachine": {
|
||||
@@ -1168,11 +1233,66 @@
|
||||
"version": "[1.3.2, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper": {
|
||||
"target": "Package",
|
||||
"version": "[14.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.AspNetCore.OData.EFCore": {
|
||||
"target": "Package",
|
||||
"version": "[7.0.1, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.Collection": {
|
||||
"target": "Package",
|
||||
"version": "[11.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.Collection.EntityFrameworkCore": {
|
||||
"target": "Package",
|
||||
"version": "[11.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.Data": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.EF6": {
|
||||
"target": "Package",
|
||||
"version": "[3.0.1, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.Extensions.EnumMapping": {
|
||||
"target": "Package",
|
||||
"version": "[4.1.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"AutoMapper.Extensions.ExpressionMapping": {
|
||||
"target": "Package",
|
||||
"version": "[8.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"Axion.ConcurrentHashSet": {
|
||||
"target": "Package",
|
||||
"version": "[1.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"BCrypt.Net-Next": {
|
||||
"target": "Package",
|
||||
"version": "[4.0.3, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"BouncyCastle.Cryptography": {
|
||||
"target": "Package",
|
||||
"version": "[2.5.1, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"CommandLineParser": {
|
||||
"target": "Package",
|
||||
"version": "[2.9.1, )",
|
||||
@@ -1203,6 +1323,16 @@
|
||||
"version": "[0.2.621003, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"Microsoft.Extensions.Configuration": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.4, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"Microsoft.Extensions.Options": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.4, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"MongoDB.Analyzer": {
|
||||
"target": "Package",
|
||||
"version": "[1.5.0, )",
|
||||
@@ -1255,7 +1385,7 @@
|
||||
},
|
||||
"SSH.NET": {
|
||||
"target": "Package",
|
||||
"version": "[2024.2.0, )",
|
||||
"version": "[2025.0.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"StackExchange.Redis": {
|
||||
@@ -1280,7 +1410,7 @@
|
||||
},
|
||||
"System.IdentityModel.Tokens.Jwt": {
|
||||
"target": "Package",
|
||||
"version": "[8.8.0, )",
|
||||
"version": "[8.9.0, )",
|
||||
"versionCentrallyManaged": true
|
||||
},
|
||||
"YamlDotNet": {
|
||||
@@ -1294,16 +1424,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -1333,7 +1473,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -1342,8 +1482,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -1367,7 +1507,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -1376,7 +1516,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -1459,16 +1599,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -1498,7 +1648,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -1507,8 +1657,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -1532,7 +1682,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -1541,7 +1691,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -1638,16 +1788,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -1677,7 +1837,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -1686,8 +1846,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -1711,7 +1871,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -1720,7 +1880,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -1810,16 +1970,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -1849,7 +2019,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -1858,8 +2028,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -1883,7 +2053,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -1892,7 +2062,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -1979,16 +2149,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -2018,7 +2198,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -2027,8 +2207,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -2052,7 +2232,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -2061,7 +2241,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -2170,16 +2350,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -2209,7 +2399,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -2218,8 +2408,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -2243,7 +2433,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -2252,7 +2442,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
@@ -2352,16 +2542,26 @@
|
||||
"Asp.Versioning.Mvc.ApiExplorer": "8.1.0",
|
||||
"AspNetCore.Swagger.Fluent.Annotations": "1.0.4",
|
||||
"AsyncStateMachine": "1.3.2",
|
||||
"AutoMapper": "14.0.0",
|
||||
"AutoMapper.AspNetCore.OData.EFCore": "7.0.1",
|
||||
"AutoMapper.Collection": "11.0.0",
|
||||
"AutoMapper.Collection.EntityFrameworkCore": "11.0.0",
|
||||
"AutoMapper.Contrib.Autofac.DependencyInjection": "9.0.0",
|
||||
"AutoMapper.Data": "9.0.0",
|
||||
"AutoMapper.EF6": "3.0.1",
|
||||
"AutoMapper.Extensions.EnumMapping": "4.1.0",
|
||||
"AutoMapper.Extensions.ExpressionMapping": "8.0.0",
|
||||
"AWS.Logger.NLog": "3.3.4",
|
||||
"AWSSDK.Core": "3.7.402.39",
|
||||
"AWSSDK.DynamoDBv2": "3.7.406.21",
|
||||
"AWSSDK.Core": "3.7.402.46",
|
||||
"AWSSDK.DynamoDBv2": "3.7.407",
|
||||
"AWSSDK.EC2": "3.7.330.4",
|
||||
"AWSSDK.ElasticLoadBalancingV2": "3.7.303.15",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.75",
|
||||
"AWSSDK.S3": "3.7.416.9",
|
||||
"AWSSDK.OpenSearchService": "3.7.404.81",
|
||||
"AWSSDK.S3": "3.7.416.15",
|
||||
"AWSSDK.SecurityToken": "3.7.401.89",
|
||||
"Axion.ConcurrentHashSet": "1.0.0",
|
||||
"BCrypt.Net-Next": "4.0.3",
|
||||
"BouncyCastle.Cryptography": "2.4.0",
|
||||
"BouncyCastle.Cryptography": "2.5.1",
|
||||
"CommandLineParser": "2.9.1",
|
||||
"CommunityToolkit.Diagnostics": "8.2.2",
|
||||
"CommunityToolkit.Mvvm": "8.2.2",
|
||||
@@ -2391,7 +2591,7 @@
|
||||
"Microsoft.EntityFrameworkCore.Design": "8.0.2",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "8.0.2",
|
||||
"Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.6",
|
||||
"Microsoft.Extensions.Configuration": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration": "9.0.4",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Configuration.UserSecrets": "8.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection": "8.0.0",
|
||||
@@ -2400,8 +2600,8 @@
|
||||
"Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
|
||||
"Microsoft.Extensions.Http": "8.0.0",
|
||||
"Microsoft.Extensions.Logging": "8.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
|
||||
"Microsoft.Extensions.Options": "8.0.2",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
||||
"Microsoft.Extensions.Options": "9.0.4",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
|
||||
"Microsoft.NET.Test.Sdk": "17.12.0",
|
||||
"Microsoft.OpenApi": "1.6.22",
|
||||
@@ -2425,7 +2625,7 @@
|
||||
"RabbitMQ.Client": "6.8.1",
|
||||
"SharpSvn": "1.14003.272",
|
||||
"sqlite-net-pcl": "1.9.172",
|
||||
"SSH.NET": "2024.2.0",
|
||||
"SSH.NET": "2025.0.0",
|
||||
"StackExchange.Redis": "2.8.31",
|
||||
"StackExchange.Redis.Extensions.Core": "11.0.0",
|
||||
"StackExchange.Redis.Extensions.Newtonsoft": "11.0.0",
|
||||
@@ -2434,7 +2634,7 @@
|
||||
"Swashbuckle.AspNetCore.Annotations": "7.2.0",
|
||||
"Swashbuckle.AspNetCore.Filters": "8.0.2",
|
||||
"Swashbuckle.AspNetCore.SwaggerUI": "7.2.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.8.0",
|
||||
"System.IdentityModel.Tokens.Jwt": "8.9.0",
|
||||
"xunit": "2.9.3",
|
||||
"xunit.assert": "2.9.2",
|
||||
"xunit.runner.visualstudio": "3.0.1",
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
<Import Project="$(NuGetPackageRoot)xunit.runner.visualstudio\3.0.1\build\net6.0\xunit.runner.visualstudio.props" Condition="Exists('$(NuGetPackageRoot)xunit.runner.visualstudio\3.0.1\build\net6.0\xunit.runner.visualstudio.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)xunit.core\2.9.3\build\xunit.core.props" Condition="Exists('$(NuGetPackageRoot)xunit.core\2.9.3\build\xunit.core.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.2\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\8.0.2\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.2\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.2\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.props" Condition="Exists('$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.testplatform.testhost\17.12.0\build\netcoreapp3.1\Microsoft.TestPlatform.TestHost.props" Condition="Exists('$(NuGetPackageRoot)microsoft.testplatform.testhost\17.12.0\build\netcoreapp3.1\Microsoft.TestPlatform.TestHost.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.codecoverage\17.12.0\build\netstandard2.0\Microsoft.CodeCoverage.props" Condition="Exists('$(NuGetPackageRoot)microsoft.codecoverage\17.12.0\build\netstandard2.0\Microsoft.CodeCoverage.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.props')" />
|
||||
@@ -24,10 +25,12 @@
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Pkgxunit_analyzers Condition=" '$(Pkgxunit_analyzers)' == '' ">C:\Users\user\.nuget\packages\xunit.analyzers\1.18.0</Pkgxunit_analyzers>
|
||||
<PkgMongoDB_Analyzer Condition=" '$(PkgMongoDB_Analyzer)' == '' ">C:\Users\user\.nuget\packages\mongodb.analyzer\1.5.0</PkgMongoDB_Analyzer>
|
||||
<PkgAWSSDK_Core Condition=" '$(PkgAWSSDK_Core)' == '' ">C:\Users\user\.nuget\packages\awssdk.core\3.7.402.39</PkgAWSSDK_Core>
|
||||
<PkgAWSSDK_S3 Condition=" '$(PkgAWSSDK_S3)' == '' ">C:\Users\user\.nuget\packages\awssdk.s3\3.7.416.9</PkgAWSSDK_S3>
|
||||
<PkgAWSSDK_OpenSearchService Condition=" '$(PkgAWSSDK_OpenSearchService)' == '' ">C:\Users\user\.nuget\packages\awssdk.opensearchservice\3.7.404.75</PkgAWSSDK_OpenSearchService>
|
||||
<PkgAWSSDK_DynamoDBv2 Condition=" '$(PkgAWSSDK_DynamoDBv2)' == '' ">C:\Users\user\.nuget\packages\awssdk.dynamodbv2\3.7.406.21</PkgAWSSDK_DynamoDBv2>
|
||||
<PkgEntityFramework Condition=" '$(PkgEntityFramework)' == '' ">C:\Users\user\.nuget\packages\entityframework\6.5.1</PkgEntityFramework>
|
||||
<PkgAWSSDK_Core Condition=" '$(PkgAWSSDK_Core)' == '' ">C:\Users\user\.nuget\packages\awssdk.core\3.7.402.46</PkgAWSSDK_Core>
|
||||
<PkgAWSSDK_SecurityToken Condition=" '$(PkgAWSSDK_SecurityToken)' == '' ">C:\Users\user\.nuget\packages\awssdk.securitytoken\3.7.401.89</PkgAWSSDK_SecurityToken>
|
||||
<PkgAWSSDK_S3 Condition=" '$(PkgAWSSDK_S3)' == '' ">C:\Users\user\.nuget\packages\awssdk.s3\3.7.416.15</PkgAWSSDK_S3>
|
||||
<PkgAWSSDK_OpenSearchService Condition=" '$(PkgAWSSDK_OpenSearchService)' == '' ">C:\Users\user\.nuget\packages\awssdk.opensearchservice\3.7.404.81</PkgAWSSDK_OpenSearchService>
|
||||
<PkgAWSSDK_DynamoDBv2 Condition=" '$(PkgAWSSDK_DynamoDBv2)' == '' ">C:\Users\user\.nuget\packages\awssdk.dynamodbv2\3.7.407</PkgAWSSDK_DynamoDBv2>
|
||||
<PkgAWSSDK_CloudWatchLogs Condition=" '$(PkgAWSSDK_CloudWatchLogs)' == '' ">C:\Users\user\.nuget\packages\awssdk.cloudwatchlogs\3.7.305.15</PkgAWSSDK_CloudWatchLogs>
|
||||
<PkgAWSSDK_EC2 Condition=" '$(PkgAWSSDK_EC2)' == '' ">C:\Users\user\.nuget\packages\awssdk.ec2\3.7.330.4</PkgAWSSDK_EC2>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
<Import Project="$(NuGetPackageRoot)xunit.core\2.9.3\build\xunit.core.targets" Condition="Exists('$(NuGetPackageRoot)xunit.core\2.9.3\build\xunit.core.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.2\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.2\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.4\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.4\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.targets" Condition="Exists('$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\8.0.0\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.codecoverage\17.12.0\build\netstandard2.0\Microsoft.CodeCoverage.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codecoverage\17.12.0\build\netstandard2.0\Microsoft.CodeCoverage.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.targets')" />
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "mcFSESevTrE=",
|
||||
"dgSpecHash": "Q+hbkpSpm30=",
|
||||
"success": true,
|
||||
"projectFilePath": "D:\\03.SVN\\03.caliverse\\Server\\CaliServer\\BrokerApiTest\\BrokerApiTest.csproj",
|
||||
"expectedPackageFiles": [
|
||||
@@ -8,22 +8,37 @@
|
||||
"C:\\Users\\user\\.nuget\\packages\\asp.versioning.http\\8.1.0\\asp.versioning.http.8.1.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\asp.versioning.mvc\\8.1.0\\asp.versioning.mvc.8.1.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\asyncstatemachine\\1.3.2\\asyncstatemachine.1.3.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\autofac\\8.2.0\\autofac.8.2.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper\\14.0.0\\automapper.14.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.aspnetcore.odata.efcore\\7.0.1\\automapper.aspnetcore.odata.efcore.7.0.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.collection\\11.0.0\\automapper.collection.11.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.collection.entityframeworkcore\\11.0.0\\automapper.collection.entityframeworkcore.11.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.contrib.autofac.dependencyinjection\\9.0.0\\automapper.contrib.autofac.dependencyinjection.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.data\\9.0.0\\automapper.data.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.ef6\\3.0.1\\automapper.ef6.3.0.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.extensions.enummapping\\4.1.0\\automapper.extensions.enummapping.4.1.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\automapper.extensions.expressionmapping\\8.0.0\\automapper.extensions.expressionmapping.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\aws.logger.core\\3.3.3\\aws.logger.core.3.3.3.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\aws.logger.nlog\\3.3.4\\aws.logger.nlog.3.3.4.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.cloudwatchlogs\\3.7.305.15\\awssdk.cloudwatchlogs.3.7.305.15.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.core\\3.7.402.39\\awssdk.core.3.7.402.39.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.dynamodbv2\\3.7.406.21\\awssdk.dynamodbv2.3.7.406.21.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.core\\3.7.402.46\\awssdk.core.3.7.402.46.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.dynamodbv2\\3.7.407\\awssdk.dynamodbv2.3.7.407.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.ec2\\3.7.330.4\\awssdk.ec2.3.7.330.4.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.opensearchservice\\3.7.404.75\\awssdk.opensearchservice.3.7.404.75.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.s3\\3.7.416.9\\awssdk.s3.3.7.416.9.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.opensearchservice\\3.7.404.81\\awssdk.opensearchservice.3.7.404.81.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.s3\\3.7.416.15\\awssdk.s3.3.7.416.15.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\awssdk.securitytoken\\3.7.401.89\\awssdk.securitytoken.3.7.401.89.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\axion.concurrenthashset\\1.0.0\\axion.concurrenthashset.1.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\bouncycastle.cryptography\\2.4.0\\bouncycastle.cryptography.2.4.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\bcrypt.net-next\\4.0.3\\bcrypt.net-next.4.0.3.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\bouncycastle.cryptography\\2.5.1\\bouncycastle.cryptography.2.5.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\castle.core\\5.1.1\\castle.core.5.1.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\commandlineparser\\2.9.1\\commandlineparser.2.9.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\communitytoolkit.diagnostics\\8.2.2\\communitytoolkit.diagnostics.8.2.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\delegatedecompiler\\0.34.0\\delegatedecompiler.0.34.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\delegatedecompiler.entityframework\\0.34.0\\delegatedecompiler.entityframework.0.34.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\dnsclient\\1.6.1\\dnsclient.1.6.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\dotnet.multimap\\2.2.1\\dotnet.multimap.2.2.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\dumpextensions\\2.0.0\\dumpextensions.2.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\entityframework\\6.5.1\\entityframework.6.5.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\google.protobuf\\3.27.1\\google.protobuf.3.27.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\grpc.aspnetcore\\2.63.0\\grpc.aspnetcore.2.63.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\grpc.aspnetcore.server\\2.63.0\\grpc.aspnetcore.server.2.63.0.nupkg.sha512",
|
||||
@@ -35,30 +50,35 @@
|
||||
"C:\\Users\\user\\.nuget\\packages\\grpc.net.common\\2.63.0\\grpc.net.common.2.63.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\grpc.reflection\\2.63.0\\grpc.reflection.2.63.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\jwt\\11.0.0\\jwt.11.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\logicbuilder.expressions.utils\\7.0.0\\logicbuilder.expressions.utils.7.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\logicbuilder.structures\\7.0.0\\logicbuilder.structures.7.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\mediatr\\12.3.0\\mediatr.12.3.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\mediatr.contracts\\2.0.1\\mediatr.contracts.2.0.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.authentication.jwtbearer\\8.0.2\\microsoft.aspnetcore.authentication.jwtbearer.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.mvc.testing\\8.0.2\\microsoft.aspnetcore.mvc.testing.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.odata\\9.1.1\\microsoft.aspnetcore.odata.9.1.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.testhost\\8.0.2\\microsoft.aspnetcore.testhost.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\8.0.0\\microsoft.bcl.asyncinterfaces.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.bcl.memory\\9.0.0\\microsoft.bcl.memory.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.codecoverage\\17.12.0\\microsoft.codecoverage.17.12.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.diagnostics.netcore.client\\0.2.621003\\microsoft.diagnostics.netcore.client.0.2.621003.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.2\\microsoft.entityframeworkcore.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.2\\microsoft.entityframeworkcore.abstractions.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.2\\microsoft.entityframeworkcore.analyzers.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.entityframeworkcore\\9.0.2\\microsoft.entityframeworkcore.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\9.0.2\\microsoft.entityframeworkcore.abstractions.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\9.0.2\\microsoft.entityframeworkcore.analyzers.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.2\\microsoft.entityframeworkcore.relational.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.0\\microsoft.extensions.caching.memory.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\9.0.2\\microsoft.extensions.caching.abstractions.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.caching.memory\\9.0.2\\microsoft.extensions.caching.memory.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration\\9.0.4\\microsoft.extensions.configuration.9.0.4.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\9.0.4\\microsoft.extensions.configuration.abstractions.9.0.4.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.0\\microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\8.0.0\\microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\8.0.0\\microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\8.0.0\\microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\9.0.2\\microsoft.extensions.dependencyinjection.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.4\\microsoft.extensions.dependencyinjection.abstractions.9.0.4.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.0\\microsoft.extensions.dependencymodel.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.diagnostics\\8.0.0\\microsoft.extensions.diagnostics.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.diagnostics.abstractions\\8.0.0\\microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512",
|
||||
@@ -68,31 +88,37 @@
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.hosting\\8.0.0\\microsoft.extensions.hosting.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\8.0.0\\microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.http\\8.0.0\\microsoft.extensions.http.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging\\8.0.0\\microsoft.extensions.logging.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging\\9.0.2\\microsoft.extensions.logging.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\9.0.2\\microsoft.extensions.logging.abstractions.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.configuration\\8.0.0\\microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.console\\8.0.0\\microsoft.extensions.logging.console.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.debug\\8.0.0\\microsoft.extensions.logging.debug.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.eventlog\\8.0.0\\microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.eventsource\\8.0.0\\microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.options\\8.0.0\\microsoft.extensions.options.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.objectpool\\6.0.3\\microsoft.extensions.objectpool.6.0.3.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.options\\9.0.4\\microsoft.extensions.options.9.0.4.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\8.0.0\\microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.abstractions\\8.8.0\\microsoft.identitymodel.abstractions.8.8.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\8.8.0\\microsoft.identitymodel.jsonwebtokens.8.8.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.logging\\8.8.0\\microsoft.identitymodel.logging.8.8.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.4\\microsoft.extensions.primitives.9.0.4.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.abstractions\\8.9.0\\microsoft.identitymodel.abstractions.8.9.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\8.9.0\\microsoft.identitymodel.jsonwebtokens.8.9.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.logging\\8.9.0\\microsoft.identitymodel.logging.8.9.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.protocols\\7.1.2\\microsoft.identitymodel.protocols.7.1.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\7.1.2\\microsoft.identitymodel.protocols.openidconnect.7.1.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.tokens\\8.8.0\\microsoft.identitymodel.tokens.8.8.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.identitymodel.tokens\\8.9.0\\microsoft.identitymodel.tokens.8.9.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.net.test.sdk\\17.12.0\\microsoft.net.test.sdk.17.12.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.odata.core\\8.2.2\\microsoft.odata.core.8.2.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.odata.edm\\8.2.2\\microsoft.odata.edm.8.2.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.odata.modelbuilder\\2.0.0\\microsoft.odata.modelbuilder.2.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.openapi\\1.6.22\\microsoft.openapi.1.6.22.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.spatial\\8.2.2\\microsoft.spatial.8.2.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.testplatform.objectmodel\\17.12.0\\microsoft.testplatform.objectmodel.17.12.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.testplatform.testhost\\17.12.0\\microsoft.testplatform.testhost.17.12.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.win32.registry\\5.0.0\\microsoft.win32.registry.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\mongodb.analyzer\\1.5.0\\mongodb.analyzer.1.5.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\mongodb.bson\\3.3.0\\mongodb.bson.3.3.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\mongodb.driver\\3.3.0\\mongodb.driver.3.3.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\mono.reflection\\2.0.0\\mono.reflection.2.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\moq\\4.20.72\\moq.4.20.72.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\mysqlconnector\\2.4.0\\mysqlconnector.2.4.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\neosmart.asynclock\\3.2.1\\neosmart.asynclock.3.2.1.nupkg.sha512",
|
||||
@@ -113,9 +139,13 @@
|
||||
"C:\\Users\\user\\.nuget\\packages\\pipelines.sockets.unofficial\\2.2.8\\pipelines.sockets.unofficial.2.2.8.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\pomelo.entityframeworkcore.mysql\\8.0.2\\pomelo.entityframeworkcore.mysql.8.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\rabbitmq.client\\6.8.1\\rabbitmq.client.6.8.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.7.0\\runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\sharpcompress\\0.30.1\\sharpcompress.0.30.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\snappier\\1.0.0\\snappier.1.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\ssh.net\\2024.2.0\\ssh.net.2024.2.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\ssh.net\\2025.0.0\\ssh.net.2025.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\stackexchange.redis\\2.8.31\\stackexchange.redis.2.8.31.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\stackexchange.redis.extensions.core\\11.0.0\\stackexchange.redis.extensions.core.11.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\stackexchange.redis.extensions.newtonsoft\\11.0.0\\stackexchange.redis.extensions.newtonsoft.11.0.0.nupkg.sha512",
|
||||
@@ -125,20 +155,29 @@
|
||||
"C:\\Users\\user\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\7.2.0\\swashbuckle.aspnetcore.swaggergen.7.2.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\7.2.0\\swashbuckle.aspnetcore.swaggerui.7.2.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.buffers\\4.5.1\\system.buffers.4.5.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.codedom\\6.0.0\\system.codedom.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.collections.immutable\\1.7.1\\system.collections.immutable.1.7.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.componentmodel.annotations\\5.0.0\\system.componentmodel.annotations.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.configuration.configurationmanager\\6.0.1\\system.configuration.configurationmanager.6.0.1.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.data.sqlclient\\4.8.6\\system.data.sqlclient.4.8.6.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.diagnostics.diagnosticsource\\9.0.2\\system.diagnostics.diagnosticsource.9.0.2.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.identitymodel.tokens.jwt\\8.8.0\\system.identitymodel.tokens.jwt.8.8.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.drawing.common\\6.0.0\\system.drawing.common.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.identitymodel.tokens.jwt\\8.9.0\\system.identitymodel.tokens.jwt.8.9.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.io.pipelines\\8.0.0\\system.io.pipelines.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.memory\\4.5.5\\system.memory.4.5.5.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.reactive\\6.0.0\\system.reactive.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.reflection.emit\\4.7.0\\system.reflection.emit.4.7.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.reflection.metadata\\1.6.0\\system.reflection.metadata.1.6.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\5.0.0\\system.runtime.compilerservices.unsafe.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.security.accesscontrol\\5.0.0\\system.security.accesscontrol.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.security.principal.windows\\5.0.0\\system.security.principal.windows.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.threading.channels\\7.0.0\\system.threading.channels.7.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\xunit\\2.9.3\\xunit.2.9.3.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\xunit.abstractions\\2.0.3\\xunit.abstractions.2.0.3.nupkg.sha512",
|
||||
"C:\\Users\\user\\.nuget\\packages\\xunit.analyzers\\1.18.0\\xunit.analyzers.1.18.0.nupkg.sha512",
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
17455459552361144
|
||||
17460517968346217
|
||||
Reference in New Issue
Block a user