mirror of
https://git.sr.ht/~cadence/cloudtube
synced 2024-11-12 19:37:29 +00:00
Partially fix #29: add routes for /c/ and /user/ paths for channels
This commit is contained in:
parent
5e6b2bf31c
commit
6de9abd499
@ -1,16 +1,16 @@
|
||||
const {render} = require("pinski/plugins")
|
||||
const constants = require("../utils/constants")
|
||||
const {fetchChannel} = require("../utils/youtube")
|
||||
const {getUser} = require("../utils/getuser")
|
||||
const converters = require("../utils/converters")
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
route: `/channel/(${constants.regex.ucid})`, methods: ["GET"], code: async ({req, fill, url}) => {
|
||||
const id = fill[0]
|
||||
route: `/(c|channel|user)/(.+)`, methods: ["GET"], code: async ({req, fill, url}) => {
|
||||
const path = fill[0]
|
||||
const id = fill[1]
|
||||
const user = getUser(req)
|
||||
const settings = user.getSettingsOrDefaults()
|
||||
const data = await fetchChannel(id, settings.instance)
|
||||
const data = await fetchChannel(id, path, settings.instance)
|
||||
const subscribed = user.isSubscribed(id)
|
||||
const instanceOrigin = settings.instance
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
const {request} = require("./request")
|
||||
const db = require("./db")
|
||||
|
||||
async function fetchChannel(ucid, instance) {
|
||||
async function fetchChannel(ucid, path="channel", instance) {
|
||||
function updateGoodData(channel) {
|
||||
const bestIcon = channel.authorThumbnails.slice(-1)[0]
|
||||
const iconURL = bestIcon ? bestIcon.url : null
|
||||
@ -39,7 +39,7 @@ async function fetchChannel(ucid, instance) {
|
||||
}
|
||||
|
||||
/** @type {any} */
|
||||
const channel = await request(`${instance}/api/v1/channels/${ucid}`).then(res => res.json())
|
||||
const channel = await request(`${instance}/api/v1/channels/${ucid}?second__path=${path}`).then(res => res.json())
|
||||
|
||||
// handle the case where the channel has a newly discovered error
|
||||
if (channel.error) {
|
||||
|
Loading…
Reference in New Issue
Block a user