8f13bb4a48
- PostgreSQL history contract와 schema/validator를 추가했습니다. - .NET history store, snapshot reader, repository, migration을 연결했습니다. - history-first 운영 모델 문서와 daily signal tracking 문구를 정리했습니다.
33 lines
1.6 KiB
C#
33 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using QuantEngine.Core.Interfaces;
|
|
using QuantEngine.Core.Models;
|
|
|
|
namespace QuantEngine.Application.Services
|
|
{
|
|
public class WorkspaceService
|
|
{
|
|
private readonly IWorkspaceRepository _repository;
|
|
private readonly IPostgresqlHistoryStore _historyStore;
|
|
|
|
public WorkspaceService(IWorkspaceRepository repository, IPostgresqlHistoryStore historyStore)
|
|
{
|
|
_repository = repository;
|
|
_historyStore = historyStore;
|
|
}
|
|
|
|
public Task<IEnumerable<Setting>> GetSettingsAsync() => _repository.GetSettingsAsync();
|
|
public Task<Setting?> GetSettingByKeyAsync(string key) => _repository.GetSettingByKeyAsync(key);
|
|
public Task<bool> UpsertSettingAsync(Setting setting) => _repository.UpsertSettingAsync(setting);
|
|
public Task<bool> DeleteSettingAsync(string key) => _repository.DeleteSettingAsync(key);
|
|
|
|
public Task<IEnumerable<AccountSnapshot>> GetAccountSnapshotsAsync() => _repository.GetAccountSnapshotsAsync();
|
|
public Task<bool> InsertAccountSnapshotsAsync(IEnumerable<AccountSnapshot> snapshots) => _repository.InsertAccountSnapshotsAsync(snapshots);
|
|
public Task<bool> ClearAccountSnapshotsAsync() => _repository.ClearAccountSnapshotsAsync();
|
|
|
|
public Task<int> AppendHistoryAsync(string domain, IDictionary<string, object?> payload) => _historyStore.AppendAsync(domain, payload);
|
|
public Task<IReadOnlyList<IDictionary<string, object?>>> ReadHistorySnapshotAsync(string domain, int limit = 500) => _historyStore.SnapshotAsync(domain, limit);
|
|
}
|
|
}
|