1
0

check_emby_settings.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package base
  2. import (
  3. "net/http"
  4. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/logic/emby_helper"
  5. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/settings"
  6. backend2 "github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/backend"
  7. "github.com/gin-gonic/gin"
  8. )
  9. func (cb *ControllerBase) CheckEmbySettingsHandler(c *gin.Context) {
  10. var err error
  11. defer func() {
  12. // 统一的异常处理
  13. cb.ErrorProcess(c, "CheckEmbySettingsHandler", err)
  14. }()
  15. checkEmbyApi := backend2.ReqCheckEmbyAPI{}
  16. err = c.ShouldBindJSON(&checkEmbyApi)
  17. if err != nil {
  18. return
  19. }
  20. emSettings := settings.EmbySettings{
  21. Enable: true,
  22. AddressUrl: checkEmbyApi.AddressUrl,
  23. APIKey: checkEmbyApi.APIKey,
  24. MaxRequestVideoNumber: 2000,
  25. SkipWatched: false,
  26. MoviePathsMapping: make(map[string]string, 0),
  27. SeriesPathsMapping: make(map[string]string, 0),
  28. }
  29. emHelper := emby_helper.NewEmbyHelper(cb.fileDownloader.MediaInfoDealers)
  30. userList, err := emHelper.EmbyApi.GetUserIdList(&emSettings)
  31. if err != nil {
  32. return
  33. }
  34. if len(userList.Items) <= 0 {
  35. c.JSON(http.StatusOK, backend2.ReplyCommon{Message: "your emby api key can't get info from emby server"})
  36. } else {
  37. c.JSON(http.StatusOK, backend2.ReplyCommon{Message: "ok"})
  38. }
  39. }