diff --git a/db/db.go b/db/db.go index 6e0e458..f90621f 100644 --- a/db/db.go +++ b/db/db.go @@ -756,4 +756,7 @@ func (c *client) AddTorrent2Blacklist(hash, name string, mediaId int) error { func (c *client) GetTorrentBlacklist() (ent.Blacklists, error) { return c.ent.Blacklist.Query().Where(blacklist.TypeEQ(blacklist.TypeTorrent)).All(context.Background()) +} +func (c *client) DeleteTorrentBlacklist(id int) error { + return c.ent.Blacklist.DeleteOneID(id).Exec(context.Background()) } \ No newline at end of file diff --git a/db/interface.go b/db/interface.go index af7ff1d..e7607be 100644 --- a/db/interface.go +++ b/db/interface.go @@ -42,6 +42,7 @@ type Database interface { AddTorrent2Blacklist(hash, name string, mediaId int) error GetTorrentBlacklist() (ent.Blacklists, error) + DeleteTorrentBlacklist(id int) error } type Settings interface { diff --git a/server/activity.go b/server/activity.go index f8d55e5..4622930 100644 --- a/server/activity.go +++ b/server/activity.go @@ -135,6 +135,20 @@ func (s *Server) GetAllBlacklistItems(c *gin.Context) (interface{}, error) { } return list, nil } +func (s *Server) RemoveBlacklistItem(c *gin.Context) (interface{}, error) { + id := c.Param("id") + if id == "" { + return nil, fmt.Errorf("id is empty") + } + idInt, err := strconv.Atoi(id) + if err!= nil { + return nil, fmt.Errorf("id is not int: %v", id) + } + if err := s.db.DeleteTorrentBlacklist(idInt); err!= nil { + return nil, errors.Wrap(err, "db") + } + return nil, nil +} func (s *Server) GetMediaDownloadHistory(c *gin.Context) (interface{}, error) { var ids = c.Param("id") diff --git a/server/server.go b/server/server.go index 0b33b6e..7f20d86 100644 --- a/server/server.go +++ b/server/server.go @@ -87,6 +87,7 @@ func (s *Server) Serve() error { activity.POST("/delete", HttpHandler(s.RemoveActivity)) activity.GET("/media/:id", HttpHandler(s.GetMediaDownloadHistory)) activity.GET("/blacklist", HttpHandler(s.GetAllBlacklistItems)) + activity.DELETE("/blacklist/:id", HttpHandler(s.RemoveBlacklistItem)) //activity.GET("/torrents", HttpHandler(s.GetAllTorrents)) }