feat: Add deprecation middleware for legacy endpoints
- Create middleware/deprecation.go with DeprecationMiddleware - Adds Warning and Deprecation headers to old endpoints - Apply middleware to all non-/api/v1 routes: /version, /dbtest, /health, /character*, /download*, /sync/*, /music/* - Message: 'Deprecated: This endpoint is deprecated. Use /api/v1/ endpoints instead.' Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
+37
-32
@@ -58,47 +58,52 @@ func (s *Server) RegisterRoutes() http.Handler {
|
||||
// Swagger UI
|
||||
e.GET("/swagger/*", echoSwagger.WrapHandler)
|
||||
|
||||
// ============================================
|
||||
// Legacy Endpoints (Deprecated - use /api/v1/ instead)
|
||||
// ============================================
|
||||
deprecatedMiddleware := middleware.DeprecationMiddleware
|
||||
|
||||
index := NewIndexHandler()
|
||||
e.GET("/version", index.GetVersion)
|
||||
e.GET("/dbtest", index.GetDBTest)
|
||||
e.GET("/health", index.HealthCheck)
|
||||
e.GET("/character", index.GetCharacter)
|
||||
e.GET("/characters", index.GetCharacterList)
|
||||
e.GET("/version", deprecatedMiddleware(index.GetVersion))
|
||||
e.GET("/dbtest", deprecatedMiddleware(index.GetDBTest))
|
||||
e.GET("/health", deprecatedMiddleware(index.HealthCheck))
|
||||
e.GET("/character", deprecatedMiddleware(index.GetCharacter))
|
||||
e.GET("/characters", deprecatedMiddleware(index.GetCharacterList))
|
||||
|
||||
download := NewDownloadHandler()
|
||||
e.GET("/download", download.checkLatest)
|
||||
e.GET("/download/list", download.listAssetsOfLatest)
|
||||
e.GET("/download/windows", download.downloadLatestWindows)
|
||||
e.GET("/download/linux", download.downloadLatestLinux)
|
||||
e.GET("/download", deprecatedMiddleware(download.checkLatest))
|
||||
e.GET("/download/list", deprecatedMiddleware(download.listAssetsOfLatest))
|
||||
e.GET("/download/windows", deprecatedMiddleware(download.downloadLatestWindows))
|
||||
e.GET("/download/linux", deprecatedMiddleware(download.downloadLatestLinux))
|
||||
|
||||
sync := NewSyncHandler()
|
||||
syncGroup := e.Group("/sync")
|
||||
syncGroup.GET("", sync.SyncGamesNewOnlyChanges)
|
||||
syncGroup.GET("/progress", sync.SyncProgress)
|
||||
syncGroup.GET("/new", sync.SyncGamesNewOnlyChanges)
|
||||
syncGroup.GET("/full", sync.SyncGamesNewFull)
|
||||
syncGroup.GET("/new/full", sync.SyncGamesNewFull)
|
||||
syncGroup.GET("/quick", sync.SyncGamesNewOnlyChanges)
|
||||
syncGroup.GET("/reset", sync.ResetGames)
|
||||
syncGroup.GET("", deprecatedMiddleware(sync.SyncGamesNewOnlyChanges))
|
||||
syncGroup.GET("/progress", deprecatedMiddleware(sync.SyncProgress))
|
||||
syncGroup.GET("/new", deprecatedMiddleware(sync.SyncGamesNewOnlyChanges))
|
||||
syncGroup.GET("/full", deprecatedMiddleware(sync.SyncGamesNewFull))
|
||||
syncGroup.GET("/new/full", deprecatedMiddleware(sync.SyncGamesNewFull))
|
||||
syncGroup.GET("/quick", deprecatedMiddleware(sync.SyncGamesNewOnlyChanges))
|
||||
syncGroup.GET("/reset", deprecatedMiddleware(sync.ResetGames))
|
||||
|
||||
music := NewMusicHandler()
|
||||
musicGroup := e.Group("/music")
|
||||
musicGroup.GET("", music.GetSong)
|
||||
musicGroup.GET("/soundTest", music.GetSoundCheckSong)
|
||||
musicGroup.GET("/reset", music.ResetMusic)
|
||||
musicGroup.GET("/rand", music.GetRandomSong)
|
||||
musicGroup.GET("/rand/low", music.GetRandomSongLowChance)
|
||||
musicGroup.GET("/rand/classic", music.GetRandomSongClassic)
|
||||
musicGroup.GET("/info", music.GetSongInfo)
|
||||
musicGroup.GET("/list", music.GetPlayedSongs)
|
||||
musicGroup.GET("/next", music.GetNextSong)
|
||||
musicGroup.GET("/previous", music.GetPreviousSong)
|
||||
musicGroup.GET("/all", music.GetAllGamesRandom)
|
||||
musicGroup.GET("/all/order", music.GetAllGames)
|
||||
musicGroup.GET("/all/random", music.GetAllGamesRandom)
|
||||
musicGroup.PUT("/played", music.PutPlayed)
|
||||
musicGroup.GET("/addQue", music.AddLatestToQue)
|
||||
musicGroup.GET("/addPlayed", music.AddLatestPlayed)
|
||||
musicGroup.GET("", deprecatedMiddleware(music.GetSong))
|
||||
musicGroup.GET("/soundTest", deprecatedMiddleware(music.GetSoundCheckSong))
|
||||
musicGroup.GET("/reset", deprecatedMiddleware(music.ResetMusic))
|
||||
musicGroup.GET("/rand", deprecatedMiddleware(music.GetRandomSong))
|
||||
musicGroup.GET("/rand/low", deprecatedMiddleware(music.GetRandomSongLowChance))
|
||||
musicGroup.GET("/rand/classic", deprecatedMiddleware(music.GetRandomSongClassic))
|
||||
musicGroup.GET("/info", deprecatedMiddleware(music.GetSongInfo))
|
||||
musicGroup.GET("/list", deprecatedMiddleware(music.GetPlayedSongs))
|
||||
musicGroup.GET("/next", deprecatedMiddleware(music.GetNextSong))
|
||||
musicGroup.GET("/previous", deprecatedMiddleware(music.GetPreviousSong))
|
||||
musicGroup.GET("/all", deprecatedMiddleware(music.GetAllGamesRandom))
|
||||
musicGroup.GET("/all/order", deprecatedMiddleware(music.GetAllGames))
|
||||
musicGroup.GET("/all/random", deprecatedMiddleware(music.GetAllGamesRandom))
|
||||
musicGroup.PUT("/played", deprecatedMiddleware(music.PutPlayed))
|
||||
musicGroup.GET("/addQue", deprecatedMiddleware(music.AddLatestToQue))
|
||||
musicGroup.GET("/addPlayed", deprecatedMiddleware(music.AddLatestPlayed))
|
||||
|
||||
// ============================================
|
||||
// API v1 Routes with Token Authentication
|
||||
|
||||
Reference in New Issue
Block a user