diff --git a/pom.xml b/pom.xml index 8d83c78..94fdd83 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ tv.mangrana mangrana-commons - 7.0.0 + 7.1.2 8 diff --git a/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrAPIInterface.java b/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrAPIInterface.java index 83d3a25..d3eca3b 100644 --- a/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrAPIInterface.java +++ b/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrAPIInterface.java @@ -2,6 +2,7 @@ package tv.mangrana.sonarr.api.client.gateway; import tv.mangrana.sonarr.api.schema.command.RefreshSerieCommand; import tv.mangrana.sonarr.api.schema.history.SonarrHistory; +import tv.mangrana.sonarr.api.schema.queue.QueueBulk; import tv.mangrana.sonarr.api.schema.queue.SonarrQueue; import tv.mangrana.sonarr.api.schema.series.SonarrSerie; import tv.mangrana.utils.rest.APIInterface; @@ -32,6 +33,11 @@ public interface SonarrAPIInterface extends APIInterface { void deleteQueueElement(@PathParam("id") Integer idElement, @QueryParam("removeFromClient") boolean removeFromClient, @QueryParam("apikey") String apikey); + @DELETE + @Path("/queue/bulk") + @Consumes({ MediaType.APPLICATION_JSON }) + void deleteQueueElements(QueueBulk ids, @QueryParam("apikey") String apikey); + @GET @Path("/series/{id}") @Produces({ MediaType.APPLICATION_JSON }) diff --git a/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrApiGateway.java b/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrApiGateway.java index f7fbb6c..a6e564c 100644 --- a/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrApiGateway.java +++ b/src/main/java/tv/mangrana/sonarr/api/client/gateway/SonarrApiGateway.java @@ -3,6 +3,7 @@ package tv.mangrana.sonarr.api.client.gateway; import tv.mangrana.config.CommonConfigFileLoader; import tv.mangrana.sonarr.api.schema.command.RefreshSerieCommand; import tv.mangrana.sonarr.api.schema.history.SonarrHistory; +import tv.mangrana.sonarr.api.schema.queue.QueueBulk; import tv.mangrana.sonarr.api.schema.queue.SonarrQueue; import tv.mangrana.sonarr.api.schema.series.SonarrSerie; import tv.mangrana.utils.EasyLogger; @@ -39,6 +40,11 @@ public class SonarrApiGateway { log("sent Delete command to Sonarr for the queue element with id "+idElement); } + public void deleteQueueElements(List ids) { + proxy.deleteQueueElements(new QueueBulk(ids), apiKey); + log("sent Delete command to Sonarr for the queue elements with ids "+ids); + } + public SonarrSerie getSerieById(Integer seriesId) { SonarrSerie serie = null; try { diff --git a/src/main/java/tv/mangrana/sonarr/api/schema/queue/QueueBulk.java b/src/main/java/tv/mangrana/sonarr/api/schema/queue/QueueBulk.java new file mode 100644 index 0000000..693c0e9 --- /dev/null +++ b/src/main/java/tv/mangrana/sonarr/api/schema/queue/QueueBulk.java @@ -0,0 +1,18 @@ +package tv.mangrana.sonarr.api.schema.queue; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +public class QueueBulk { + @JsonProperty("ids") + List ids; + + public QueueBulk(List ids) { + this.ids = ids; + } + + public List getIds() { + return ids; + } +}