1
0

base_router.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package routers
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/backend/controllers/base"
  4. v1 "github.com/allanpk716/ChineseSubFinder/internal/backend/controllers/v1"
  5. "github.com/allanpk716/ChineseSubFinder/internal/backend/middle"
  6. "github.com/allanpk716/ChineseSubFinder/internal/logic/cron_helper"
  7. "github.com/allanpk716/ChineseSubFinder/internal/logic/file_downloader"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func InitRouter(fileDownloader *file_downloader.FileDownloader, router *gin.Engine, cronHelper *cron_helper.CronHelper) *v1.ControllerBase {
  11. cbBase := base.NewControllerBase(fileDownloader)
  12. cbV1 := v1.NewControllerBase(fileDownloader.Log, cronHelper)
  13. // 静态文件服务器
  14. cbV1.StaticFileSystemBackEnd.Start(fileDownloader.Settings.CommonSettings)
  15. // 基础的路由
  16. router.GET("/system-status", cbBase.SystemStatusHandler)
  17. router.POST("/setup", cbBase.SetupHandler)
  18. router.POST("/login", cbBase.LoginHandler)
  19. router.POST("/logout", middle.CheckAuth(), cbBase.LogoutHandler)
  20. router.POST("/change-pwd", middle.CheckAuth(), cbBase.ChangePwdHandler)
  21. router.POST("/check-path", cbBase.CheckPathHandler)
  22. router.POST("/check-emby-path", cbBase.CheckEmbyPathHandler)
  23. router.POST("/check-proxy", cbBase.CheckProxyHandler)
  24. router.POST("/check-cron", cbBase.CheckCronHandler)
  25. router.GET("/def-settings", cbBase.DefSettingsHandler)
  26. // v1路由: /v1/xxx
  27. GroupV1 := router.Group("/" + cbV1.GetVersion())
  28. {
  29. GroupV1.Use(middle.CheckAuth())
  30. GroupV1.GET("/settings", cbV1.SettingsHandler)
  31. GroupV1.PUT("/settings", cbV1.SettingsHandler)
  32. GroupV1.POST("/daemon/start", cbV1.DaemonStartHandler)
  33. GroupV1.POST("/daemon/stop", cbV1.DaemonStopHandler)
  34. GroupV1.GET("/daemon/status", cbV1.DaemonStatusHandler)
  35. GroupV1.GET("/jobs/list", cbV1.JobsListHandler)
  36. GroupV1.POST("/jobs/change-job-status", cbV1.ChangeJobStatusHandler)
  37. GroupV1.POST("/jobs/log", cbV1.JobLogHandler)
  38. GroupV1.POST("/video/list/refresh", cbV1.RefreshVideoListHandler)
  39. GroupV1.GET("/video/list/refresh-status", cbV1.RefreshVideoListStatusHandler)
  40. GroupV1.GET("/video/list", cbV1.VideoListHandler)
  41. GroupV1.POST("/video/list/add", cbV1.VideoListAddHandler)
  42. }
  43. GroupAPIV1 := router.Group("/api/v1")
  44. {
  45. GroupAPIV1.Use(middle.CheckApiAuth())
  46. GroupAPIV1.POST("/add-job", cbV1.AddJobHandler)
  47. GroupAPIV1.GET("/job-status", cbV1.GetJobStatusHandler)
  48. GroupAPIV1.POST("/change-job-status", cbV1.ChangeJobStatusHandler)
  49. GroupAPIV1.POST("/add-video-played-info", cbV1.AddVideoPlayedInfoHandler)
  50. GroupAPIV1.DELETE("/del-video-played-info", cbV1.DelVideoPlayedInfoHandler)
  51. }
  52. return cbV1
  53. }