Skip to content

Commit

Permalink
fix: add indexer
Browse files Browse the repository at this point in the history
  • Loading branch information
nekolr committed Jan 2, 2024
1 parent c3c62ab commit a73e46c
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@

public interface SonarrV3Api {

String X_API_KEY_HEADER_NAME = "X-Api-Key";

String ADD_INDEXER_URI = "/api/v3/indexer";

String GET_STATUS_URI = "/api/v3/system/status";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
import java.text.MessageFormat;
import java.util.List;

import static com.github.nekolr.peashooter.constant.Peashooter.API_KEY;

@Slf4j
@Component
@RequiredArgsConstructor
Expand All @@ -33,7 +31,7 @@ public class SonarrV3Client implements SonarrV3Api {
public List<Queue> getQueueList() {
String apiKey = settingsManager.get().getSonarr().getApiKey();
HttpRequest request = HttpRequest.get(this.getUrl(GET_QUEUE_LIST_URI));
request.query(API_KEY, apiKey);
request.header(X_API_KEY_HEADER_NAME, apiKey);
request.query("page", 1);
request.query("pageSize", 50);
HttpResponse response = request.send();
Expand All @@ -47,7 +45,8 @@ public List<Queue> getQueueList() {
public Boolean addRssIndexer(AddRssIndexer indexer) {
String apiKey = settingsManager.get().getSonarr().getApiKey();
HttpRequest request = HttpRequest.post(this.getUrl(ADD_INDEXER_URI));
request.query(API_KEY, apiKey);
request.header(X_API_KEY_HEADER_NAME, apiKey);
request.contentTypeJson();
request.body(JSON.toJSONString(indexer));
HttpResponse response = request.send();
if (response.statusCode() == 201) {
Expand All @@ -62,7 +61,7 @@ public Boolean addRssIndexer(AddRssIndexer indexer) {
public Status getStatus() {
String apiKey = settingsManager.get().getSonarr().getApiKey();
HttpRequest request = HttpRequest.get(this.getUrl(GET_STATUS_URI));
request.query(API_KEY, apiKey);
request.header(X_API_KEY_HEADER_NAME, apiKey);
try {
HttpResponse response = request.send();
if (response.statusCode() != 200)
Expand All @@ -78,7 +77,7 @@ public Status getStatus() {
public List<Series> getSeriesList() {
String apiKey = settingsManager.get().getSonarr().getApiKey();
HttpRequest request = HttpRequest.get(this.getUrl(GET_SERIES_LIST_URI));
request.query(API_KEY, apiKey);
request.header(X_API_KEY_HEADER_NAME, apiKey);
HttpResponse response = request.send();
if (response.statusCode() != 200)
return null;
Expand All @@ -91,7 +90,7 @@ public Series getSeries(String id) {
String apiKey = settingsManager.get().getSonarr().getApiKey();
String uri = MessageFormat.format(GET_SERIES_URI, id);
HttpRequest request = HttpRequest.get(this.getUrl(uri));
request.query(API_KEY, apiKey);
request.header(X_API_KEY_HEADER_NAME, apiKey);
HttpResponse response = request.send();
if (response.statusCode() != 200)
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,22 +30,30 @@ public AddRssIndexer(String name, String baseUrl) {
if (Objects.isNull(fields)) {
fields = new ArrayList<>();
}
fields.add(new Field("baseUrl", baseUrl));
fields.add(new Field("baseUrl", 0, "RSS URL", "textbox", null, false, "normal", false, baseUrl));
}

@Data
@AllArgsConstructor
public static class Field {
private String name;
private Integer order;
private String label;
private String type;
private String unit;
private Boolean advanced;
private String privacy;
private Boolean isFloat;
private Object value;
}

public void setupDefaultFields() {
fields.add(new Field("cookie", null));
fields.add(new Field("allowZeroSize", false));
fields.add(new Field("minimumSeeders", 1));
fields.add(new Field("eedCriteria.seedRatio", null));
fields.add(new Field("seedCriteria.seedTime", null));
fields.add(new Field("seedCriteria.seasonPackSeedTime", null));
fields.add(new Field("cookie", 1, "Cookie", "textbox", null, false, "normal", false, null));
fields.add(new Field("allowZeroSize", 2, "Allow Zero Size", "checkbox", null, false, "normal", false, true));
fields.add(new Field("minimumSeeders", 3, "Minimum Seeders", "number", null, true, "normal", false, 1));
fields.add(new Field("seedCriteria.seedRatio", 4, "Seed Ratio", "textbox", null, false, "normal", false, null));
fields.add(new Field("seedCriteria.seedTime", 5, "Seed Time", "number", "minutes", true, "normal", false, null));
fields.add(new Field("seedCriteria.seasonPackSeedTime", 6, "Season-Pack Seed Time", "number", "minutes", true, "normal", false, null));
fields.add(new Field("rejectBlocklistedTorrentHashesWhileGrabbing", 7, "Reject Blocklisted Torrent Hashes While Grabbing", "checkbox", null, true, "normal", false, false));
}
}

0 comments on commit a73e46c

Please sign in to comment.