Postgres (#30)
* Add postgres * Migrate users * Migrate geneticRequest * Try to fix Concurrent call * Fix asyncawait * Fix async and concurrent * Migrate backtests * Add cache for user by address * Fix backtest migration * Fix not open connection * Fix backtest command error * Fix concurrent * Fix all concurrency * Migrate TradingRepo * Fix scenarios * Migrate statistic repo * Save botbackup * Add settings et moneymanagement * Add bot postgres * fix a bit more backups * Fix bot model * Fix loading backup * Remove cache market for read positions * Add workers to postgre * Fix workers api * Reduce get Accounts for workers * Migrate synth to postgre * Fix backtest saved * Remove mongodb * botservice decorrelation * Fix tradingbot scope call * fix tradingbot * fix concurrent * Fix scope for genetics * Fix account over requesting * Fix bundle backtest worker * fix a lot of things * fix tab backtest * Remove optimized moneymanagement * Add light signal to not use User and too much property * Make money management lighter * insert indicators to awaitable * Migrate add strategies to await * Refactor scenario and indicator retrieval to use asynchronous methods throughout the application * add more async await * Add services * Fix and clean * Fix bot a bit * Fix bot and add message for cooldown * Remove fees * Add script to deploy db * Update dfeeploy script * fix script * Add idempotent script and backup * finish script migration * Fix did user and agent name on start bot
This commit is contained in:
@@ -8,5 +8,5 @@ public interface IAccountRepository
|
||||
Task<Account> GetAccountByKeyAsync(string key);
|
||||
Task InsertAccountAsync(Account account);
|
||||
void DeleteAccountByName(string name);
|
||||
IEnumerable<Account> GetAccounts();
|
||||
Task<IEnumerable<Account>> GetAccountsAsync();
|
||||
}
|
||||
|
||||
@@ -7,25 +7,39 @@ public interface IBacktestRepository
|
||||
{
|
||||
void InsertBacktestForUser(User user, Backtest result);
|
||||
IEnumerable<Backtest> GetBacktestsByUser(User user);
|
||||
Task<IEnumerable<Backtest>> GetBacktestsByUserAsync(User user);
|
||||
IEnumerable<Backtest> GetBacktestsByRequestId(string requestId);
|
||||
Task<IEnumerable<Backtest>> GetBacktestsByRequestIdAsync(string requestId);
|
||||
|
||||
(IEnumerable<LightBacktest> Backtests, int TotalCount) GetBacktestsByRequestIdPaginated(string requestId, int page,
|
||||
int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
|
||||
Task<(IEnumerable<LightBacktest> Backtests, int TotalCount)> GetBacktestsByRequestIdPaginatedAsync(string requestId,
|
||||
int page,
|
||||
int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
|
||||
(IEnumerable<LightBacktest> Backtests, int TotalCount) GetBacktestsByUserPaginated(User user, int page,
|
||||
int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
|
||||
Backtest GetBacktestByIdForUser(User user, string id);
|
||||
void DeleteBacktestByIdForUser(User user, string id);
|
||||
void DeleteBacktestsByIdsForUser(User user, IEnumerable<string> ids);
|
||||
Task<(IEnumerable<LightBacktest> Backtests, int TotalCount)> GetBacktestsByUserPaginatedAsync(User user, int page,
|
||||
int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
|
||||
Task<Backtest> GetBacktestByIdForUserAsync(User user, string id);
|
||||
Task DeleteBacktestByIdForUserAsync(User user, string id);
|
||||
Task DeleteBacktestsByIdsForUserAsync(User user, IEnumerable<string> ids);
|
||||
void DeleteAllBacktestsForUser(User user);
|
||||
void DeleteBacktestsByRequestId(string requestId);
|
||||
Task DeleteBacktestsByRequestIdAsync(string requestId);
|
||||
|
||||
// Bundle backtest methods
|
||||
void InsertBundleBacktestRequestForUser(User user, BundleBacktestRequest bundleRequest);
|
||||
IEnumerable<BundleBacktestRequest> GetBundleBacktestRequestsByUser(User user);
|
||||
Task<IEnumerable<BundleBacktestRequest>> GetBundleBacktestRequestsByUserAsync(User user);
|
||||
BundleBacktestRequest? GetBundleBacktestRequestByIdForUser(User user, string id);
|
||||
Task<BundleBacktestRequest?> GetBundleBacktestRequestByIdForUserAsync(User user, string id);
|
||||
void UpdateBundleBacktestRequest(BundleBacktestRequest bundleRequest);
|
||||
Task UpdateBundleBacktestRequestAsync(BundleBacktestRequest bundleRequest);
|
||||
void DeleteBundleBacktestRequestByIdForUser(User user, string id);
|
||||
Task DeleteBundleBacktestRequestByIdForUserAsync(User user, string id);
|
||||
IEnumerable<BundleBacktestRequest> GetBundleBacktestRequestsByStatus(BundleBacktestRequestStatus status);
|
||||
Task<IEnumerable<BundleBacktestRequest>> GetBundleBacktestRequestsByStatusAsync(BundleBacktestRequestStatus status);
|
||||
}
|
||||
@@ -5,7 +5,8 @@ namespace Managing.Application.Abstractions.Repositories;
|
||||
public interface IBotRepository
|
||||
{
|
||||
Task InsertBotAsync(BotBackup bot);
|
||||
IEnumerable<BotBackup> GetBots();
|
||||
Task<IEnumerable<BotBackup>> GetBotsAsync();
|
||||
Task UpdateBackupBot(BotBackup bot);
|
||||
Task DeleteBotBackup(string botName);
|
||||
Task<BotBackup?> GetBotByIdentifierAsync(string identifier);
|
||||
}
|
||||
@@ -34,7 +34,7 @@ public interface IGeneticRepository
|
||||
/// Updates a genetic request
|
||||
/// </summary>
|
||||
/// <param name="geneticRequest">The genetic request to update</param>
|
||||
void UpdateGeneticRequest(GeneticRequest geneticRequest);
|
||||
Task UpdateGeneticRequestAsync(GeneticRequest geneticRequest);
|
||||
|
||||
/// <summary>
|
||||
/// Deletes a genetic request by ID for a user
|
||||
@@ -50,8 +50,9 @@ public interface IGeneticRepository
|
||||
void DeleteAllGeneticRequestsForUser(User user);
|
||||
|
||||
/// <summary>
|
||||
/// Gets all pending genetic requests across all users
|
||||
/// Gets all genetic requests by status across all users
|
||||
/// </summary>
|
||||
/// <returns>Collection of pending genetic requests</returns>
|
||||
IEnumerable<GeneticRequest> GetPendingGeneticRequests();
|
||||
/// <param name="status">The status to filter by</param>
|
||||
/// <returns>Collection of genetic requests</returns>
|
||||
Task<List<GeneticRequest>> GetGeneticRequestsAsync(GeneticRequestStatus status);
|
||||
}
|
||||
@@ -6,15 +6,15 @@ namespace Managing.Application.Abstractions.Repositories;
|
||||
public interface ISettingsRepository
|
||||
{
|
||||
Task<MoneyManagement> GetMoneyManagement(string name);
|
||||
Task InsertMoneyManagement(MoneyManagement request);
|
||||
void UpdateMoneyManagement(MoneyManagement moneyManagement);
|
||||
IEnumerable<MoneyManagement> GetMoneyManagements();
|
||||
void DeleteMoneyManagement(string name);
|
||||
void DeleteMoneyManagements();
|
||||
|
||||
Task InsertMoneyManagement(LightMoneyManagement request, User user);
|
||||
Task UpdateMoneyManagementAsync(LightMoneyManagement moneyManagement, User user);
|
||||
Task<IEnumerable<MoneyManagement>> GetMoneyManagementsAsync();
|
||||
Task DeleteMoneyManagementAsync(string name);
|
||||
Task DeleteMoneyManagementsAsync();
|
||||
|
||||
// User-specific operations (these should eventually replace the above methods)
|
||||
Task<MoneyManagement> GetMoneyManagementByUser(User user, string name);
|
||||
IEnumerable<MoneyManagement> GetMoneyManagementsByUser(User user);
|
||||
void DeleteMoneyManagementByUser(User user, string name);
|
||||
void DeleteMoneyManagementsByUser(User user);
|
||||
}
|
||||
Task<IEnumerable<MoneyManagement>> GetMoneyManagementsByUserAsync(User user);
|
||||
Task DeleteMoneyManagementByUserAsync(User user, string name);
|
||||
Task DeleteMoneyManagementsByUserAsync(User user);
|
||||
}
|
||||
@@ -6,19 +6,26 @@ public interface IStatisticRepository
|
||||
{
|
||||
Task InsertTopVolumeTicker(TopVolumeTicker topVolumeTicker);
|
||||
IList<TopVolumeTicker> GetTopVolumeTickers(DateTime date);
|
||||
Task<IList<TopVolumeTicker>> GetTopVolumeTickersAsync(DateTime date);
|
||||
|
||||
Task SaveSpotligthtOverview(SpotlightOverview overview);
|
||||
IList<SpotlightOverview> GetSpotlightOverviews(DateTime date);
|
||||
Task<IList<SpotlightOverview>> GetSpotlightOverviewsAsync(DateTime date);
|
||||
void UpdateSpotlightOverview(SpotlightOverview overview);
|
||||
List<Trader> GetBestTraders();
|
||||
void UpdateBestTrader(Trader trader);
|
||||
Task UpdateSpotlightOverviewAsync(SpotlightOverview overview);
|
||||
|
||||
Task<List<Trader>> GetBestTradersAsync();
|
||||
Task UpdateBestTraderAsync(Trader trader);
|
||||
Task InsertBestTrader(Trader trader);
|
||||
Task RemoveBestTrader(Trader trader);
|
||||
List<Trader> GetBadTraders();
|
||||
void UpdateBadTrader(Trader trader);
|
||||
|
||||
Task<List<Trader>> GetBadTradersAsync();
|
||||
Task UpdateBadTraderAsync(Trader trader);
|
||||
Task InsertBadTrader(Trader trader);
|
||||
Task RemoveBadTrader(Trader trader);
|
||||
List<FundingRate> GetFundingRates();
|
||||
|
||||
Task<List<FundingRate>> GetFundingRatesAsync();
|
||||
Task RemoveFundingRate(FundingRate oldRate);
|
||||
Task InsertFundingRate(FundingRate newRate);
|
||||
void UpdateFundingRate(FundingRate oldRate, FundingRate newRate);
|
||||
Task UpdateFundingRateAsync(FundingRate oldRate, FundingRate newRate);
|
||||
}
|
||||
@@ -8,27 +8,23 @@ namespace Managing.Application.Abstractions.Repositories;
|
||||
|
||||
public interface ITradingRepository
|
||||
{
|
||||
Scenario GetScenarioByName(string scenario);
|
||||
void InsertSignal(Signal signal);
|
||||
IEnumerable<Signal> GetSignalsByUser(User user);
|
||||
Signal GetSignalByIdentifier(string identifier, User user = null);
|
||||
void InsertPosition(Position position);
|
||||
void UpdatePosition(Position position);
|
||||
Indicator GetStrategyByName(string strategy);
|
||||
void InsertScenario(Scenario scenario);
|
||||
void InsertStrategy(Indicator indicator);
|
||||
IEnumerable<Scenario> GetScenarios();
|
||||
IEnumerable<Indicator> GetIndicators();
|
||||
void DeleteScenario(string name);
|
||||
void DeleteIndicator(string name);
|
||||
void DeleteScenarios();
|
||||
void DeleteIndicators();
|
||||
Position GetPositionByIdentifier(string identifier);
|
||||
IEnumerable<Position> GetPositions(PositionInitiator positionInitiator);
|
||||
IEnumerable<Position> GetPositionsByStatus(PositionStatus positionStatus);
|
||||
Fee GetFee(TradingExchanges exchange);
|
||||
void InsertFee(Fee fee);
|
||||
void UpdateFee(Fee fee);
|
||||
void UpdateScenario(Scenario scenario);
|
||||
void UpdateStrategy(Indicator indicator);
|
||||
Task<Scenario> GetScenarioByNameAsync(string scenario);
|
||||
Task<IEnumerable<Signal>> GetSignalsByUserAsync(User user);
|
||||
Task<Signal> GetSignalByIdentifierAsync(string identifier, User user = null);
|
||||
Task InsertPositionAsync(Position position);
|
||||
Task UpdatePositionAsync(Position position);
|
||||
Task<Indicator> GetStrategyByNameAsync(string strategy);
|
||||
Task InsertScenarioAsync(Scenario scenario);
|
||||
Task InsertStrategyAsync(Indicator indicator);
|
||||
Task<IEnumerable<Scenario>> GetScenariosAsync();
|
||||
Task<IEnumerable<Indicator>> GetStrategiesAsync();
|
||||
Task<IEnumerable<Indicator>> GetIndicatorsAsync();
|
||||
Task DeleteScenarioAsync(string name);
|
||||
Task DeleteIndicatorAsync(string name);
|
||||
Task<Position> GetPositionByIdentifierAsync(string identifier);
|
||||
Task<IEnumerable<Position>> GetPositionsAsync(PositionInitiator positionInitiator);
|
||||
Task<IEnumerable<Position>> GetPositionsByStatusAsync(PositionStatus positionStatus);
|
||||
|
||||
Task UpdateScenarioAsync(Scenario scenario);
|
||||
Task UpdateStrategyAsync(Indicator indicator);
|
||||
}
|
||||
@@ -8,7 +8,7 @@ public interface IWorkerRepository
|
||||
Task DisableWorker(Enums.WorkerType workerType);
|
||||
Task EnableWorker(Enums.WorkerType workerType);
|
||||
Task<Worker> GetWorkerAsync(Enums.WorkerType workerType);
|
||||
IEnumerable<Worker> GetWorkers();
|
||||
Task<IEnumerable<Worker>> GetWorkers();
|
||||
Task InsertWorker(Worker worker);
|
||||
Task UpdateWorker(Enums.WorkerType workerType, int executionCount);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user