mirror of
https://github.com/simon-ding/polaris.git
synced 2026-04-21 19:27:30 +08:00
feat: search paged
This commit is contained in:
@@ -19,6 +19,7 @@ import (
|
|||||||
|
|
||||||
type searchTvParam struct {
|
type searchTvParam struct {
|
||||||
Query string `form:"query"`
|
Query string `form:"query"`
|
||||||
|
Page int `form:"page"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) SearchTvSeries(c *gin.Context) (interface{}, error) {
|
func (s *Server) SearchTvSeries(c *gin.Context) (interface{}, error) {
|
||||||
@@ -34,13 +35,13 @@ func (s *Server) SearchTvSeries(c *gin.Context) (interface{}, error) {
|
|||||||
return r, nil
|
return r, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func(s *Server) SearchMedia(c *gin.Context) (interface{}, error) {
|
func (s *Server) SearchMedia(c *gin.Context) (interface{}, error) {
|
||||||
var q searchTvParam
|
var q searchTvParam
|
||||||
if err := c.ShouldBindQuery(&q); err != nil {
|
if err := c.ShouldBindQuery(&q); err != nil {
|
||||||
return nil, errors.Wrap(err, "bind query")
|
return nil, errors.Wrap(err, "bind query")
|
||||||
}
|
}
|
||||||
log.Infof("search media with keyword: %v", q.Query)
|
log.Infof("search media with keyword: %v", q.Query)
|
||||||
r, err := s.MustTMDB().SearchMedia(q.Query, s.language, 1)
|
r, err := s.MustTMDB().SearchMedia(q.Query, s.language, q.Page)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "search tv")
|
return nil, errors.Wrap(err, "search tv")
|
||||||
}
|
}
|
||||||
@@ -49,8 +50,8 @@ func(s *Server) SearchMedia(c *gin.Context) (interface{}, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type addWatchlistIn struct {
|
type addWatchlistIn struct {
|
||||||
TmdbID int `json:"tmdb_id" binding:"required"`
|
TmdbID int `json:"tmdb_id" binding:"required"`
|
||||||
StorageID int `json:"storage_id" `
|
StorageID int `json:"storage_id" `
|
||||||
Resolution string `json:"resolution" binding:"required"`
|
Resolution string `json:"resolution" binding:"required"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,16 +100,15 @@ func (s *Server) AddTv2Watchlist(c *gin.Context) (interface{}, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
r, err := s.db.AddMediaWatchlist(&ent.Media{
|
r, err := s.db.AddMediaWatchlist(&ent.Media{
|
||||||
TmdbID: int(detail.ID),
|
TmdbID: int(detail.ID),
|
||||||
MediaType: media.MediaTypeTv,
|
MediaType: media.MediaTypeTv,
|
||||||
NameCn: nameCn,
|
NameCn: nameCn,
|
||||||
NameEn: nameEn,
|
NameEn: nameEn,
|
||||||
OriginalName: detail.OriginalName,
|
OriginalName: detail.OriginalName,
|
||||||
Overview: detail.Overview,
|
Overview: detail.Overview,
|
||||||
AirDate: detail.FirstAirDate,
|
AirDate: detail.FirstAirDate,
|
||||||
Resolution: string(in.Resolution),
|
Resolution: string(in.Resolution),
|
||||||
StorageID: in.StorageID,
|
StorageID: in.StorageID,
|
||||||
|
|
||||||
}, epIds)
|
}, epIds)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "add to list")
|
return nil, errors.Wrap(err, "add to list")
|
||||||
@@ -117,7 +117,7 @@ func (s *Server) AddTv2Watchlist(c *gin.Context) (interface{}, error) {
|
|||||||
if err := s.downloadPoster(detail.PosterPath, r.ID); err != nil {
|
if err := s.downloadPoster(detail.PosterPath, r.ID); err != nil {
|
||||||
log.Errorf("download poster error: %v", err)
|
log.Errorf("download poster error: %v", err)
|
||||||
}
|
}
|
||||||
if err := s.downloadBackdrop(detail.BackdropPath, r.ID,); err != nil {
|
if err := s.downloadBackdrop(detail.BackdropPath, r.ID); err != nil {
|
||||||
log.Errorf("download poster error: %v", err)
|
log.Errorf("download poster error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,18 +148,16 @@ func (s *Server) AddMovie2Watchlist(c *gin.Context) (interface{}, error) {
|
|||||||
}
|
}
|
||||||
log.Infof("find detail for movie id %d: %v", in.TmdbID, detail)
|
log.Infof("find detail for movie id %d: %v", in.TmdbID, detail)
|
||||||
|
|
||||||
|
|
||||||
r, err := s.db.AddMediaWatchlist(&ent.Media{
|
r, err := s.db.AddMediaWatchlist(&ent.Media{
|
||||||
TmdbID: int(detail.ID),
|
TmdbID: int(detail.ID),
|
||||||
MediaType: media.MediaTypeMovie,
|
MediaType: media.MediaTypeMovie,
|
||||||
NameCn: nameCn,
|
NameCn: nameCn,
|
||||||
NameEn: nameEn,
|
NameEn: nameEn,
|
||||||
OriginalName: detail.OriginalTitle,
|
OriginalName: detail.OriginalTitle,
|
||||||
Overview: detail.Overview,
|
Overview: detail.Overview,
|
||||||
AirDate: detail.ReleaseDate,
|
AirDate: detail.ReleaseDate,
|
||||||
Resolution: string(in.Resolution),
|
Resolution: string(in.Resolution),
|
||||||
StorageID: in.StorageID,
|
StorageID: in.StorageID,
|
||||||
|
|
||||||
}, nil)
|
}, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "add to list")
|
return nil, errors.Wrap(err, "add to list")
|
||||||
@@ -224,7 +222,6 @@ func (s *Server) GetMovieWatchlist(c *gin.Context) (interface{}, error) {
|
|||||||
return list, nil
|
return list, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (s *Server) GetMediaDetails(c *gin.Context) (interface{}, error) {
|
func (s *Server) GetMediaDetails(c *gin.Context) (interface{}, error) {
|
||||||
ids := c.Param("id")
|
ids := c.Param("id")
|
||||||
id, err := strconv.Atoi(ids)
|
id, err := strconv.Atoi(ids)
|
||||||
|
|||||||
Reference in New Issue
Block a user