diff --git a/internal/playback/module.go b/internal/playback/module.go index 3ac0ad7..6bdea85 100644 --- a/internal/playback/module.go +++ b/internal/playback/module.go @@ -13,15 +13,15 @@ import ( "go.uber.org/fx" ) -func provideProxyTokenKey(cfg config.Config) string { - return cfg.PlaybackProxySecret +func provideProxyTokenKey(cfg config.Config) service.ProxyTokenKey { + return service.ProxyTokenKey(cfg.PlaybackProxySecret) } var Module = fx.Options( fx.Provide( repository.NewPlaybackRepository, fx.Annotate( - func(repo domain.PlaybackRepository, providers []domain.Provider, jikan *jikan.Client, episodeSvc domain.EpisodeService, auditSvc domain.AuditService, proxyTokenKey string) domain.PlaybackService { + func(repo domain.PlaybackRepository, providers []domain.Provider, jikan *jikan.Client, episodeSvc domain.EpisodeService, auditSvc domain.AuditService, proxyTokenKey service.ProxyTokenKey) domain.PlaybackService { return service.NewPlaybackService(repo, providers, jikan, episodeSvc, auditSvc, proxyTokenKey) }, ), diff --git a/internal/playback/service/service.go b/internal/playback/service/service.go index 5a0c148..1dc6ff1 100644 --- a/internal/playback/service/service.go +++ b/internal/playback/service/service.go @@ -35,6 +35,8 @@ type playbackService struct { auditSvc domain.AuditService } +type ProxyTokenKey string + type proxyTokenPayload struct { TargetURL string `json:"u"` Referer string `json:"r,omitempty"` @@ -42,7 +44,7 @@ type proxyTokenPayload struct { ExpiresAt int64 `json:"exp"` } -func NewPlaybackService(repo domain.PlaybackRepository, providers []domain.Provider, jikan *jikan.Client, episodes domain.EpisodeService, auditSvc domain.AuditService, proxyTokenKey string) domain.PlaybackService { +func NewPlaybackService(repo domain.PlaybackRepository, providers []domain.Provider, jikan *jikan.Client, episodes domain.EpisodeService, auditSvc domain.AuditService, proxyTokenKey ProxyTokenKey) domain.PlaybackService { return &playbackService{ repo: repo, providers: providers, @@ -50,7 +52,7 @@ func NewPlaybackService(repo domain.PlaybackRepository, providers []domain.Provi episodes: episodes, auditSvc: auditSvc, httpClient: &http.Client{Timeout: 10 * time.Second}, - proxyTokenKey: proxyTokenKey, + proxyTokenKey: string(proxyTokenKey), } }