diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-04 00:10:32 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-04 00:10:32 +0300 |
| commit | c68c54b0212ebc8d111b11c6edff82942c3a4463 (patch) | |
| tree | faab06668883d4977aebe4885d61cb0e00644009 /cmd/mediaplayer | |
| parent | 2774c4706214be226d822ab296ac062f5212f740 (diff) | |
task 6: narrow service interfaces in Server and Middleware
Split Server struct to accept narrow service interfaces instead of fat
composites (MediaService, AdminService). Each handler now depends only on
its specific slice (MediaBrowseService, MediaWriteService, etc.).
Split Middleware to depend on a narrow UserStore interface instead of full
repository.Store. Updated all constructors, call sites, and tests.
Added negative tests for nil AdminService and ProgressService returning
501 Not Implemented.
References task 6.
Diffstat (limited to 'cmd/mediaplayer')
| -rw-r--r-- | cmd/mediaplayer/main.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cmd/mediaplayer/main.go b/cmd/mediaplayer/main.go index f560551..4ff8aa3 100644 --- a/cmd/mediaplayer/main.go +++ b/cmd/mediaplayer/main.go @@ -97,7 +97,15 @@ func runWithSignal(args []string, sigCh <-chan os.Signal) error { staticFS := http.Dir("web") remuxer := probe.NewFFRemuxer() - server := api.NewServerWithLogger(store, hasher, sm, cfg, mediaSvc, adminSvc, progressSvc, authSvc, staticFS, remuxer, logger) + server := api.NewServerWithLogger(store, hasher, sm, cfg, + mediaSvc, // MediaBrowseService + mediaSvc, // MediaWriteService + mediaSvc, // MediaShareService + mediaSvc, // MediaTagService + mediaSvc, // MediaFavoriteService + mediaSvc, // MediaNoteService + adminSvc, progressSvc, authSvc, staticFS, remuxer, logger, + ) gs := api.NewGracefulServer(server, cfg) |
