feat: migrate playback domain to modular architecture

This commit is contained in:
2026-05-13 11:20:46 +02:00
parent ab31cf4c4c
commit 4d1fd2834b
5 changed files with 205 additions and 33 deletions

View File

@@ -1,6 +1,8 @@
package playback
import (
"mal/integrations/jikan"
"mal/integrations/playback/allanime"
"mal/internal/domain"
"mal/internal/playback/handler"
"mal/internal/playback/repository"
@@ -13,12 +15,19 @@ import (
var Module = fx.Options(
fx.Provide(
repository.NewPlaybackRepository,
service.NewPlaybackService,
handler.NewPlaybackHandler,
func(repo domain.PlaybackRepository, providers []domain.Provider, jikan *jikan.Client) domain.PlaybackService {
return service.NewPlaybackService(repo, providers, jikan)
},
func(svc domain.PlaybackService, animeSvc domain.AnimeService) *handler.PlaybackHandler {
return handler.NewPlaybackHandler(svc, animeSvc)
},
),
fx.Provide(
server.AsRouteRegister(func(h *handler.PlaybackHandler) server.RouteRegister {
return h
}),
),
fx.Provide(func(p *allanime.AllAnimeProvider) []domain.Provider {
return []domain.Provider{p}
}),
)