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 Boolean hasPlayer;
private String error; private String error;
public String getLink() { return link; } public String getLink() {
public void setLink(String link) { this.link = link; } return link;
}
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; } public void setLink(String link) {
this.link = link;
public Boolean getHasPlayer() { return hasPlayer; } }
public void setHasPlayer(Boolean hasPlayer) { this.hasPlayer = hasPlayer; }
public String getTitle() {
public String getError() { return error; } return title;
public void setError(String error) { this.error = error; } }
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

@ -85,7 +85,6 @@ public class ExtractController {
} catch (KodikDecryptionException e) { } catch (KodikDecryptionException e) {
throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "cannot decode links"); 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 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.KodikEpisode;
import com.backend.extractor.kodik.service.anyame_backend.api.model.KodikTranslation; 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.KodikAPIPayload;
import com.backend.extractor.kodik.service.anyame_backend.service.model.KodikMetadata; import com.backend.extractor.kodik.service.anyame_backend.service.model.KodikMetadata;
@ -23,11 +22,12 @@ public class KodikHtmlParserService {
public KodikMetadata parseMetadata(String html) { public KodikMetadata parseMetadata(String html) {
Document doc = Jsoup.parse(html); Document doc = Jsoup.parse(html);
String title = doc.title();
List<KodikTranslation> translations = parseTranslations(doc); List<KodikTranslation> translations = parseTranslations(doc);
List<KodikEpisode> episodes = parseEpisodes(doc); List<KodikEpisode> episodes = parseEpisodes(doc);
KodikAPIPayload apiPayload = new KodikAPIPayload(html); KodikAPIPayload apiPayload = new KodikAPIPayload(html);
return new KodikMetadata(translations, episodes, apiPayload); return new KodikMetadata(title, translations, episodes, apiPayload);
} }
private List<KodikTranslation> parseTranslations(Document doc) { private List<KodikTranslation> parseTranslations(Document doc) {
@ -42,10 +42,9 @@ public class KodikHtmlParserService {
String mediaType = option.attr("data-media-type"); String mediaType = option.attr("data-media-type");
String translationType = option.attr("data-translation-type"); String translationType = option.attr("data-translation-type");
int episodeCount = parseIntSafely(option.attr("data-episode-count")); int episodeCount = parseIntSafely(option.attr("data-episode-count"));
boolean selected = option.hasAttr("selected");
translations.add(new KodikTranslation(id, title, mediaId, mediaHash, translations.add(new KodikTranslation(id, title, mediaId, mediaHash,
mediaType, translationType, episodeCount, selected)); mediaType, translationType, episodeCount));
} }
return translations; 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.KodikEpisode;
import com.backend.extractor.kodik.service.anyame_backend.api.model.KodikTranslation; import com.backend.extractor.kodik.service.anyame_backend.api.model.KodikTranslation;
import com.fasterxml.jackson.annotation.JsonIgnore;
/** /**
* KodikMetadata * KodikMetadata
*/ */
public class KodikMetadata { public class KodikMetadata {
private final String title;
private final List<KodikTranslation> translations; private final List<KodikTranslation> translations;
@JsonIgnore
private final List<KodikEpisode> episodes; private final List<KodikEpisode> episodes;
@JsonIgnore
private final KodikAPIPayload apiPayload; 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.translations = translations;
this.episodes = episodes; this.episodes = episodes;
this.apiPayload = apiPayload; this.apiPayload = apiPayload;
} }
public String getTitle() {
return title;
}
public List<KodikTranslation> getTranslations() { public List<KodikTranslation> getTranslations() {
return translations; return translations;
} }