Don't expose redundant variables in KodikMetadata

This commit is contained in:
2025-06-05 16:05:27 +05:00
parent 4611b0caee
commit 7d35856d38
5 changed files with 47 additions and 19 deletions

View File

@ -9,15 +9,35 @@ public class KodikPlayerResponse {
private Boolean hasPlayer;
private String error;
public String getLink() { return link; }
public void setLink(String link) { this.link = link; }
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; }
public Boolean getHasPlayer() { return hasPlayer; }
public void setHasPlayer(Boolean hasPlayer) { this.hasPlayer = hasPlayer; }
public String getError() { return error; }
public void setError(String error) { this.error = error; }
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Boolean getHasPlayer() {
return hasPlayer;
}
public void setHasPlayer(Boolean hasPlayer) {
this.hasPlayer = hasPlayer;
}
public String getError() {
return error;
}
public void setError(String error) {
this.error = error;
}
}

View File

@ -12,4 +12,4 @@ public class KodikAPITokenProvider {
return kodikToken;
}
}
}

View File

@ -85,7 +85,6 @@ public class ExtractController {
} catch (KodikDecryptionException e) {
throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "cannot decode links");
}
}
}

View File

@ -10,7 +10,6 @@ import org.jsoup.select.Elements;
import org.springframework.stereotype.Service;
import com.backend.extractor.kodik.service.anyame_backend.api.model.KodikEpisode;
import com.backend.extractor.kodik.service.anyame_backend.api.model.KodikTranslation;
import com.backend.extractor.kodik.service.anyame_backend.service.model.KodikAPIPayload;
import com.backend.extractor.kodik.service.anyame_backend.service.model.KodikMetadata;
@ -23,11 +22,12 @@ public class KodikHtmlParserService {
public KodikMetadata parseMetadata(String html) {
Document doc = Jsoup.parse(html);
String title = doc.title();
List<KodikTranslation> translations = parseTranslations(doc);
List<KodikEpisode> episodes = parseEpisodes(doc);
KodikAPIPayload apiPayload = new KodikAPIPayload(html);
return new KodikMetadata(translations, episodes, apiPayload);
return new KodikMetadata(title, translations, episodes, apiPayload);
}
private List<KodikTranslation> parseTranslations(Document doc) {
@ -42,10 +42,9 @@ public class KodikHtmlParserService {
String mediaType = option.attr("data-media-type");
String translationType = option.attr("data-translation-type");
int episodeCount = parseIntSafely(option.attr("data-episode-count"));
boolean selected = option.hasAttr("selected");
translations.add(new KodikTranslation(id, title, mediaId, mediaHash,
mediaType, translationType, episodeCount, selected));
mediaType, translationType, episodeCount));
}
return translations;

View File

@ -4,21 +4,31 @@ import java.util.List;
import com.backend.extractor.kodik.service.anyame_backend.api.model.KodikEpisode;
import com.backend.extractor.kodik.service.anyame_backend.api.model.KodikTranslation;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* KodikMetadata
*/
public class KodikMetadata {
private final String title;
private final List<KodikTranslation> translations;
@JsonIgnore
private final List<KodikEpisode> episodes;
@JsonIgnore
private final KodikAPIPayload apiPayload;
public KodikMetadata(List<KodikTranslation> translations, List<KodikEpisode> episodes, KodikAPIPayload apiPayload) {
public KodikMetadata(String title, List<KodikTranslation> translations, List<KodikEpisode> episodes,
KodikAPIPayload apiPayload) {
this.title = title;
this.translations = translations;
this.episodes = episodes;
this.apiPayload = apiPayload;
}
public String getTitle() {
return title;
}
public List<KodikTranslation> getTranslations() {
return translations;
}