This commit is contained in:
Omer Sabic 2024-06-14 10:49:45 +02:00
parent e8325bce03
commit fbdabf0a39

View File

@ -30,11 +30,12 @@ export const webhookRoutes = (fastify, _, done) => {
fastify.get("/youtube", async (req, reply) => {
// Check if the request contains the 'hub.challenge' query parameter
if (req.query["hub.challenge"] && req.query["hub.verify_token"] === "FQNI4Suzih" && req.query["hub.topic"].startsWith("https://www.youtube.com/xml/feeds/videos.xml?channel_id=")) {
if(req.query["hub.mode" === "unsubscribe"]) return reply.code(200).send();
const channel = req.query["hub.topic"].replace("https://www.youtube.com/xml/feeds/videos.xml?channel_id=", "");
const [user] = await db.select().from(users).where(eq(users.channel_id, channel));
if(!user) return reply.code(400).send("Invalid user");
await db.update(sites).set({
pubsub_expiry: new Date(new Date().getTime() + parseInt(req.query["hub.lease_seconds"] || 172800 * 1000))
pubsub_expiry: new Date(new Date().getTime() + (parseInt(req.query["hub.lease_seconds"] || 172800) * 1000))
}).where(eq(sites.user_id, user.id));
// Respond with the challenge to verify the subscription
console.log(req.query)