diff --git a/handlers/media.go b/handlers/media.go index b65babe..2b318ac 100644 --- a/handlers/media.go +++ b/handlers/media.go @@ -2,6 +2,7 @@ package handlers import ( "encoding/json" + "log" "net/http" "strconv" @@ -94,18 +95,14 @@ func (h *Media) InvalidateVideo(w http.ResponseWriter, r *http.Request) { return } - videoIDInt, err := strconv.Atoi(videoID) - if err != nil { - http.Error(w, "Invalid video-id", http.StatusBadRequest) - return - } - - err = h.Service.InvalidateVideo(videoIDInt) + err := h.Service.InvalidateVideo(videoID) if err != nil { http.Error(w, "Failed to invalidate video", http.StatusInternalServerError) return } + log.Default().Println("Video invalidated: ", videoID) + w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(map[string]interface{}{"success": true}) diff --git a/repositories/video_repository.go b/repositories/video_repository.go index eabfd82..8d5f818 100644 --- a/repositories/video_repository.go +++ b/repositories/video_repository.go @@ -11,7 +11,7 @@ type VideoRepository interface { GetVideosByChannelID(channelID int) ([]dbmodels.Video, error) FetchNextVideo(videoID int, channelID int) (*dbmodels.Video, error) SaveVideo(tx *sql.Tx, channelID int, videoUrl string, sectionStart int, sectionEnd int) error - DeleteVideo(tx *sql.Tx, videoID int) error + DeleteVideo(tx *sql.Tx, videoID string) error DeleteAllVideos(tx *sql.Tx) error } @@ -107,7 +107,7 @@ func (r *videoRepository) SaveVideo(tx *sql.Tx, channelID int, videoId string, s return err } -func (r *videoRepository) DeleteVideo(tx *sql.Tx, videoID int) error { +func (r *videoRepository) DeleteVideo(tx *sql.Tx, videoID string) error { exec := r.db.Exec if tx != nil { exec = tx.Exec diff --git a/services/media.go b/services/media.go index 74d5252..900ef65 100644 --- a/services/media.go +++ b/services/media.go @@ -81,7 +81,7 @@ func (s *MediaService) FetchNextVideo(channelId int, videoId int) *dbmodels.Vide return video } -func (s *MediaService) InvalidateVideo(videoId int) error { +func (s *MediaService) InvalidateVideo(videoId string) error { return db.WithTransaction(s.TxManager.GetDB(), func(tx *sql.Tx) error { return s.VideoRepo.DeleteVideo(tx, videoId) })