refactor: typed proxy key
This commit is contained in:
@@ -13,15 +13,15 @@ import (
|
|||||||
"go.uber.org/fx"
|
"go.uber.org/fx"
|
||||||
)
|
)
|
||||||
|
|
||||||
func provideProxyTokenKey(cfg config.Config) string {
|
func provideProxyTokenKey(cfg config.Config) service.ProxyTokenKey {
|
||||||
return cfg.PlaybackProxySecret
|
return service.ProxyTokenKey(cfg.PlaybackProxySecret)
|
||||||
}
|
}
|
||||||
|
|
||||||
var Module = fx.Options(
|
var Module = fx.Options(
|
||||||
fx.Provide(
|
fx.Provide(
|
||||||
repository.NewPlaybackRepository,
|
repository.NewPlaybackRepository,
|
||||||
fx.Annotate(
|
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)
|
return service.NewPlaybackService(repo, providers, jikan, episodeSvc, auditSvc, proxyTokenKey)
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ type playbackService struct {
|
|||||||
auditSvc domain.AuditService
|
auditSvc domain.AuditService
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ProxyTokenKey string
|
||||||
|
|
||||||
type proxyTokenPayload struct {
|
type proxyTokenPayload struct {
|
||||||
TargetURL string `json:"u"`
|
TargetURL string `json:"u"`
|
||||||
Referer string `json:"r,omitempty"`
|
Referer string `json:"r,omitempty"`
|
||||||
@@ -42,7 +44,7 @@ type proxyTokenPayload struct {
|
|||||||
ExpiresAt int64 `json:"exp"`
|
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{
|
return &playbackService{
|
||||||
repo: repo,
|
repo: repo,
|
||||||
providers: providers,
|
providers: providers,
|
||||||
@@ -50,7 +52,7 @@ func NewPlaybackService(repo domain.PlaybackRepository, providers []domain.Provi
|
|||||||
episodes: episodes,
|
episodes: episodes,
|
||||||
auditSvc: auditSvc,
|
auditSvc: auditSvc,
|
||||||
httpClient: &http.Client{Timeout: 10 * time.Second},
|
httpClient: &http.Client{Timeout: 10 * time.Second},
|
||||||
proxyTokenKey: proxyTokenKey,
|
proxyTokenKey: string(proxyTokenKey),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user