feat: v1.1.0 - Swagger docs, mappings, Docker, premium landing page

- Swagger UI interactive docs at /docs
- OpenAPI 3.0 spec at /openapi.json
- mappings field in episodes response (anilistId, malId, kitsuId)
- Docker support (Dockerfile + .dockerignore)
- Premium landing page with try-it buttons (Walter-style)
- Health endpoint with providers list and endpoint count
This commit is contained in:
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
2026-06-09 14:16:33 +05:30
parent 85b8dcfcf0
commit c13e0bbd7e
8 changed files with 538 additions and 37 deletions
+8 -1
View File
@@ -92,7 +92,14 @@ async function fetchRawEpisodes(anilistId) {
async function getEpisodes(anilistId) {
const data = await fetchRawEpisodes(anilistId);
return injectSourceSlugs(data, anilistId);
const result = injectSourceSlugs(data, anilistId);
// Ensure mappings field is present (like Walter's API)
if (!result.mappings) {
result.mappings = { anilistId };
if (result.malId) result.mappings.malId = result.malId;
if (result.kitsuId) result.mappings.kitsuId = result.kitsuId;
}
return result;
}
async function getSources(episodeId, provider, anilistId, category = "sub") {