Closed Sisableng closed 1 year ago
mohon maaf baru saya respon, terimakasih banyak atas temuannya mas. namun endpoint /api/v1/anime/:slug/episodes/:episode
tujuannya untuk mendapatkan episode dengan episode number nya, bukan episode slug nya. jika saran yang mas wildan saya gunakan, sekalian saja endpoint /api/v1/anime/:slug/episodes/:episodeNumber
dihapus dan hanya gunakan /api/v1/episode/:episodeSlug
. namun tenang, saya rasa saya punya solusi yang cukup baik.
jika diperhatikan, episode slug di otakudesu selalu berpola sama pada prefix nya<prefix-episode-slug>-episode-<episodeNumber>-sub-indo
, jadi untuk resolve masalah yang mas wildan paparkan di atas, bisa dengan
if (animeSlug && episodeNumber) {
const episodeLists = await episodes(animeSlug);
if (!episodeLists) return undefined;
const splittedEpisodeSlug = episodeLists[0].slug?.split('-episode-') as string[];
const prefixEpisodeSlug = splittedEpisodeSlug[0];
const firstEpisodeNumber = splittedEpisodeSlug[1].replace('-sub-indo', '');
slug = `${prefixEpisodeSlug}-episode-${episodeNumber - (parseInt(firstEpisodeNumber) == 0 ? 1 : 0)}-sub-indo`;
}
di atas juga sudah ditambahkan pengecekan, jika episode pertamanya itu episode 0, maka episodeNumber
akan dikurangi sejumlah satu dari number yang ditambahkan pada parameter.
dengan perubahan tersebut, case yang mas wildan temukan diatas, tidak akan terjadi lagi tanpa mengubah apa tujuan awal dari endpoint /api/v1/anime/:slug/episodes/:episodeNumber
.
sudah di fix di #3 ya, sekali lagi terima kasih mas.
bang maaf, kalo boleh saya ngasi saran buat update
src/utils/episode.ts
untuk get/api/v1/anime/:slug/episodes/:episode
soalnya saya rasa kurang akurat, untuk contoh kasus di episode one piece total episode nya kan same 1073 episode cuma karna ada pembatas episode dari otakudesunya jadi kalo di total darihttp://localhost:8080/api/v2/anime/op-sub-indo/episodes
length data nya itu ada 376, untuk kode abang kan ngabil dari length data nya ya, saya nyoba ubah jadi by episode slug nya, ngubah number jadi string jadi untuk get episode/api/v1/anime/op-sub-indo/episodes/wpoiec-episode-1079-sub-indo
ini saya edit
episodeByEpisodeNumberHandler
buat hapussama edit pengkondisian
animeSlug
disrc/utils/episode.ts
, juga ngubahepisodeNumber
kestring
dan untuk penggunaan parameter nya jadi
/api/v1/anime/op-sub-indo/episodes/wpoiec-episode-1073-sub-indo
dan ini result nya
kalo seperti ini kan lebih akurat parameter sama data nya juga, mungkin solusi ini bisa lebih effisien bang buat ngambil berdasarkan slug nya lagsung, bukan dari total episode length nya