Persistance and recovery

This commit is contained in:
2026-03-19 13:23:23 -03:00
parent 51ef6e182d
commit 82d2e1b5f7
14 changed files with 859 additions and 130 deletions

View File

@ -16,6 +16,11 @@ import (
"quantex.com/qfixdpl/src/domain"
)
// TradeProvider exposes trade data from the FIX manager.
type TradeProvider interface {
GetTrades() []domain.ListTrade
}
const RedisMaxIdle = 3000 // In ms
type API struct {
@ -32,7 +37,7 @@ type Config struct {
EnableJWTAuth bool
}
func New(userData app.UserDataProvider, storeInstance *store.Store, orderStore domain.OrderStore, config Config, notify domain.Notifier) *API {
func New(userData app.UserDataProvider, storeInstance *store.Store, tradeProvider TradeProvider, config Config, notify domain.Notifier) *API {
// Set up Gin
var engine *gin.Engine
if version.Environment() == version.EnvironmentTypeProd {
@ -58,7 +63,7 @@ func New(userData app.UserDataProvider, storeInstance *store.Store, orderStore d
}
api := &API{
Controller: newController(NewPool(), userData, storeInstance, orderStore, config, notify),
Controller: newController(NewPool(), userData, storeInstance, tradeProvider, config, notify),
Router: engine,
Port: config.Port,
}