Bunch small things: Notifs for react, subsplash...
This commit is contained in:
@@ -142,6 +142,7 @@ DB.getDB.then((DB) => {
|
||||
createdAt: new Date()
|
||||
};
|
||||
r = await DB.newReaction(postid, profileid, reaction);
|
||||
Notifications.youGotANewReaction(postid, profileid, 'like');
|
||||
return res.json({
|
||||
status: "ok"
|
||||
});
|
||||
|
||||
83
routes/subsplash.js
Normal file
83
routes/subsplash.js
Normal file
@@ -0,0 +1,83 @@
|
||||
const axios = require('axios');
|
||||
const cheerio = require('cheerio');
|
||||
var express = require('express')
|
||||
var router = express.Router()
|
||||
const DB = require("./../mongoDB.js");
|
||||
|
||||
const fetchAndParse = async (url) => {
|
||||
let detailHtml = await axios.get(url);
|
||||
return cheerio.load(detailHtml.data);
|
||||
}
|
||||
|
||||
const getDetails = async (event) => {
|
||||
const $ = await fetchAndParse(event.detailPage);
|
||||
let detailsObj = {
|
||||
content: $(".kit-expanding-text-block__text-content").text(),
|
||||
subtitle: $(".route-event__basic-info h3").text(),
|
||||
image: $($('.kit-image__image')[0]).attr('src'),
|
||||
}
|
||||
return detailsObj;
|
||||
};
|
||||
|
||||
//g2cc4gr Florida
|
||||
//vwkqc93 Global
|
||||
const getEvents = async (eventId) => {
|
||||
const $ = await fetchAndParse('https://subsplash.com/+p4y7/lb/ca/+' + eventId + '?embed');
|
||||
let events = $('.kit-list-item');
|
||||
let eventsArr = [];
|
||||
let promises = [];
|
||||
for (let index = 0; index < events.length; index++) {
|
||||
const element = events[index];
|
||||
let event = {}
|
||||
event.title = $(element).find(".kit-list-item__title").text();
|
||||
event.date = $(element).find(".kit-list-item__subtitle").text();
|
||||
event.summary = $(element).find(".kit-list-item__summary").text();
|
||||
event.detailPage = 'https://subsplash.com' + $(element).parent().attr('href');
|
||||
promises.push(getDetails(event).then((r) => {
|
||||
event.details = r;
|
||||
eventsArr.push(event);
|
||||
}));
|
||||
}
|
||||
let r = await Promise.all(promises);
|
||||
return eventsArr;
|
||||
};
|
||||
|
||||
//https://subsplash.com/+p4y7/lb/ms/+y42zyf3?embed&1665854077751
|
||||
//https://subsplash.com/+p4y7/embed/mi/+b2zqkyb?audio&video&info&logoWatermark&shareable&embeddable"frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
|
||||
//kit-list-item
|
||||
const getMedia = async (eventId) => {
|
||||
const $ = await fetchAndParse('https://subsplash.com/+p4y7/lb/ms/+' + eventId + '?embed&1665854077751');
|
||||
let events = $('.kit-list-item');
|
||||
let eventsArr = [];
|
||||
let promises = [];
|
||||
for (let index = 0; index < events.length; index++) {
|
||||
const element = events[index];
|
||||
let event = {}
|
||||
event.title = $(element).find(".kit-list-item__title").text();
|
||||
event.date = $(element).find(".kit-list-item__subtitle").text();
|
||||
event.summary = $(element).find(".kit-list-item__summary").text();
|
||||
event.detailPage = 'https://subsplash.com' + $(element).find('a').attr('href');
|
||||
promises.push(getDetails(event).then((r) => {
|
||||
event.details = r;
|
||||
eventsArr.push(event);
|
||||
}));
|
||||
}
|
||||
let r = await Promise.all(promises);
|
||||
return eventsArr;
|
||||
};
|
||||
|
||||
//getMedia('y42zyf3').then(console.log)
|
||||
DB.getDB.then((DB) => {
|
||||
router.get("/events/:calendarId", async (req, res) => {
|
||||
const events = await getEvents(req.params.calendarId)
|
||||
return res.json(events);
|
||||
});
|
||||
|
||||
router.get("/media/:seriesId", async (req, res) => {
|
||||
const events = await getMedia(req.params.seriesId)
|
||||
return res.json(events);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user