Clean namings and namespace

This commit is contained in:
2025-08-05 17:45:44 +07:00
parent 843239d187
commit 7d92031059
30 changed files with 67 additions and 64 deletions

View File

@@ -1,4 +1,4 @@
using Managing.Application.Workers.Abstractions; using Managing.Application.Abstractions.Services;
using Managing.Domain.Workers; using Managing.Domain.Workers;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using static Managing.Common.Enums; using static Managing.Common.Enums;
@@ -29,4 +29,4 @@ public class WorkerController : ControllerBase
{ {
return Ok(await _workerService.ToggleWorker(workerType)); return Ok(await _workerService.ToggleWorker(workerType));
} }
} }

View File

@@ -1,4 +1,3 @@
using Managing.Application.Abstractions.Models;
using Managing.Domain.Accounts; using Managing.Domain.Accounts;
using Managing.Domain.Bots; using Managing.Domain.Bots;
using Managing.Domain.Trades; using Managing.Domain.Trades;
@@ -24,7 +23,7 @@ public interface ILiveTradingBotGrain : IGrainWithGuidKey
/// <summary> /// <summary>
/// Gets comprehensive bot data including positions, signals, and performance metrics /// Gets comprehensive bot data including positions, signals, and performance metrics
/// </summary> /// </summary>
Task<TradingBotResponse> GetBotDataAsync(); Task<LiveTradingBotModel> GetBotDataAsync();
Task CreateAsync(TradingBotConfig config, User user); Task CreateAsync(TradingBotConfig config, User user);
Task StartAsync(); Task StartAsync();
@@ -35,7 +34,7 @@ public interface ILiveTradingBotGrain : IGrainWithGuidKey
Task<TradingBotConfig> GetConfiguration(); Task<TradingBotConfig> GetConfiguration();
Task<Position> ClosePositionAsync(Guid positionId); Task<Position> ClosePositionAsync(Guid positionId);
Task RestartAsync(); Task RestartAsync();
/// <summary> /// <summary>
/// Deletes the bot and cleans up all associated resources /// Deletes the bot and cleans up all associated resources
/// </summary> /// </summary>

View File

@@ -1,18 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Managing.Common\Managing.Common.csproj" /> <ProjectReference Include="..\Managing.Common\Managing.Common.csproj"/>
<ProjectReference Include="..\Managing.Domain\Managing.Domain.csproj" /> <ProjectReference Include="..\Managing.Domain\Managing.Domain.csproj"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="9.2.1" /> <PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="9.2.1"/>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -0,0 +1,5 @@
namespace Managing.Application.Abstractions.Services;
public interface IAgentService
{
}

View File

@@ -1,7 +1,7 @@
using Managing.Domain.MoneyManagements; using Managing.Domain.MoneyManagements;
using Managing.Domain.Users; using Managing.Domain.Users;
namespace Managing.Application.Abstractions namespace Managing.Application.Abstractions.Services
{ {
public interface IMoneyManagementService public interface IMoneyManagementService
{ {
@@ -12,4 +12,4 @@ namespace Managing.Application.Abstractions
Task<bool> DeleteMoneyManagement(User user, string name); Task<bool> DeleteMoneyManagement(User user, string name);
Task<bool> DeleteMoneyManagements(User user); Task<bool> DeleteMoneyManagements(User user);
} }
} }

View File

@@ -1,8 +1,8 @@
using static Managing.Common.Enums; using static Managing.Common.Enums;
namespace Managing.Application.Workers.Abstractions; namespace Managing.Application.Abstractions.Services;
public interface IPricesService public interface IPricesService
{ {
Task UpdatePrice(TradingExchanges exchange, Ticker ticker, Timeframe timeframe); Task UpdatePrice(TradingExchanges exchange, Ticker ticker, Timeframe timeframe);
} }

View File

@@ -1,7 +1,7 @@
using Managing.Domain.Workers; using Managing.Domain.Workers;
using static Managing.Common.Enums; using static Managing.Common.Enums;
namespace Managing.Application.Workers.Abstractions; namespace Managing.Application.Abstractions.Services;
public interface IWorkerService public interface IWorkerService
{ {
@@ -12,4 +12,4 @@ public interface IWorkerService
Task InsertWorker(WorkerType workerType, TimeSpan delay); Task InsertWorker(WorkerType workerType, TimeSpan delay);
Task<bool> ToggleWorker(WorkerType workerType); Task<bool> ToggleWorker(WorkerType workerType);
Task UpdateWorker(WorkerType workerType, int executionCount); Task UpdateWorker(WorkerType workerType, int executionCount);
} }

View File

@@ -1,5 +1,5 @@
using Managing.Application.Trading; using Managing.Application.Trading.Commands;
using Managing.Application.Trading.Commands; using Managing.Application.Trading.Handlers;
using Managing.Domain.Trades; using Managing.Domain.Trades;
using Managing.Domain.Users; using Managing.Domain.Users;
using Moq; using Moq;
@@ -45,7 +45,8 @@ public class PositionTests : BaseTests
// _ = new GetAccountPositioqwnInfoListOutputDTO().DecodeOutput(hexPositions).d // _ = new GetAccountPositioqwnInfoListOutputDTO().DecodeOutput(hexPositions).d
// //
var openTrade = await _exchangeService.GetTrade(_account, "", Ticker.GMX); var openTrade = await _exchangeService.GetTrade(_account, "", Ticker.GMX);
var position = new Position(Guid.NewGuid(), "", TradeDirection.Long, Ticker.GMX, MoneyManagement, PositionInitiator.User, var position = new Position(Guid.NewGuid(), "", TradeDirection.Long, Ticker.GMX, MoneyManagement,
PositionInitiator.User,
DateTime.UtcNow, new User()) DateTime.UtcNow, new User())
{ {
Open = openTrade Open = openTrade

View File

@@ -1,4 +1,4 @@
using Managing.Application.Workers.Abstractions; using Managing.Application.Abstractions.Services;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@@ -43,7 +43,8 @@ public abstract class BaseWorker<T> : BackgroundService where T : class
} }
else else
{ {
_logger.LogInformation($"[{_workerType}] Last run : {worker.LastRunTime} - Execution Count : {worker.ExecutionCount}"); _logger.LogInformation(
$"[{_workerType}] Last run : {worker.LastRunTime} - Execution Count : {worker.ExecutionCount}");
_executionCount = worker.ExecutionCount; _executionCount = worker.ExecutionCount;
} }
} }
@@ -61,6 +62,7 @@ public abstract class BaseWorker<T> : BackgroundService where T : class
_executionCount++; _executionCount++;
await workerService.UpdateWorker(_workerType, _executionCount); await workerService.UpdateWorker(_workerType, _executionCount);
} }
_logger.LogInformation($"[{_workerType}] Run ok. Next run at : {DateTime.UtcNow.Add(_delay)}"); _logger.LogInformation($"[{_workerType}] Run ok. Next run at : {DateTime.UtcNow.Add(_delay)}");
await Task.Delay(_delay); await Task.Delay(_delay);
} }

View File

@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using static Managing.Common.Enums; using static Managing.Common.Enums;
@@ -64,4 +63,4 @@ public abstract class PricesBaseWorker<T> : BaseWorker<T> where T : class
await _pricesService.UpdatePrice(TradingExchanges.Evm, ticker, _timeframe); await _pricesService.UpdatePrice(TradingExchanges.Evm, ticker, _timeframe);
} }
} }
} }

View File

@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using static Managing.Common.Enums; using static Managing.Common.Enums;
@@ -22,4 +21,4 @@ public class PricesFifteenMinutesWorker : PricesBaseWorker<PricesFifteenMinutesW
) )
{ {
} }
} }

View File

@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using static Managing.Common.Enums; using static Managing.Common.Enums;
@@ -22,4 +21,4 @@ public class PricesFiveMinutesWorker : PricesBaseWorker<PricesFiveMinutesWorker>
) )
{ {
} }
} }

View File

@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using static Managing.Common.Enums; using static Managing.Common.Enums;
@@ -22,4 +21,4 @@ public class PricesFourHoursWorker : PricesBaseWorker<PricesFourHoursWorker>
) )
{ {
} }
} }

View File

@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using static Managing.Common.Enums; using static Managing.Common.Enums;
@@ -22,4 +21,4 @@ public class PricesOneDayWorker : PricesBaseWorker<PricesOneDayWorker>
) )
{ {
} }
} }

View File

@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using static Managing.Common.Enums; using static Managing.Common.Enums;
@@ -21,4 +20,4 @@ public class PricesOneHourWorker : PricesBaseWorker<PricesOneHourWorker>
Timeframe.OneHour) Timeframe.OneHour)
{ {
} }
} }

View File

@@ -1,6 +1,5 @@
using Managing.Application.Abstractions.Repositories; using Managing.Application.Abstractions.Repositories;
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Workers.Abstractions;
using Managing.Domain.Accounts; using Managing.Domain.Accounts;
using Managing.Domain.Candles; using Managing.Domain.Candles;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@@ -35,7 +34,7 @@ public class PricesService : IPricesService
{ {
Exchange = exchange, Exchange = exchange,
}; };
if (account == null) if (account == null)
throw new Exception($"Enable to found account for exchange {exchange}"); throw new Exception($"Enable to found account for exchange {exchange}");

View File

@@ -1,5 +1,5 @@
using Managing.Application.Abstractions.Repositories; using Managing.Application.Abstractions.Repositories;
using Managing.Application.Workers.Abstractions; using Managing.Application.Abstractions.Services;
using Managing.Common; using Managing.Common;
using Managing.Domain.Workers; using Managing.Domain.Workers;

View File

@@ -0,0 +1,7 @@
using Managing.Application.Abstractions.Services;
namespace Managing.Application.Agents;
public class AgentService : IAgentService
{
}

View File

@@ -1,6 +1,5 @@
using Managing.Application.Abstractions; using Managing.Application.Abstractions;
using Managing.Application.Abstractions.Grains; using Managing.Application.Abstractions.Grains;
using Managing.Application.Abstractions.Models;
using Managing.Core; using Managing.Core;
using Managing.Domain.Accounts; using Managing.Domain.Accounts;
using Managing.Domain.Bots; using Managing.Domain.Bots;
@@ -323,7 +322,7 @@ public class LiveTradingBotGrain : Grain, ILiveTradingBotGrain, IRemindable
} }
public Task<TradingBotResponse> GetBotDataAsync() public Task<LiveTradingBotModel> GetBotDataAsync()
{ {
try try
{ {
@@ -332,7 +331,7 @@ public class LiveTradingBotGrain : Grain, ILiveTradingBotGrain, IRemindable
throw new InvalidOperationException("Bot is not running"); throw new InvalidOperationException("Bot is not running");
} }
return Task.FromResult(new TradingBotResponse return Task.FromResult(new LiveTradingBotModel
{ {
Identifier = _state.State.Identifier, Identifier = _state.State.Identifier,
Name = _state.State.Name, Name = _state.State.Name,

View File

@@ -1,8 +1,8 @@
using Managing.Application.Abstractions; using Managing.Application.Abstractions;
using Managing.Application.Abstractions.Grains; using Managing.Application.Abstractions.Grains;
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Trading;
using Managing.Application.Trading.Commands; using Managing.Application.Trading.Commands;
using Managing.Application.Trading.Handlers;
using Managing.Common; using Managing.Common;
using Managing.Core; using Managing.Core;
using Managing.Domain.Accounts; using Managing.Domain.Accounts;

View File

@@ -1,5 +1,5 @@
using Managing.Application.Abstractions; using Managing.Application.Abstractions.Repositories;
using Managing.Application.Abstractions.Repositories; using Managing.Application.Abstractions.Services;
using Managing.Domain.MoneyManagements; using Managing.Domain.MoneyManagements;
using Managing.Domain.Users; using Managing.Domain.Users;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@@ -47,9 +47,9 @@ public class MoneyManagementService : IMoneyManagementService
TakeProfit = request.TakeProfit, TakeProfit = request.TakeProfit,
Leverage = request.Leverage Leverage = request.Leverage
}; };
await _settingsRepository.InsertMoneyManagement(lightRequest, user); await _settingsRepository.InsertMoneyManagement(lightRequest, user);
// Return the created money management with user // Return the created money management with user
return new MoneyManagement return new MoneyManagement
{ {
@@ -81,7 +81,7 @@ public class MoneyManagementService : IMoneyManagementService
}; };
await _settingsRepository.UpdateMoneyManagementAsync(lightRequest, user); await _settingsRepository.UpdateMoneyManagementAsync(lightRequest, user);
// Return updated money management // Return updated money management
return new MoneyManagement return new MoneyManagement
{ {

View File

@@ -6,7 +6,7 @@ using Managing.Domain.Trades;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using static Managing.Common.Enums; using static Managing.Common.Enums;
namespace Managing.Application.Trading; namespace Managing.Application.Trading.Handlers;
public class ClosePositionCommandHandler( public class ClosePositionCommandHandler(
IExchangeService exchangeService, IExchangeService exchangeService,

View File

@@ -3,7 +3,7 @@ using Managing.Application.Trading.Commands;
using Managing.Domain.Trades; using Managing.Domain.Trades;
using MediatR; using MediatR;
namespace Managing.Application.Trading; namespace Managing.Application.Trading.Handlers;
public class GetTradeCommandHandler : IRequestHandler<GetTradeCommand, Trade> public class GetTradeCommandHandler : IRequestHandler<GetTradeCommand, Trade>
{ {

View File

@@ -3,7 +3,7 @@ using Managing.Application.Trading.Commands;
using Managing.Domain.Trades; using Managing.Domain.Trades;
using MediatR; using MediatR;
namespace Managing.Application.Trading namespace Managing.Application.Trading.Handlers
{ {
public class GetTradesCommandHandler : IRequestHandler<GetTradesCommand, List<Trade>> public class GetTradesCommandHandler : IRequestHandler<GetTradesCommand, List<Trade>>
{ {

View File

@@ -6,7 +6,7 @@ using Managing.Domain.Shared.Helpers;
using Managing.Domain.Trades; using Managing.Domain.Trades;
using static Managing.Common.Enums; using static Managing.Common.Enums;
namespace Managing.Application.Trading namespace Managing.Application.Trading.Handlers
{ {
public class OpenPositionCommandHandler( public class OpenPositionCommandHandler(
IExchangeService exchangeService, IExchangeService exchangeService,

View File

@@ -17,9 +17,9 @@ using Managing.Application.Shared.Behaviours;
using Managing.Application.Synth; using Managing.Application.Synth;
using Managing.Application.Trading; using Managing.Application.Trading;
using Managing.Application.Trading.Commands; using Managing.Application.Trading.Commands;
using Managing.Application.Trading.Handlers;
using Managing.Application.Users; using Managing.Application.Users;
using Managing.Application.Workers; using Managing.Application.Workers;
using Managing.Application.Workers.Abstractions;
using Managing.Domain.Trades; using Managing.Domain.Trades;
using Managing.Infrastructure.Database.PostgreSql; using Managing.Infrastructure.Database.PostgreSql;
using Managing.Infrastructure.Databases; using Managing.Infrastructure.Databases;

View File

@@ -11,9 +11,9 @@ using Managing.Application.Shared;
using Managing.Application.Synth; using Managing.Application.Synth;
using Managing.Application.Trading; using Managing.Application.Trading;
using Managing.Application.Trading.Commands; using Managing.Application.Trading.Commands;
using Managing.Application.Trading.Handlers;
using Managing.Application.Users; using Managing.Application.Users;
using Managing.Application.Workers; using Managing.Application.Workers;
using Managing.Application.Workers.Abstractions;
using Managing.Domain.Trades; using Managing.Domain.Trades;
using Managing.Infrastructure.Databases; using Managing.Infrastructure.Databases;
using Managing.Infrastructure.Databases.InfluxDb; using Managing.Infrastructure.Databases.InfluxDb;

View File

@@ -1,17 +1,16 @@
using Managing.Domain.Bots;
using Managing.Domain.Indicators; using Managing.Domain.Indicators;
using Managing.Domain.Trades; using Managing.Domain.Trades;
using Orleans; using Orleans;
using static Managing.Common.Enums; using static Managing.Common.Enums;
namespace Managing.Application.Abstractions.Models; namespace Managing.Domain.Bots;
/// <summary> /// <summary>
/// Response model for trading bot data. /// Response model for trading bot data.
/// Used to return comprehensive bot information via Orleans grains. /// Used to return comprehensive bot information via Orleans grains.
/// </summary> /// </summary>
[GenerateSerializer] [GenerateSerializer]
public class TradingBotResponse public class LiveTradingBotModel
{ {
/// <summary> /// <summary>
/// Bot identifier /// Bot identifier

View File

@@ -2,10 +2,9 @@
using Discord.Commands; using Discord.Commands;
using Discord.Net; using Discord.Net;
using Discord.WebSocket; using Discord.WebSocket;
using Managing.Application.Abstractions;
using Managing.Application.Abstractions.Services; using Managing.Application.Abstractions.Services;
using Managing.Application.Trading;
using Managing.Application.Trading.Commands; using Managing.Application.Trading.Commands;
using Managing.Application.Trading.Handlers;
using Managing.Common; using Managing.Common;
using Managing.Core; using Managing.Core;
using Managing.Domain.MoneyManagements; using Managing.Domain.MoneyManagements;