controller_base.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package base
  2. import (
  3. "net/http"
  4. "github.com/allanpk716/ChineseSubFinder/pkg/cache_center"
  5. "github.com/allanpk716/ChineseSubFinder/pkg/global_value"
  6. "github.com/allanpk716/ChineseSubFinder/pkg/random_auth_key"
  7. "github.com/allanpk716/ChineseSubFinder/pkg/settings"
  8. "github.com/sirupsen/logrus"
  9. "github.com/allanpk716/ChineseSubFinder/pkg/types/backend"
  10. "github.com/allanpk716/ChineseSubFinder/pkg/logic/file_downloader"
  11. "github.com/gin-gonic/gin"
  12. )
  13. type ControllerBase struct {
  14. fileDownloader *file_downloader.FileDownloader
  15. restartSignal chan interface{}
  16. }
  17. func NewControllerBase(loggerBase *logrus.Logger, restartSignal chan interface{}) *ControllerBase {
  18. return &ControllerBase{
  19. fileDownloader: file_downloader.NewFileDownloader(
  20. cache_center.NewCacheCenter("local_task_queue", settings.GetSettings(), loggerBase),
  21. random_auth_key.AuthKey{
  22. BaseKey: global_value.BaseKey(),
  23. AESKey16: global_value.AESKey16(),
  24. AESIv16: global_value.AESIv16(),
  25. }),
  26. restartSignal: restartSignal,
  27. }
  28. }
  29. func (cb *ControllerBase) ErrorProcess(c *gin.Context, funcName string, err error) {
  30. if err != nil {
  31. cb.fileDownloader.Log.Errorln(funcName, err.Error())
  32. c.JSON(http.StatusInternalServerError, backend.ReplyCommon{Message: err.Error()})
  33. }
  34. }