Files
TMDB-Embed-API/index.js
T

91 lines
2.8 KiB
JavaScript

import express from "express";
import { getEmbedSu } from "./src/extractors/embedsu.js";
import { getTwoEmbed } from "./src/extractors/2Embed.js";
const port = 3000;
const app = express()
app.get('/', (req, res) => {
res.status(200).json({
INTRO: "Welcome to the unofficial vidsrcPro provider",
ROUTES: {
movie: "/embedsu|2embed/:movieTMDBid",
show: "/embedsu|2embed/:showTMDBid?s=seasonNumber&e=episodeNumber",
all_movie: "/combined/:movieTMDBid",
all_show: "/combined/:showTMDBid?s=seasonNumber&e=episodeNumber"
},
AUTHOR: "This api is developed and created by Inside4ndroid Studios"
});
});
app.get('/embedsu/:tmdbId', async (req, res) => {
const id = req.params.tmdbId;
const season = req.query.s;
const episode = req.query.e;
try {
if (season && episode) {
const vidsrcresponse = await getEmbedSu(id, season, episode);
res.status(200).json(vidsrcresponse);
} else {
const vidsrcresponse = await getEmbedSu(id);
res.status(200).json(vidsrcresponse);
}
} catch (error) {
console.error('Error fetching data:', error);
res.status(500).json({ error: 'Failed to fetch data' });
}
});
app.get('/2embed/:tmdbId', async (req, res) => {
const id = req.params.tmdbId;
const season = req.query.s;
const episode = req.query.e;
try {
if (season && episode) {
const vidsrcresponse = await getTwoEmbed(id, season, episode);
res.status(200).json(vidsrcresponse);
} else {
const vidsrcresponse = await getTwoEmbed(id, 0, 0);
res.status(200).json(vidsrcresponse);
}
} catch (error) {
console.error('Error fetching data:', error);
res.status(500).json({ error: 'Failed to fetch data' });
}
});
app.get('/combined/:tmdbId', async (req, res) => {
const id = req.params.tmdbId;
const season = req.query.s;
const episode = req.query.e;
try {
let embedSuResponse;
let twoEmbedResponse;
if (season && episode) {
embedSuResponse = await getEmbedSu(id, season, episode);
twoEmbedResponse = await getTwoEmbed(id, season, episode);
} else {
embedSuResponse = await getEmbedSu(id);
twoEmbedResponse = await getTwoEmbed(id, 0, 0);
}
const combinedResponse = {
embedsu: embedSuResponse,
twoembed: twoEmbedResponse,
};
res.status(200).json(combinedResponse);
} catch (error) {
console.error('Error fetching data:', error);
res.status(500).json({ error: 'Failed to fetch data' });
}
});
app.listen(port, () => {
console.log(`Api listening on port http://localhost:${port}`);
});