2023-03-03 16:44:40 +00:00
|
|
|
const validate = require('../utils/validate.js')
|
2024-01-18 18:54:35 +00:00
|
|
|
const { PrismaClient } = require('@prisma/client')
|
|
|
|
const prisma = new PrismaClient()
|
2023-03-03 16:44:40 +00:00
|
|
|
|
|
|
|
exports.searchVideo = async (req, res) => {
|
2024-01-18 18:54:35 +00:00
|
|
|
const id = await validate.validateVideoInput(req.query.search)
|
2023-03-03 16:44:40 +00:00
|
|
|
if (id.fail) {
|
2024-01-18 18:54:35 +00:00
|
|
|
const videos = await prisma.videos.findMany({
|
|
|
|
where: {
|
|
|
|
title: {
|
|
|
|
contains: req.query.search,
|
|
|
|
mode: 'insensitive'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
res.json(videos)
|
2023-03-03 16:44:40 +00:00
|
|
|
} else {
|
2024-01-18 18:54:35 +00:00
|
|
|
res.send(`redirect-${process.env.FRONTEND}/watch?v=${id}`)
|
2023-03-03 16:44:40 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
exports.searchPlaylist = async (req, res) => {
|
|
|
|
const id = await validate.validatePlaylistInput(req.query.url)
|
|
|
|
if (id.fail) {
|
|
|
|
res.status(500).send(id.message)
|
|
|
|
} else {
|
|
|
|
res.send(`<script>window.location.href = '${process.env.FRONTEND}/playlist?list=${id}'</script>`)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
exports.searchChannel = async (req, res) => {
|
|
|
|
const id = await validate.validateChannelInput(req.query.url)
|
|
|
|
if (id.fail) {
|
|
|
|
res.status(500).send(id.message)
|
|
|
|
} else {
|
|
|
|
res.send(`<script>window.location.href = '${process.env.FRONTEND}/channel/${id}'</script>`)
|
|
|
|
}
|
|
|
|
}
|