package restapi import ( "log/slog" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/recover" v1 "cryptoHermes/internal/controller/restapi/v1" "cryptoHermes/internal/usecase" ) type Deps struct { Logger *slog.Logger MarketContext *usecase.MarketContextUsecase MarketQuery *usecase.MarketQueryUsecase CoinglassQuery *usecase.CoinglassQueryUsecase CoinglassEnabled bool MarketData usecase.MarketDataProvider KlineRepo usecase.KlineRepository } func Register(app *fiber.App, deps Deps) { app.Use(recover.New()) app.Use(RequestLogger(deps.Logger)) api := app.Group("/v1") v1.RegisterHealth(api) v1.RegisterMarket(api, v1.MarketDeps{ MarketContext: deps.MarketContext, MarketQuery: deps.MarketQuery, MarketData: deps.MarketData, KlineRepo: deps.KlineRepo, }) v1.RegisterCoinglass(api, v1.CoinglassDeps{ Enabled: deps.CoinglassEnabled, Query: deps.CoinglassQuery, }) }