|
|
@ -52,6 +52,7 @@ export async function upload(req, res) { |
|
|
const query = `INSERT INTO videos (title, thumbnail, description, channel, visibility, file, slug, format, release_date) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)`; |
|
|
const query = `INSERT INTO videos (title, thumbnail, description, channel, visibility, file, slug, format, release_date) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)`; |
|
|
await client.query(query, [video.title, 'null', video.description, video.channel, video.visibility, video.file, video.slug, video.format, releaseDate]); |
|
|
await client.query(query, [video.title, 'null', video.description, video.channel, video.visibility, video.file, video.slug, video.format, releaseDate]); |
|
|
logger.write("successfully uploaded video", 200); |
|
|
logger.write("successfully uploaded video", 200); |
|
|
|
|
|
client.end() |
|
|
res.status(200).json({"message": "Successfully uploaded video"}); |
|
|
res.status(200).json({"message": "Successfully uploaded video"}); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
@ -75,6 +76,7 @@ export async function uploadThumbnail(req, res) { |
|
|
const updateQuery = `UPDATE videos SET thumbnail = $1 WHERE id = $2`; |
|
|
const updateQuery = `UPDATE videos SET thumbnail = $1 WHERE id = $2`; |
|
|
await client.query(updateQuery, [file, req.body.video]); |
|
|
await client.query(updateQuery, [file, req.body.video]); |
|
|
logger.write("successfully uploaded thumbnail", 200); |
|
|
logger.write("successfully uploaded thumbnail", 200); |
|
|
|
|
|
client.end() |
|
|
res.status(200).json({"message": "Successfully uploaded thumbnail"}); |
|
|
res.status(200).json({"message": "Successfully uploaded thumbnail"}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -122,6 +124,7 @@ export async function getById(req, res) { |
|
|
video.tags = tagsResult.rows.map(tag => tag.name); |
|
|
video.tags = tagsResult.rows.map(tag => tag.name); |
|
|
|
|
|
|
|
|
logger.write("successfully get video " + id, 200); |
|
|
logger.write("successfully get video " + id, 200); |
|
|
|
|
|
client.end() |
|
|
res.status(200).json(video); |
|
|
res.status(200).json(video); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -133,6 +136,7 @@ export async function getByChannel(req, res) { |
|
|
const query = `SELECT * FROM videos WHERE channel = $1`; |
|
|
const query = `SELECT * FROM videos WHERE channel = $1`; |
|
|
const result = await client.query(query, [id]); |
|
|
const result = await client.query(query, [id]); |
|
|
logger.write("successfully get video from channel " + id, 200); |
|
|
logger.write("successfully get video from channel " + id, 200); |
|
|
|
|
|
client.end() |
|
|
res.status(200).json(result.rows); |
|
|
res.status(200).json(result.rows); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -144,6 +148,7 @@ export async function update(req, res) { |
|
|
const query = `UPDATE videos SET title = $1, description = $2, visibility = $3 WHERE id = $4`; |
|
|
const query = `UPDATE videos SET title = $1, description = $2, visibility = $3 WHERE id = $4`; |
|
|
await client.query(query, [req.body.title, req.body.description, req.body.visibility, id]); |
|
|
await client.query(query, [req.body.title, req.body.description, req.body.visibility, id]); |
|
|
logger.write("successfully updated video", 200); |
|
|
logger.write("successfully updated video", 200); |
|
|
|
|
|
client.end() |
|
|
res.status(200).json({"message": "Successfully updated video"}); |
|
|
res.status(200).json({"message": "Successfully updated video"}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -161,6 +166,7 @@ export async function updateVideo(req, res) { |
|
|
fs.unlink(pathToDelete, (error) => { |
|
|
fs.unlink(pathToDelete, (error) => { |
|
|
if (error) { |
|
|
if (error) { |
|
|
logger.write(error, 500); |
|
|
logger.write(error, 500); |
|
|
|
|
|
client.end() |
|
|
res.status(500).json({"message": "Failed to delete video"}); |
|
|
res.status(500).json({"message": "Failed to delete video"}); |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
@ -172,6 +178,7 @@ export async function updateVideo(req, res) { |
|
|
fs.writeFileSync(destinationPath, fileBuffer); |
|
|
fs.writeFileSync(destinationPath, fileBuffer); |
|
|
|
|
|
|
|
|
logger.write("successfully updated video", 200); |
|
|
logger.write("successfully updated video", 200); |
|
|
|
|
|
client.end() |
|
|
res.status(200).json({"message": "Successfully updated video"}); |
|
|
res.status(200).json({"message": "Successfully updated video"}); |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
@ -193,6 +200,7 @@ export async function del(req, res) { |
|
|
fs.unlink(pathToDelete, (error) => { |
|
|
fs.unlink(pathToDelete, (error) => { |
|
|
if (error) { |
|
|
if (error) { |
|
|
logger.write(error, 500); |
|
|
logger.write(error, 500); |
|
|
|
|
|
client.end() |
|
|
res.status(500).json({"message": "Failed to delete video"}); |
|
|
res.status(500).json({"message": "Failed to delete video"}); |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
@ -207,6 +215,7 @@ export async function del(req, res) { |
|
|
const query = `DELETE FROM videos WHERE id = $1`; |
|
|
const query = `DELETE FROM videos WHERE id = $1`; |
|
|
await client.query(query, [id]); |
|
|
await client.query(query, [id]); |
|
|
logger.write("successfully deleted video", 200); |
|
|
logger.write("successfully deleted video", 200); |
|
|
|
|
|
client.end() |
|
|
res.status(200).json({"message": "Successfully deleted video"}); |
|
|
res.status(200).json({"message": "Successfully deleted video"}); |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
@ -237,6 +246,7 @@ export async function toggleLike(req, res) { |
|
|
const likesCount = likesCountResult.rows[0].like_count; |
|
|
const likesCount = likesCountResult.rows[0].like_count; |
|
|
|
|
|
|
|
|
logger.write("no likes found adding likes for video " + id, 200); |
|
|
logger.write("no likes found adding likes for video " + id, 200); |
|
|
|
|
|
client.end(); |
|
|
res.status(200).json({"message": "Successfully added like", "likes": likesCount}); |
|
|
res.status(200).json({"message": "Successfully added like", "likes": likesCount}); |
|
|
} else { |
|
|
} else { |
|
|
const query = `DELETE FROM likes WHERE owner = $1 AND video = $2`; |
|
|
const query = `DELETE FROM likes WHERE owner = $1 AND video = $2`; |
|
|
@ -248,6 +258,7 @@ export async function toggleLike(req, res) { |
|
|
const likesCount = likesCountResult.rows[0].like_count; |
|
|
const likesCount = likesCountResult.rows[0].like_count; |
|
|
|
|
|
|
|
|
logger.write("likes found, removing like for video " + id, 200); |
|
|
logger.write("likes found, removing like for video " + id, 200); |
|
|
|
|
|
client.end(); |
|
|
res.status(200).json({"message": "Successfully removed like", "likes": likesCount}); |
|
|
res.status(200).json({"message": "Successfully removed like", "likes": likesCount}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -295,9 +306,15 @@ export async function addTags(req, res) { |
|
|
const insertVideoTagQuery = `INSERT INTO video_tags (tag, video) VALUES ($1, $2)`; |
|
|
const insertVideoTagQuery = `INSERT INTO video_tags (tag, video) VALUES ($1, $2)`; |
|
|
await client.query(insertVideoTagQuery, [id, videoId]); |
|
|
await client.query(insertVideoTagQuery, [id, videoId]); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// GET UPDATED TAGS FOR VIDEO
|
|
|
|
|
|
const updatedTagsQuery = `SELECT t.name FROM tags t JOIN video_tags vt ON t.id = vt.tag WHERE vt.video = $1`; |
|
|
|
|
|
const updatedTagsResult = await client.query(updatedTagsQuery, [videoId]); |
|
|
|
|
|
const updatedTags = updatedTagsResult.rows; |
|
|
|
|
|
|
|
|
logger.write("successfully added tags to video " + videoId, 200); |
|
|
logger.write("successfully added tags to video " + videoId, 200); |
|
|
await client.end(); |
|
|
await client.end(); |
|
|
res.status(200).json({"message": "Successfully added tags to video"}); |
|
|
res.status(200).json({"message": "Successfully added tags to video", "tags" : updatedTags.map(tag => tag.name)}); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -430,5 +447,6 @@ export async function addViews(req, res) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
logger.write("successfully added views for video " + id, 200); |
|
|
logger.write("successfully added views for video " + id, 200); |
|
|
|
|
|
await client.end(); |
|
|
res.status(200).json({"message": "Successfully added views"}); |
|
|
res.status(200).json({"message": "Successfully added views"}); |
|
|
} |
|
|
} |