{video ? video.views : 0} vues
+{video ? video.likes : 0} likes
+Commentaires
+ + {video && video.comments && video.comments.length > 0 ? ( + video.comments.map((comment) => ( +Aucun commentaire
+ )} + +Tags
+Aucun tag
+ )} +diff --git a/backend/app/controllers/channel.controller.js b/backend/app/controllers/channel.controller.js index c359fe8..f1e51ca 100644 --- a/backend/app/controllers/channel.controller.js +++ b/backend/app/controllers/channel.controller.js @@ -18,6 +18,7 @@ export async function create(req, res) { logger.action("try to create new channel with owner " + channel.owner + " and name " + channel.name); logger.write("Successfully created new channel with name " + channel.name, 200); + client.end(); res.status(200).json(channel); } @@ -50,6 +51,7 @@ export async function getById(req, res) { result.rows[0].videos = videoResult.rows; logger.write("Successfully get channel with id " + id, 200); + client.end(); res.status(200).json(result.rows[0]); } @@ -85,6 +87,7 @@ export async function getAll(req, res) { }) logger.write("Successfully get all channels", 200); + client.end(); res.status(200).json(result); } @@ -108,6 +111,7 @@ export async function update(req, res) { const nameResult = await client.query(nameQuery, [channel.name]); if (nameResult.rows.length > 0) { logger.write("failed to update channel because name already taken", 400); + client.end(); res.status(400).json({error: 'Name already used'}); return } @@ -116,6 +120,7 @@ export async function update(req, res) { const updateQuery = `UPDATE channels SET name = $1, description = $2 WHERE id = $3`; await client.query(updateQuery, [channel.name, channel.description, id]); logger.write("Successfully updated channel", 200); + client.end(); res.status(200).json(channel); } @@ -128,6 +133,7 @@ export async function del(req, res) { const query = `DELETE FROM channels WHERE id = $1`; await client.query(query, [id]); logger.write("Successfully deleted channel", 200); + client.end(); res.status(200).json({message: 'Successfully deleted'}); } @@ -152,6 +158,7 @@ export async function toggleSubscription(req, res) { const remainingSubscriptions = countResult.rows[0].count; logger.write("Successfully unsubscribed from channel", 200); + client.end(); res.status(200).json({message: 'Unsubscribed successfully', subscriptions: remainingSubscriptions}); } else { // Subscribe @@ -164,6 +171,7 @@ export async function toggleSubscription(req, res) { const totalSubscriptions = countResult.rows[0].count; logger.write("Successfully subscribed to channel", 200); + client.end(); res.status(200).json({message: 'Subscribed successfully', subscriptions: totalSubscriptions}); } } @@ -189,6 +197,7 @@ export async function getStats(req, res) { const client = await getClient(); const result = await client.query(request, [id]); logger.write("Successfully get stats", 200); + client.end(); res.status(200).json(result.rows[0]); } catch (error) { console.log(error); diff --git a/backend/app/controllers/comment.controller.js b/backend/app/controllers/comment.controller.js index 8ff3064..e77f27e 100644 --- a/backend/app/controllers/comment.controller.js +++ b/backend/app/controllers/comment.controller.js @@ -39,7 +39,7 @@ export async function upload(req, res) { createdAt: createdAt } - + client.end(); res.status(200).json(responseComment); } @@ -52,6 +52,7 @@ export async function getByVideo(req, res) { const query = `SELECT * FROM comments WHERE video = $1`; const result = await client.query(query, [videoId]); logger.write("successfully get comment", 200); + client.end() res.status(200).json(result.rows); } @@ -63,6 +64,7 @@ export async function getById(req, res) { const query = `SELECT * FROM comments WHERE id = $1`; const result = await client.query(query, [id]); logger.write("successfully get comment", 200); + client.end(); res.status(200).json(result.rows[0]); } @@ -74,6 +76,7 @@ export async function update(req, res) { const query = `UPDATE comments SET content = $1 WHERE id = $2`; const result = await client.query(query, [req.body.content, id]); logger.write("successfully update comment", 200); + client.end(); res.status(200).json(result.rows[0]); } @@ -85,5 +88,6 @@ export async function del(req, res) { const query = `DELETE FROM comments WHERE id = $1`; const result = await client.query(query, [id]); logger.write("successfully deleted comment", 200); + client.end(); res.status(200).json(result.rows[0]); } \ No newline at end of file diff --git a/backend/app/controllers/playlist.controller.js b/backend/app/controllers/playlist.controller.js index b300572..a03c86d 100644 --- a/backend/app/controllers/playlist.controller.js +++ b/backend/app/controllers/playlist.controller.js @@ -14,9 +14,11 @@ export async function create(req, res) { try { const result = await client.query(query, [name, userId]); logger.write("Playlist created with id " + result.rows[0].id, 200); + client.end() res.status(200).json({ id: result.rows[0].id }); } catch (error) { logger.write("Error creating playlist: " + error.message, 500); + client.end(); res.status(500).json({ error: "Internal server error" }); } } @@ -31,9 +33,11 @@ export async function addVideo(req, res) { try { const result = await client.query(query, [video, id]); logger.write("Video added to playlist with id " + id, 200); + client.end(); res.status(200).json({id: result.rows[0].id}); } catch (error) { logger.write("Error adding video to playlist: " + error.message, 500); + client.end(); res.status(500).json({error: "Internal server error"}); } } @@ -60,13 +64,16 @@ export async function getByUser(req, res) { const result = await client.query(query, [id]); if (result.rows.length === 0) { logger.write("No playlists found for user with id " + id, 404); + client.end(); res.status(404).json({ error: "No playlists found" }); return; } logger.write("Playlists retrieved for user with id " + id, 200); + client.end(); res.status(200).json(result.rows); } catch (error) { logger.write("Error retrieving playlists: " + error.message, 500); + client.end(); res.status(500).json({ error: "Internal server error" }); } } @@ -82,13 +89,16 @@ export async function getById(req, res) { const result = await client.query(query, [id]); if (result.rows.length === 0) { logger.write("No playlist found with id " + id, 404); + client.end(); res.status(404).json({ error: "Playlist not found" }); return; } logger.write("Playlist retrieved with id " + id, 200); + client.end(); res.status(200).json(result.rows[0]); } catch (error) { logger.write("Error retrieving playlist: " + error.message, 500); + client.end(); res.status(500).json({ error: "Internal server error" }); } } @@ -105,13 +115,16 @@ export async function update(req, res) { const result = await client.query(query, [name, id]); if (result.rows.length === 0) { logger.write("No playlist found with id " + id, 404); + client.end(); res.status(404).json({ error: "Playlist not found", result: result.rows, query: query }); return; } logger.write("Playlist updated with id " + result.rows[0].id, 200); + client.end(); res.status(200).json({ id: result.rows[0].id }); } catch (error) { logger.write("Error updating playlist: " + error.message, 500); + client.end(); res.status(500).json({ error: "Internal server error" }); } } @@ -127,13 +140,16 @@ export async function deleteVideo(req, res) { const result = await client.query(query, [videoId, id]); if (result.rows.length === 0) { logger.write("No video found in playlist with id " + id, 404); + client.end(); res.status(404).json({ error: "Video not found in playlist" }); return; } logger.write("Video deleted from playlist with id " + id, 200); + client.end(); res.status(200).json({ id: result.rows[0].id }); } catch (error) { logger.write("Error deleting video from playlist: " + error.message, 500); + client.end(); res.status(500).json({ error: "Internal server error" }); } } @@ -148,9 +164,11 @@ export async function del(req, res) { try { const result = await client.query(query, [id]); logger.write("Playlist deleted", 200); + client.end() res.status(200).json({ "message": "playlist deleted" }); } catch (error) { logger.write("Error deleting playlist: " + error.message, 500); + client.end(); res.status(500).json({ error: "Internal server error" }); } } \ No newline at end of file diff --git a/backend/app/controllers/recommendation.controller.js b/backend/app/controllers/recommendation.controller.js index 4aea0e3..f549246 100644 --- a/backend/app/controllers/recommendation.controller.js +++ b/backend/app/controllers/recommendation.controller.js @@ -30,6 +30,7 @@ export async function getRecommendations(req, res) { // Recuperer 10 videos avec les 3 tags ayant le plus d'interaction avec l'utilisateur + client.end() res.status(200).json({ message: "Recommendations based on user history and interactions are not yet implemented." }); @@ -80,6 +81,7 @@ export async function getTrendingVideos(req, res) { } + client.end(); res.status(200).json(trendingVideos); } catch (error) { console.error("Error fetching trending videos:", error); diff --git a/backend/app/controllers/search.controller.js b/backend/app/controllers/search.controller.js index f937d99..55e4d77 100644 --- a/backend/app/controllers/search.controller.js +++ b/backend/app/controllers/search.controller.js @@ -76,7 +76,7 @@ export async function search(req, res) { } - + client.end() return res.status(200).json(videos); diff --git a/backend/app/controllers/user.controller.js b/backend/app/controllers/user.controller.js index 4843587..4243899 100644 --- a/backend/app/controllers/user.controller.js +++ b/backend/app/controllers/user.controller.js @@ -99,6 +99,7 @@ export async function login(req, res) { } logger.write("Successfully logged in", 200); + client.end(); res.status(200).json({token: token, user: userData}); } @@ -108,15 +109,20 @@ export async function getById(req, res) { const logger = req.body.logger; logger.action("try to retrieve user " + id); const client = await getClient(); - const query = `SELECT id, email, username, picture FROM users WHERE id = $1`; + const query = `SELECT id, email, username, picture + FROM users + WHERE id = $1`; const result = await client.query(query, [id]); if (!result.rows[0]) { logger.write("failed to retrieve user " + id + " because it doesn't exist", 404); + client.end() res.status(404).json({error: "Not Found"}); return } logger.write("successfully retrieved user " + id, 200); - return res.status(200).json({user: result.rows[0]}); + if (result.rows[0].picture) { + return res.status(200).json({user: result.rows[0]}); + } } export async function getByUsername(req, res) { @@ -128,10 +134,12 @@ export async function getByUsername(req, res) { const result = await client.query(query, [username]); if (!result.rows[0]) { logger.write("failed to retrieve user " + username + " because it doesn't exist", 404); + client.end() res.status(404).json({error: "Not Found"}); return } logger.write("successfully retrieved user " + username, 200); + client.end(); return res.status(200).json({user: result.rows[0]}); } @@ -159,6 +167,7 @@ export async function update(req, res) { const emailResult = await client.query(emailQuery, [user.email]); if (emailResult.rows[0]) { logger.write("failed to update because email is already used", 400) + client.end(); res.status(400).json({error: "Email already exists"}); } } @@ -168,6 +177,7 @@ export async function update(req, res) { const usernameResult = await client.query(usernameQuery, [user.username]); if (usernameResult.rows[0]) { logger.write("failed to update because username is already used", 400) + client.end(); res.status(400).json({error: "Username already exists"}); } } @@ -204,9 +214,11 @@ export async function update(req, res) { const updateQuery = `UPDATE users SET email = $1, username = $2, password = $3, picture = $4 WHERE id = $5 RETURNING id, email, username, picture`; const result = await client.query(updateQuery, [user.email, user.username, user.password, profilePicture, id]); logger.write("successfully updated user " + id, 200); + client.end(); res.status(200).json(result.rows[0]); } catch (err) { console.log(err); + client.end() res.status(500).json({error: err}); } @@ -220,6 +232,7 @@ export async function deleteUser(req, res) { const query = `DELETE FROM users WHERE id = $1`; await client.query(query, [id]); logger.write("successfully deleted user " + id); + client.end(); res.status(200).json({message: 'User deleted'}); } @@ -234,11 +247,13 @@ export async function getChannel(req, res) { if (!result.rows[0]) { logger.write("failed to retrieve channel of user " + id + " because it doesn't exist", 404); + client.end(); res.status(404).json({error: "Channel Not Found"}); return; } logger.write("successfully retrieved channel of user " + id, 200); + client.end(); res.status(200).json({channel: result.rows[0]}); } @@ -285,9 +300,11 @@ export async function getHistory(req, res) { if (!result.rows[0]) { logger.write("failed to retrieve history of user " + id + " because it doesn't exist", 404); res.status(404).json({error: "History Not Found"}); + client.end(); return; } logger.write("successfully retrieved history of user " + id, 200); + client.end(); res.status(200).json(videos); } \ No newline at end of file diff --git a/backend/app/controllers/video.controller.js b/backend/app/controllers/video.controller.js index 1e674cb..0cd24e3 100644 --- a/backend/app/controllers/video.controller.js +++ b/backend/app/controllers/video.controller.js @@ -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)`; 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); + await client.end() 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`; await client.query(updateQuery, [file, req.body.video]); logger.write("successfully uploaded thumbnail", 200); + await client.end(); res.status(200).json({"message": "Successfully uploaded thumbnail"}); } @@ -97,7 +99,7 @@ export async function getById(req, res) { video.likes = likesResult.rows[0].like_count; // GET COMMENTS - const commentsQuery = `SELECT c.id, c.content, c.created_at, u.username, u.picture FROM comments c JOIN users u ON c.author = u.id WHERE c.video = $1`; + const commentsQuery = `SELECT c.id, c.content, c.created_at, u.username, u.picture FROM comments c JOIN users u ON c.author = u.id WHERE c.video = $1 ORDER BY c.created_at DESC`; const commentsResult = await client.query(commentsQuery, [id]); video.comments = commentsResult.rows; @@ -122,6 +124,7 @@ export async function getById(req, res) { video.tags = tagsResult.rows.map(tag => tag.name); logger.write("successfully get video " + id, 200); + client.end() res.status(200).json(video); } @@ -133,6 +136,7 @@ export async function getByChannel(req, res) { const query = `SELECT * FROM videos WHERE channel = $1`; const result = await client.query(query, [id]); logger.write("successfully get video from channel " + id, 200); + client.end() 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`; await client.query(query, [req.body.title, req.body.description, req.body.visibility, id]); logger.write("successfully updated video", 200); + client.end() res.status(200).json({"message": "Successfully updated video"}); } @@ -161,6 +166,7 @@ export async function updateVideo(req, res) { fs.unlink(pathToDelete, (error) => { if (error) { logger.write(error, 500); + client.end() res.status(500).json({"message": "Failed to delete video"}); return } @@ -172,6 +178,7 @@ export async function updateVideo(req, res) { fs.writeFileSync(destinationPath, fileBuffer); logger.write("successfully updated video", 200); + client.end() res.status(200).json({"message": "Successfully updated video"}); }) @@ -193,6 +200,7 @@ export async function del(req, res) { fs.unlink(pathToDelete, (error) => { if (error) { logger.write(error, 500); + client.end() res.status(500).json({"message": "Failed to delete video"}); return } @@ -207,6 +215,7 @@ export async function del(req, res) { const query = `DELETE FROM videos WHERE id = $1`; await client.query(query, [id]); logger.write("successfully deleted video", 200); + client.end() 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; logger.write("no likes found adding likes for video " + id, 200); + client.end(); res.status(200).json({"message": "Successfully added like", "likes": likesCount}); } else { 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; logger.write("likes found, removing like for video " + id, 200); + client.end(); 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)`; 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); 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)}); } @@ -355,10 +372,62 @@ export async function getSimilarVideos(req, res) { } - logger.write("successfully retrieved similar videos for video " + id, 200); + logger.write("successfully get similar videos for video " + id, 200); + await client.end(); res.status(200).json(result.rows); } +export async function getLikesPerDay(req, res) { + const id = req.params.id; + const logger = req.body.logger; + logger.action("try to get likes per day"); + + const client = await getClient(); + + try { + const response = {} + + const likeQuery = ` + SELECT + DATE(created_at) as date, + COUNT(*) as count + FROM likes + WHERE video = $1 + GROUP BY DATE(created_at) + ORDER BY date DESC + LIMIT 30 + `; + + const viewQuery = ` + SELECT + DATE(viewed_at) as date, + COUNT(*) as count + FROM history + WHERE video = $1 + GROUP BY DATE(viewed_at) + ORDER BY date DESC + LIMIT 30 + `; + + const resultViews = await client.query(viewQuery, [id]); + + response.views = resultViews.rows; + + const resultLikes = await client.query(likeQuery, [id]); + response.likes = resultLikes.rows; + + console.log(response); + + logger.write("successfully retrieved likes per day", 200); + res.status(200).json(response); + } catch (error) { + logger.write("Error retrieving likes per day: " + error.message, 500); + res.status(500).json({ error: "Internal server error" }); + } finally { + await client.end(); + } +} + export async function addViews(req, res) { const id = req.params.id; const logger = req.body.logger; @@ -378,5 +447,6 @@ export async function addViews(req, res) { } logger.write("successfully added views for video " + id, 200); + await client.end(); res.status(200).json({"message": "Successfully added views"}); } \ No newline at end of file diff --git a/backend/app/routes/video.route.js b/backend/app/routes/video.route.js index 60144f5..fd71e5c 100644 --- a/backend/app/routes/video.route.js +++ b/backend/app/routes/video.route.js @@ -10,7 +10,7 @@ import { uploadThumbnail, updateVideo, toggleLike, - addTags, getSimilarVideos, addViews + addTags, getSimilarVideos, addViews, getLikesPerDay } from "../controllers/video.controller.js"; import { doVideoExists, @@ -58,5 +58,8 @@ router.get("/:id/similar", [addLogger, Video.id, validator, doVideoExistsParam], // ADD VIEWS router.get("/:id/views", [addLogger, isTokenValid, Video.id, validator, doVideoExistsParam], addViews); +// GET LIKE PER DAY +router.get("/:id/likes/day", [addLogger, isTokenValid, Video.id, validator, doVideoExistsParam], getLikesPerDay); + export default router; \ No newline at end of file diff --git a/backend/app/uploads/videos/946FFC1D2D8C189D.mp4 b/backend/app/uploads/videos/946FFC1D2D8C189D.mp4 deleted file mode 100644 index 3fc3c16..0000000 Binary files a/backend/app/uploads/videos/946FFC1D2D8C189D.mp4 and /dev/null differ diff --git a/backend/app/utils/database.js b/backend/app/utils/database.js index f2610d4..323777c 100644 --- a/backend/app/utils/database.js +++ b/backend/app/utils/database.js @@ -62,7 +62,8 @@ export async function initDb() { query = `CREATE TABLE IF NOT EXISTS likes ( id SERIAL PRIMARY KEY, owner INTEGER NOT NULL REFERENCES users(id), - video INTEGER NOT NULL REFERENCES videos(id) + video INTEGER NOT NULL REFERENCES videos(id), + created_at TIMESTAMP NOT NULL DEFAULT NOW() );`; await client.query(query); diff --git a/backend/logs/access.log b/backend/logs/access.log index 4ef4665..5d41eeb 100644 --- a/backend/logs/access.log +++ b/backend/logs/access.log @@ -1918,3 +1918,1776 @@ [2025-07-21 22:11:05.099] [undefined] GET(/:id/stats): try to get stats [2025-07-21 22:11:05.102] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 [2025-07-21 22:11:05.107] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:26:03.358] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:26:03.367] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:26:03.368] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:26:03.374] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 17:44:32.343] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 17:44:32.353] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 17:44:32.359] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 17:44:32.363] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 17:44:37.180] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 17:44:37.189] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 17:44:37.191] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 17:44:37.198] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 17:46:03.473] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-22 17:46:03.476] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-22 17:46:03.477] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-22 17:46:03.479] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-22 17:46:03.486] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-22 17:46:04.475] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 17:46:04.483] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 17:46:04.485] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 17:46:04.492] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:04:32.813] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:04:32.828] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:10:38.978] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-22 20:10:38.980] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-22 20:10:38.983] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-22 20:10:38.987] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-22 20:10:38.994] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-22 20:10:41.864] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:10:41.872] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:10:41.885] [undefined] GET(/:id/similar): try to get similar videos for video 1 +[2025-07-22 20:10:41.893] [undefined] GET(/:id/similar): No tags found for video 1 with status 404 +[2025-07-22 20:10:41.942] [undefined] GET(/:id/views): try to add views for video 1 +[2025-07-22 20:10:41.948] [undefined] GET(/:id/views): successfully added views for video 1 with status 200 +[2025-07-22 20:10:44.089] [undefined] GET(/:id/like): try to toggle like on video 1 +[2025-07-22 20:10:44.097] [undefined] GET(/:id/like): no likes found adding likes for video 1 with status 200 +[2025-07-22 20:12:26.290] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-22 20:12:26.294] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-22 20:12:26.301] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-22 20:12:26.306] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-22 20:12:26.311] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-22 20:12:27.061] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:12:27.071] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:12:27.072] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:12:27.079] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:13:06.694] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:13:06.703] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:13:06.704] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:13:06.711] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:13:11.144] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:13:11.146] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:13:11.154] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:13:11.159] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:13:29.571] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:13:29.573] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:13:29.580] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:13:29.582] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:25:49.482] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:25:49.484] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:25:49.490] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:25:49.492] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:26:59.398] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:26:59.400] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:26:59.409] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:26:59.412] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:27:23.656] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:27:23.658] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:27:23.665] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:27:23.666] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:29:10.929] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:29:10.931] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:29:10.940] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:29:10.945] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:30:12.970] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:30:12.973] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:30:12.981] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:30:12.984] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:30:35.757] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:30:35.758] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:30:35.766] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:30:35.770] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:30:51.953] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:30:51.955] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:30:51.977] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:30:51.981] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:30:59.782] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:30:59.783] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:30:59.793] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:30:59.797] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:31:16.303] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:31:16.304] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:31:16.314] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:31:16.317] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:31:30.019] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:31:30.020] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:31:30.027] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:31:30.029] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:31:40.467] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:31:40.468] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:31:40.476] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:31:40.480] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:32:01.447] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:32:01.449] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:32:01.457] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:32:01.461] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:32:18.802] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:32:18.804] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:32:18.811] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:32:18.814] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:33:01.432] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:33:01.433] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:33:01.443] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:33:01.446] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:33:25.633] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:33:25.634] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:33:25.643] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:33:25.646] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:34:07.615] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:34:07.616] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:34:07.626] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:34:07.630] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:34:20.128] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:34:20.129] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:34:20.138] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:34:20.142] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:37:03.149] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:37:03.151] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:37:03.161] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:37:03.167] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:37:05.009] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:37:05.018] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:37:05.021] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:37:05.030] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:37:08.249] [undefined] GET(/:id): try to get video 2 +[2025-07-22 20:37:08.250] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:37:08.260] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:37:08.263] [undefined] GET(/:id): successfully get video 2 with status 200 +[2025-07-22 20:37:09.900] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:37:09.909] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:37:09.912] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:37:09.918] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:37:14.947] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:37:14.949] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:37:14.958] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:37:14.963] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:37:15.739] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:37:15.749] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:37:15.750] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:37:15.757] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:37:18.999] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:37:19.008] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:37:19.018] [undefined] GET(/:id/similar): try to get similar videos for video 1 +[2025-07-22 20:37:19.029] [undefined] GET(/:id/similar): No tags found for video 1 with status 404 +[2025-07-22 20:37:19.042] [undefined] GET(/:id/views): try to add views for video 1 +[2025-07-22 20:37:19.049] [undefined] GET(/:id/views): successfully added views for video 1 with status 200 +[2025-07-22 20:37:23.832] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-22 20:37:23.833] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-22 20:37:23.852] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-22 20:37:23.855] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-22 20:37:23.863] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-22 20:37:26.649] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:37:26.658] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:37:26.679] [undefined] GET(/:id/similar): try to get similar videos for video 1 +[2025-07-22 20:37:26.689] [undefined] GET(/:id/similar): No tags found for video 1 with status 404 +[2025-07-22 20:37:26.702] [undefined] GET(/:id/views): try to add views for video 1 +[2025-07-22 20:37:26.712] [undefined] GET(/:id/views): successfully added views for video 1 with status 200 +[2025-07-22 20:37:27.886] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-22 20:37:27.887] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-22 20:37:27.889] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-22 20:37:27.892] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-22 20:37:27.898] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-22 20:37:29.768] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:37:29.777] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:37:29.779] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:37:29.786] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:37:31.551] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:37:31.552] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:37:31.561] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:37:31.565] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:42:14.240] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:42:14.242] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:42:14.253] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:42:14.260] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:42:17.612] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:42:17.614] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:42:17.623] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:42:17.626] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:43:07.742] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:43:07.743] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:43:07.754] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:43:07.759] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:43:08.436] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:43:08.438] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:43:08.448] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:43:08.452] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:44:06.249] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:44:06.251] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:44:06.262] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:44:06.268] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:44:12.143] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-22 20:44:12.144] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-22 20:44:12.146] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-22 20:44:12.148] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-22 20:44:12.158] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-22 20:44:13.498] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:44:13.507] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:44:13.508] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:44:13.517] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:44:14.653] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:44:14.655] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:44:14.663] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:44:14.665] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:44:28.296] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:44:28.305] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:44:28.307] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:44:28.313] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:44:29.256] [undefined] GET(/:id): try to get video 2 +[2025-07-22 20:44:29.258] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:44:29.268] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:44:29.271] [undefined] GET(/:id): successfully get video 2 with status 200 +[2025-07-22 20:45:54.236] [undefined] GET(/:id): try to get video 2 +[2025-07-22 20:45:54.237] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:45:54.249] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:45:54.255] [undefined] GET(/:id): successfully get video 2 with status 200 +[2025-07-22 20:46:52.152] [undefined] GET(/:id): try to get video 2 +[2025-07-22 20:46:52.154] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:46:52.166] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:46:52.171] [undefined] GET(/:id): successfully get video 2 with status 200 +[2025-07-22 20:47:43.022] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:47:43.023] [undefined] GET(/:id): try to get video 2 +[2025-07-22 20:47:43.054] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:47:43.058] [undefined] GET(/:id): successfully get video 2 with status 200 +[2025-07-22 20:47:49.701] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:47:49.711] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:47:49.713] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:47:49.723] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:47:50.903] [undefined] GET(/:id): try to get video 2 +[2025-07-22 20:47:50.904] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:47:50.915] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:47:50.918] [undefined] GET(/:id): successfully get video 2 with status 200 +[2025-07-22 20:47:51.540] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:47:51.549] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:47:51.552] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:47:51.559] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:47:52.136] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:47:52.137] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:47:52.147] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:47:52.151] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:48:10.861] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 20:48:10.868] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 20:48:10.871] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 20:48:10.878] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 20:48:12.272] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:48:12.274] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:48:12.284] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:48:12.288] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:48:19.549] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:48:19.551] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:48:19.562] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:48:19.566] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:48:58.136] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:48:58.137] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:48:58.148] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:48:58.151] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:49:26.900] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:49:26.901] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:49:26.911] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:49:26.915] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:50:49.085] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:50:49.099] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:50:49.109] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:50:49.113] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:50:50.298] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:50:50.300] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:50:50.332] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:50:50.335] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:52:50.414] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:52:50.416] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:52:50.428] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:52:50.432] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:52:56.186] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:52:56.189] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:52:56.196] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:52:56.198] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:53:21.862] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:53:21.863] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:53:21.873] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:53:21.878] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:54:47.148] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:54:47.150] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:54:47.159] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:54:47.163] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:55:09.757] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:55:09.758] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:55:09.768] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:55:09.772] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:55:34.776] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:55:34.778] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:55:34.789] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:55:34.793] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:55:46.011] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:55:46.012] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:55:46.021] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:55:46.025] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:55:47.091] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:55:47.092] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:55:47.102] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:55:47.106] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:57:49.922] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:57:49.923] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:57:49.933] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:57:49.936] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:57:56.667] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:57:56.668] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:57:56.677] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:57:56.680] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:58:05.582] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:58:05.584] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:58:05.594] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:58:05.597] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:58:44.248] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:58:44.251] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:58:44.258] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:58:44.260] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 20:59:31.186] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 20:59:31.188] [undefined] GET(/:id): try to get video 1 +[2025-07-22 20:59:31.198] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 20:59:31.201] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:00:01.982] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:00:01.994] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:00:02.006] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:00:02.009] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:00:07.429] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:00:07.430] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:00:07.441] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:00:07.444] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:00:12.139] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:00:12.141] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:00:12.151] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:00:12.155] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:00:19.533] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:00:19.534] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:00:19.546] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:00:19.549] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:00:20.744] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:00:20.745] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:00:20.756] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:00:20.759] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:00:21.239] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:00:21.241] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:00:21.272] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:00:21.275] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:01:23.136] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:01:23.137] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:01:23.147] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:01:23.151] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:01:30.326] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:01:30.328] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:01:30.338] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:01:30.341] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:01:35.955] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:01:35.957] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:01:35.966] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:01:35.970] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:01:41.623] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:01:41.624] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:01:41.633] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:01:41.636] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:01:47.045] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:01:47.046] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:01:47.055] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:01:47.059] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:02:33.506] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:02:33.508] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:02:33.518] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:02:33.522] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:03:01.405] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:03:01.407] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:03:01.415] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:03:01.417] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:03:18.619] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:03:18.621] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:03:18.631] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:03:18.634] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:03:24.166] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:03:24.167] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:03:24.177] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:03:24.180] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:03:57.108] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:03:57.112] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:03:57.122] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:03:57.126] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:07:48.043] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:07:48.044] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:07:48.054] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:07:48.057] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:08:14.066] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:08:14.068] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:08:14.078] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:08:14.081] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:08:42.508] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:08:42.510] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:08:42.519] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:08:42.523] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:08:49.875] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:08:49.876] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:08:49.887] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:09:09.605] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:09:09.606] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:09:09.617] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:09:09.621] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:09:28.999] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:09:29.000] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:09:29.011] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:09:29.015] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:09:42.133] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:09:42.134] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:09:42.145] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:09:42.149] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:09:46.728] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:09:46.729] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:09:46.740] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:09:46.744] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:09:53.658] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:09:53.659] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:09:53.670] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:09:53.673] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:10:07.560] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:10:07.562] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:10:07.572] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:10:07.575] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:11:48.063] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:11:48.064] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:11:48.075] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:11:48.078] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:12:02.595] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:12:02.596] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:12:02.608] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:12:02.611] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:12:35.182] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:12:35.184] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:12:35.195] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:12:35.198] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:13:05.022] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:13:05.024] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:13:05.032] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:13:05.034] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:13:24.283] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:13:24.285] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:13:24.293] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:13:24.298] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:16:05.260] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-22 21:16:05.262] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-22 21:16:05.264] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-22 21:16:05.268] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-22 21:16:05.275] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-22 21:16:05.995] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-22 21:16:06.004] [undefined] GET(/:id/stats): try to get stats +[2025-07-22 21:16:06.007] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-22 21:16:06.013] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-22 21:16:10.169] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:16:10.171] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:16:10.187] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:16:10.192] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-22 21:16:22.566] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-22 21:16:22.568] [undefined] GET(/:id): try to get video 1 +[2025-07-22 21:16:22.578] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-22 21:16:22.583] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-23 17:27:15.487] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 17:27:15.489] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 17:27:15.491] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 17:27:15.496] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 17:27:15.502] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 17:27:16.444] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 17:27:16.454] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 17:27:16.455] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 17:27:16.463] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 17:27:17.336] [undefined] GET(/:id): try to get video 1 +[2025-07-23 17:27:17.337] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:27:17.347] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:27:17.349] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-23 17:43:14.759] [undefined] GET(/:id): failed because video not found with status 404 +[2025-07-23 17:43:14.760] [undefined] GET(/:id/likes/day): failed because video not found with status 404 +[2025-07-23 17:43:17.769] [undefined] GET(/:id): failed because video not found with status 404 +[2025-07-23 17:43:17.777] [undefined] GET(/:id/likes/day): failed because video not found with status 404 +[2025-07-23 17:43:21.811] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 17:43:21.813] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 17:43:21.814] [undefined] GET(/:id/history): failed to retrieve history of user 1 because it doesn't exist with status 404 +[2025-07-23 17:43:21.816] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 17:43:21.823] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 17:43:23.480] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 17:43:23.489] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 17:43:23.490] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 17:43:23.498] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 17:43:43.892] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 17:43:43.900] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 17:43:43.901] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 17:43:43.908] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 17:45:17.573] [undefined] POST(/): failed due to invalid values with status 400 +[2025-07-23 17:45:27.151] [undefined] POST(/): try to upload video with status undefined +[2025-07-23 17:45:27.155] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-23 17:45:38.691] [undefined] POST(/thumbnail): failed because video not found with status 404 +[2025-07-23 17:45:50.889] [undefined] POST(/thumbnail): try to add thumbnail to video 3 +[2025-07-23 17:45:50.891] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-23 17:45:56.250] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 17:45:56.258] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 17:45:56.262] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 17:45:56.268] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 17:45:58.865] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:45:58.866] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:45:58.876] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:45:58.878] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:46:04.384] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:46:04.392] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:46:04.401] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-23 17:46:04.407] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-23 17:46:04.418] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-23 17:46:04.427] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-23 17:46:05.192] [undefined] GET(/:id/like): try to toggle like on video 3 +[2025-07-23 17:46:05.199] [undefined] GET(/:id/like): no likes found adding likes for video 3 with status 200 +[2025-07-23 17:46:11.770] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 17:46:11.771] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 17:46:11.774] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 17:46:11.776] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 17:46:11.783] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 17:46:13.087] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 17:46:13.095] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 17:46:13.096] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 17:46:13.104] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 17:46:14.017] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:46:14.018] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:46:14.027] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:46:14.030] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:50:24.486] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:50:24.487] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:50:24.497] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:50:24.500] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:50:42.277] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:50:42.279] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:50:42.289] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:50:42.293] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:50:56.594] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:50:56.595] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:50:56.603] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:50:56.608] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:51:06.324] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:51:06.329] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:51:06.334] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:51:06.337] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:51:13.986] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:51:13.987] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:51:13.996] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:51:13.999] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:51:24.938] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:51:24.940] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:51:24.948] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:51:24.952] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:51:32.502] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:51:32.503] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:51:32.513] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:51:32.516] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:51:43.998] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:51:58.860] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:51:58.862] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:51:58.873] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:51:58.879] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:52:08.066] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:52:08.066] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:52:08.078] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:52:08.086] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:52:32.593] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:52:32.595] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:52:32.606] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:52:32.608] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:52:41.657] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:52:41.659] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:52:41.668] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:52:41.672] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:52:49.574] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:52:49.576] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:52:49.583] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:52:49.585] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:53:13.035] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:53:13.036] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:53:13.047] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:53:13.049] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:53:51.083] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:53:51.092] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:53:51.102] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-23 17:53:51.113] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-23 17:53:51.125] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-23 17:53:51.133] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-23 17:55:32.973] [undefined] POST(/): try to post comment +[2025-07-23 17:55:32.980] [undefined] POST(/): successfully post comment with status 200 +[2025-07-23 17:55:35.982] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 17:55:35.984] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 17:55:35.987] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 17:55:35.990] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 17:55:35.997] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 17:55:37.078] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 17:55:37.087] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 17:55:37.089] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 17:55:37.095] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 17:55:37.878] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:55:37.879] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:55:37.888] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:55:37.893] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:55:43.020] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:55:43.022] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:55:43.031] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:55:43.034] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:56:03.692] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:56:03.694] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:56:03.703] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:56:03.706] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:56:40.826] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:56:40.827] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:56:40.837] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:56:40.840] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:56:50.963] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:56:50.964] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:56:50.973] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:56:50.976] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:57:16.454] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:57:16.456] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:57:16.465] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:57:16.467] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:57:28.435] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:57:28.445] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:57:28.454] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-23 17:57:28.462] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-23 17:57:28.476] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-23 17:57:28.486] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-23 17:58:22.552] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 17:58:22.555] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 17:58:22.556] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 17:58:22.560] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 17:58:22.567] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 17:58:23.318] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 17:58:23.326] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 17:58:23.329] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 17:58:23.335] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 17:58:24.206] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:58:24.207] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:58:24.218] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:58:24.220] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:59:09.194] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 17:59:09.196] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:59:09.208] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 17:59:09.212] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:59:14.461] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:59:14.471] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:59:14.481] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-23 17:59:14.492] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-23 17:59:14.504] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-23 17:59:14.512] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-23 17:59:20.094] [undefined] POST(/): try to post comment +[2025-07-23 17:59:20.101] [undefined] POST(/): successfully post comment with status 200 +[2025-07-23 17:59:22.477] [undefined] GET(/:id): try to get video 3 +[2025-07-23 17:59:22.486] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 17:59:22.496] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-23 17:59:22.505] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-23 17:59:22.520] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-23 17:59:22.530] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-23 18:00:31.255] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 18:00:31.257] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 18:00:31.267] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 18:00:31.270] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 18:00:31.276] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 18:00:31.765] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 18:00:31.773] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 18:00:31.776] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 18:00:31.783] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 18:00:32.215] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:00:32.217] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:00:32.224] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:00:32.227] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:00:33.841] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 18:00:33.850] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 18:00:33.853] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 18:00:33.859] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 18:01:04.460] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:01:04.461] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:01:04.470] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:01:04.473] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:01:09.757] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 18:01:09.760] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 18:01:09.762] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 18:01:09.765] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 18:01:09.772] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 18:01:13.324] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:01:13.333] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:01:13.343] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-23 18:01:13.351] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-23 18:01:13.367] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-23 18:01:13.378] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-23 18:01:15.606] [undefined] POST(/): try to post comment +[2025-07-23 18:01:15.614] [undefined] POST(/): successfully post comment with status 200 +[2025-07-23 18:01:17.419] [undefined] POST(/): try to post comment +[2025-07-23 18:01:17.425] [undefined] POST(/): successfully post comment with status 200 +[2025-07-23 18:01:18.402] [undefined] POST(/): try to post comment +[2025-07-23 18:01:18.409] [undefined] POST(/): successfully post comment with status 200 +[2025-07-23 18:01:19.513] [undefined] POST(/): try to post comment +[2025-07-23 18:01:19.522] [undefined] POST(/): successfully post comment with status 200 +[2025-07-23 18:01:20.831] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 18:01:20.832] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 18:01:20.856] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 18:01:20.858] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 18:01:20.866] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 18:01:21.709] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 18:01:21.718] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 18:01:21.720] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 18:01:21.726] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 18:01:22.203] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:01:22.205] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:01:22.214] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:01:22.217] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:48:57.722] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:48:57.731] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:48:57.741] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-23 18:48:57.749] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-23 18:48:57.763] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-23 18:48:57.774] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-23 18:49:00.301] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-23 18:49:00.304] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-23 18:49:00.306] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-23 18:49:00.308] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-23 18:49:00.315] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-23 18:49:01.835] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-23 18:49:01.844] [undefined] GET(/:id/stats): try to get stats +[2025-07-23 18:49:01.847] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-23 18:49:01.853] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-23 18:49:02.497] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:49:02.498] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:49:02.507] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:49:02.509] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:50:39.302] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:50:39.304] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:50:39.311] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:50:39.316] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:50:45.538] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:50:45.542] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:50:45.553] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:50:45.556] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:51:02.344] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:51:02.346] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:52:29.834] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:52:29.836] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:52:29.846] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:52:29.851] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:55:11.811] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:55:11.812] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:55:11.822] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:55:11.825] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:55:26.539] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:55:26.540] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:55:26.551] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:55:26.554] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:55:34.638] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:55:34.639] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:55:34.651] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:55:34.655] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:55:44.674] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:55:44.675] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:55:44.685] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:55:44.688] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:55:58.251] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:55:58.252] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:55:58.262] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:55:58.265] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-23 18:59:15.159] [undefined] GET(/:id): try to get video 3 +[2025-07-23 18:59:15.160] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-23 18:59:15.171] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-23 18:59:15.175] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:03:42.260] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:03:42.271] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:03:42.282] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 18:03:42.290] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 18:03:42.308] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 18:03:42.317] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 18:03:43.972] [undefined] GET(/:id/like): try to toggle like on video 3 +[2025-07-24 18:03:43.980] [undefined] GET(/:id/like): likes found, removing like for video 3 with status 200 +[2025-07-24 18:03:48.567] [undefined] GET(/:id/like): try to toggle like on video 3 +[2025-07-24 18:03:48.577] [undefined] GET(/:id/like): no likes found adding likes for video 3 with status 200 +[2025-07-24 18:04:20.170] [undefined] POST(/login): try to login with username 'astria' +[2025-07-24 18:04:20.221] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-24 18:04:27.397] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:04:27.405] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:04:27.415] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 18:04:27.424] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 18:04:27.440] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 18:04:27.449] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 18:04:29.637] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 18:04:29.640] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 18:04:29.641] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 18:04:29.644] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 18:04:29.652] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 18:04:30.507] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 18:04:30.516] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 18:04:30.518] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 18:04:30.526] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 18:04:31.152] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:04:31.154] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:04:31.163] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:04:31.168] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:31:47.959] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:31:47.960] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:31:47.971] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:31:47.975] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:32:08.994] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:32:08.995] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:32:09.015] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:32:09.018] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:32:42.056] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:32:42.060] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:32:42.067] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:32:42.069] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:33:45.203] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:33:45.205] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:33:45.216] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:33:45.219] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:34:05.063] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:34:05.064] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:34:05.073] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:34:05.076] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:34:14.305] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:34:14.307] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:34:14.318] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:34:14.321] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:34:33.526] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:34:33.528] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:34:33.561] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:34:33.565] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:34:37.842] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-24 18:35:24.288] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:35:24.291] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:35:24.298] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:35:24.301] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:35:41.135] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:35:41.137] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:35:41.145] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:35:41.147] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:36:02.830] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:36:02.831] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:36:02.841] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:36:02.845] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:36:13.249] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:36:13.251] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:36:13.261] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:36:13.265] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:36:24.434] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:36:24.436] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:36:24.445] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:36:24.449] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:36:33.527] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:36:33.530] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:36:33.539] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:36:33.543] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:36:52.676] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:36:52.678] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:36:52.688] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:36:52.691] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:37:57.617] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:37:57.619] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:37:57.628] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:37:57.633] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:38:15.305] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:38:15.307] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:38:15.315] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:38:15.319] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:38:25.350] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:38:25.353] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:38:25.360] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:38:25.363] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:39:53.311] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:39:53.312] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:39:53.323] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:39:53.327] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:40:07.978] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:40:07.980] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:40:07.992] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:40:07.996] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:41:00.422] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:41:00.424] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:41:00.434] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:41:00.439] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:47:18.951] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:47:18.953] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:47:18.963] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:47:18.966] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:49:38.250] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:51:24.010] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:51:24.012] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:51:24.024] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:51:24.030] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 18:51:34.623] [undefined] GET(/:id): try to get video 3 +[2025-07-24 18:51:34.624] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 18:51:34.633] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 18:51:34.636] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:32:55.058] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 20:32:55.060] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 20:32:55.062] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 20:32:55.064] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 20:32:55.072] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 20:32:56.539] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 20:32:56.547] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 20:32:56.549] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 20:32:56.556] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 20:34:17.395] [undefined] POST(/thumbnail): try to add thumbnail to video 3 +[2025-07-24 20:34:17.398] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-24 20:34:19.538] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 20:34:19.546] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 20:34:19.548] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 20:34:19.557] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 20:34:20.890] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:34:20.891] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:34:20.900] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:34:20.904] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:36:14.486] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:36:14.488] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:36:14.498] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:36:14.501] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:37:30.050] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:37:30.052] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:37:30.061] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:37:30.064] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:37:44.659] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:37:44.661] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:37:44.672] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:37:44.677] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:38:18.559] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:38:18.562] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:38:18.568] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:38:18.571] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:38:30.313] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:38:30.315] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:38:30.324] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:38:30.328] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:40:57.000] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:40:57.004] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:40:57.024] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:40:57.028] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:40:59.531] [undefined] POST(/thumbnail): try to add thumbnail to video 3 +[2025-07-24 20:40:59.533] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-24 20:41:02.165] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:41:02.166] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:41:02.177] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:41:02.181] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:41:41.119] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:41:41.121] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:41:41.130] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:41:41.135] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:42:01.177] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:42:01.179] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:42:01.188] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:42:01.192] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:42:04.116] [undefined] POST(/thumbnail): try to add thumbnail to video 3 +[2025-07-24 20:42:04.118] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-24 20:42:05.461] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:42:05.463] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:42:05.473] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:42:05.477] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:42:07.663] [undefined] POST(/thumbnail): try to add thumbnail to video 3 +[2025-07-24 20:42:07.665] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-24 20:42:08.383] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:42:08.385] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:42:08.395] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:42:08.397] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:42:14.642] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:42:14.644] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:42:14.654] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:42:14.658] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:44:59.018] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:44:59.020] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:44:59.030] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:44:59.033] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:45:05.604] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 20:45:42.600] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:45:42.601] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:45:42.611] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:45:42.615] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:45:52.280] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 20:45:52.287] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 20:45:54.916] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:45:54.917] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:45:54.927] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:45:54.931] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:45:58.425] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:45:58.426] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:45:58.436] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:45:58.439] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:46:17.140] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 20:46:17.147] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 20:46:18.740] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:46:18.741] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:46:18.752] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:46:18.754] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:47:03.684] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:47:03.686] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:47:03.698] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:47:03.706] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:47:07.405] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 20:47:07.414] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 20:47:09.377] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:47:09.379] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:47:09.389] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:47:09.391] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:49:54.899] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 20:49:54.908] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 20:50:02.922] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:50:02.924] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:50:02.934] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:50:02.938] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:50:06.034] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:50:06.043] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:50:06.052] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 20:50:06.061] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 20:50:06.072] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 20:50:06.080] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 20:50:17.695] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 20:50:17.696] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 20:50:17.698] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 20:50:17.700] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 20:50:17.708] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 20:50:20.068] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 20:50:20.077] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 20:50:20.078] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 20:50:20.085] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 20:50:21.239] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:50:21.241] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:50:21.250] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:50:21.253] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:50:33.603] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-24 20:50:43.849] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-24 20:51:37.954] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:51:37.959] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:51:37.966] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:51:37.969] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:51:44.740] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-24 20:52:27.362] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:52:27.366] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:52:27.373] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:52:27.376] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:52:32.753] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-24 20:53:21.216] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:53:21.218] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:53:21.227] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:53:21.230] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:53:55.277] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:53:55.282] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:53:55.288] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:53:55.292] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:54:01.114] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 20:54:01.121] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 20:55:33.611] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:55:33.612] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:55:33.645] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:55:33.651] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:55:37.818] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 20:55:37.825] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 20:55:38.444] [undefined] PUT(/:id/video): try to update video file 3 +[2025-07-24 20:55:38.453] [undefined] PUT(/:id/video): successfully deleted video CFE69DBF4ADB684F.mp4 +[2025-07-24 20:55:38.556] [undefined] PUT(/:id/video): successfully updated video with status 200 +[2025-07-24 20:55:45.465] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:55:45.477] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:55:45.493] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 20:55:45.502] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 20:55:45.565] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 20:55:45.574] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 20:56:04.985] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 20:56:04.986] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 20:56:04.988] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 20:56:04.991] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 20:56:04.999] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 20:56:06.724] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 20:56:06.733] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 20:56:06.735] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 20:56:06.742] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 20:56:08.514] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:56:08.515] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:56:08.531] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:56:08.536] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:57:25.824] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:57:25.826] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:57:25.833] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:57:25.835] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:57:56.065] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:57:56.068] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:57:56.075] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:57:56.078] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:58:33.167] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:58:33.169] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:58:33.177] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:58:33.180] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:59:20.258] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:59:20.260] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:59:20.270] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:59:20.275] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 20:59:44.984] [undefined] GET(/:id): try to get video 3 +[2025-07-24 20:59:44.985] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 20:59:44.995] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 20:59:44.998] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:00:02.382] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:00:02.383] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:00:02.394] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:00:02.397] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:00:16.064] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:00:16.066] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:00:16.076] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:00:16.080] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:00:34.369] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:00:34.371] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:00:34.384] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:00:34.388] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:00:43.328] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:00:43.329] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:00:43.338] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:00:43.343] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:00:54.952] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:00:54.954] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:00:54.964] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:00:54.967] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:01:08.894] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:01:08.895] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:01:08.906] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:01:08.910] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:01:16.479] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:01:16.481] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:01:16.491] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:01:16.495] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:01:31.893] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:01:31.895] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:01:31.905] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:01:31.908] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:01:53.351] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:01:53.355] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:01:53.362] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:01:53.366] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:02:30.129] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:02:30.130] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:02:30.139] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:02:30.143] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:02:42.834] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:02:42.835] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:02:42.846] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:02:42.850] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:03:03.854] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:03:03.855] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:03:03.864] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:03:03.868] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:03:30.387] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:03:30.390] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:03:30.399] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:03:30.401] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:03:42.383] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:03:42.385] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:03:42.396] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:03:42.399] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:03:46.714] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 21:03:46.720] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 21:03:48.780] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:03:48.782] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:03:48.791] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:03:48.793] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:04:41.970] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 21:04:41.980] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 21:04:42.629] [undefined] PUT(/:id/video): try to update video file 3 +[2025-07-24 21:04:42.661] [undefined] PUT(/:id/video): successfully deleted video CFE69DBF4ADB684F.mp4 +[2025-07-24 21:04:42.762] [undefined] PUT(/:id/video): successfully updated video with status 200 +[2025-07-24 21:04:51.342] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:04:51.351] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:04:51.362] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:04:51.373] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:04:51.393] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:04:51.401] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:04:55.987] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:04:55.988] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:04:55.990] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:04:55.992] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:04:56.001] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:04:57.122] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 21:04:57.131] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 21:04:57.133] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 21:04:57.141] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 21:04:58.043] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:04:58.045] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:04:58.055] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:04:58.058] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:05:22.374] [undefined] PUT(/:id): try to update video 3 +[2025-07-24 21:05:22.380] [undefined] PUT(/:id): successfully updated video with status 200 +[2025-07-24 21:05:23.356] [undefined] PUT(/:id/video): try to update video file 3 +[2025-07-24 21:05:23.389] [undefined] PUT(/:id/video): successfully deleted video CFE69DBF4ADB684F.mp4 +[2025-07-24 21:05:23.549] [undefined] PUT(/:id/video): successfully updated video with status 200 +[2025-07-24 21:05:30.773] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:05:30.782] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:05:30.792] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:05:30.801] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:05:30.813] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:05:30.820] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:05:32.982] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:05:32.987] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:05:32.991] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:05:32.996] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:05:33.024] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:05:33.616] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 21:05:33.626] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 21:05:33.629] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 21:05:33.636] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 21:05:34.621] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:05:34.623] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:05:34.634] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:05:34.638] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:05:41.505] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:05:41.506] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:05:41.516] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:05:41.520] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:07:37.767] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:07:37.769] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:07:37.780] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:07:37.784] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:07:39.741] [undefined] POST(/thumbnail): try to add thumbnail to video 3 +[2025-07-24 21:07:39.743] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-24 21:07:43.860] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:07:43.870] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:07:43.879] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:07:43.888] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:07:43.901] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:07:43.909] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:07:48.946] [undefined] DELETE(/:id): try to delete comment 7 +[2025-07-24 21:07:48.954] [undefined] DELETE(/:id): successfully deleted comment with status 200 +[2025-07-24 21:07:48.962] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:07:48.970] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:07:48.980] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:07:48.986] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:07:48.995] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:07:49.002] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:07:49.355] [undefined] DELETE(/:id): try to delete comment 6 +[2025-07-24 21:07:49.363] [undefined] DELETE(/:id): successfully deleted comment with status 200 +[2025-07-24 21:07:49.372] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:07:49.380] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:16:39.642] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:16:39.655] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:16:39.668] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:16:39.677] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:16:39.694] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:16:39.702] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:16:41.348] [undefined] DELETE(/:id): try to delete comment 5 +[2025-07-24 21:16:41.355] [undefined] DELETE(/:id): successfully deleted comment with status 200 +[2025-07-24 21:16:41.363] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:16:41.371] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:16:41.380] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:16:41.387] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:16:41.396] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:16:41.407] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:16:42.217] [undefined] DELETE(/:id): try to delete comment 4 +[2025-07-24 21:16:42.223] [undefined] DELETE(/:id): successfully deleted comment with status 200 +[2025-07-24 21:16:42.231] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:16:42.240] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:16:42.248] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:16:42.255] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:16:42.264] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:16:42.270] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:16:42.938] [undefined] DELETE(/:id): try to delete comment 3 +[2025-07-24 21:16:42.945] [undefined] DELETE(/:id): successfully deleted comment with status 200 +[2025-07-24 21:16:42.953] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:16:42.961] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:16:42.969] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:16:42.976] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:16:42.986] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:16:42.992] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:16:43.814] [undefined] DELETE(/:id): try to delete comment 2 +[2025-07-24 21:16:43.820] [undefined] DELETE(/:id): successfully deleted comment with status 200 +[2025-07-24 21:16:43.829] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:16:43.837] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:16:43.845] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:16:43.852] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:16:43.861] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:16:43.868] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:16:45.394] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:16:45.404] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:16:45.413] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:16:45.423] [undefined] GET(/:id/similar): No tags found for video 3 with status 404 +[2025-07-24 21:16:45.441] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:16:45.452] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:16:48.935] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:16:48.937] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:16:48.939] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:16:48.941] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:16:48.947] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:16:49.768] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 21:16:49.777] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 21:16:49.780] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 21:16:49.786] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 21:16:53.309] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:16:53.311] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:16:53.320] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:16:53.323] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:17:21.597] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:17:21.598] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:17:21.627] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:17:21.631] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:20:34.908] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:20:34.909] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:20:34.940] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:20:34.946] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:20:51.566] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:20:51.567] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:20:51.578] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:20:51.582] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:22:23.032] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:22:23.044] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:22:24.712] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:22:24.713] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:22:24.723] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:22:24.726] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:22:32.625] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:22:32.627] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:22:32.638] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:22:32.641] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:22:46.223] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:22:46.225] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:22:46.236] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:22:46.239] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:23:02.801] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:23:02.802] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:23:02.813] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:23:02.817] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:23:10.995] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:23:10.996] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:23:11.006] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:23:11.010] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:26:02.687] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:26:02.688] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:26:02.698] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:26:02.702] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:26:23.631] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:26:23.632] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:26:23.642] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:26:23.645] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:26:31.517] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:26:31.518] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:26:31.529] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:26:31.532] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:26:39.987] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:26:39.989] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:26:39.999] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:26:40.002] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:26:49.185] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:26:49.186] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:26:49.196] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:26:49.200] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:27:01.601] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:27:01.602] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:27:01.613] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:27:01.617] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:27:22.498] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:27:22.500] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:27:22.509] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:27:22.513] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:27:31.420] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:27:31.421] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:27:31.430] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:27:31.434] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:27:43.349] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:27:43.351] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:27:43.362] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:27:43.366] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:28:23.468] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:28:23.469] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:28:23.478] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:28:23.482] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:28:36.876] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:28:36.878] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:28:36.879] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:28:36.881] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:28:36.888] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:28:38.911] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:28:38.920] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:28:38.929] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:28:38.940] [undefined] GET(/:id/similar): successfully get similar videos for video 3 with status 200 +[2025-07-24 21:28:38.961] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:28:38.969] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:28:50.180] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:28:50.182] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:28:50.184] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:28:50.187] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:28:50.193] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:28:50.989] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:28:50.990] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:28:51.001] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:28:51.005] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:29:03.367] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:29:03.368] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:29:03.378] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:29:03.382] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:29:33.081] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:29:33.082] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:29:33.092] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:29:33.096] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:29:34.371] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:29:34.372] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:29:34.374] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:29:34.376] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:29:34.383] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:29:36.021] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:29:36.031] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:29:36.041] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:29:36.055] [undefined] GET(/:id/similar): successfully get similar videos for video 3 with status 200 +[2025-07-24 21:29:36.073] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:29:36.081] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:29:43.715] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:29:43.725] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:29:43.736] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:30:33.256] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:30:33.260] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:30:33.264] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:30:33.268] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:30:33.276] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:30:34.460] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 21:30:34.469] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 21:30:34.472] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 21:30:34.479] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 21:30:35.564] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:30:35.566] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:30:35.576] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:30:35.580] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:32:20.589] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:32:20.590] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:32:20.601] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:32:20.604] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:32:21.438] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:32:21.440] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:32:21.450] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:32:21.453] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:32:45.458] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:32:45.460] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:32:45.468] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:32:45.473] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:32:55.088] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:32:55.090] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:32:55.100] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:32:55.104] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:32:56.362] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:32:56.364] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:32:56.375] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:32:56.378] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:33:05.419] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:33:05.421] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:33:05.431] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:33:05.435] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:33:56.672] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:33:56.674] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:33:56.681] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:33:56.684] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:34:25.774] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:34:25.775] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:34:25.786] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:34:25.790] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:34:35.798] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:34:35.800] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:34:35.812] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:34:35.815] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:34:53.227] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:34:53.229] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:34:53.240] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:34:53.244] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:35:10.846] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:35:10.848] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:35:10.860] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:35:10.863] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:35:32.373] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:35:32.374] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:35:32.384] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:35:32.388] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:35:33.553] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:35:33.555] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:35:33.565] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:35:33.569] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:35:36.725] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:35:36.735] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:35:36.738] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:35:36.744] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:36:13.760] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:36:13.761] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:36:13.772] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:36:13.775] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:36:33.865] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:36:33.870] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:36:33.879] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:36:33.882] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:36:57.722] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:36:57.723] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:36:57.741] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:36:57.744] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:37:11.979] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:37:11.981] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:37:11.990] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:37:11.995] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:37:17.732] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:37:17.733] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:37:17.742] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:37:17.747] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:38:29.622] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:38:29.625] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:38:29.632] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:38:29.635] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:39:11.215] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:39:11.217] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:39:11.227] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:39:11.230] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:40:56.062] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:40:56.063] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:40:56.073] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:40:56.076] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:40:57.679] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:40:57.687] [undefined] PUT(/:id/tags): Tag Create Mod already exists for video 3 with status 200 +[2025-07-24 21:40:57.690] [undefined] PUT(/:id/tags): Tag Redstone already exists for video 3 with status 200 +[2025-07-24 21:40:57.693] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:41:03.488] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:41:03.490] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:41:03.499] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:41:03.502] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:41:04.452] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:41:04.460] [undefined] PUT(/:id/tags): Tag Redstone already exists for video 3 with status 200 +[2025-07-24 21:41:04.464] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:41:05.005] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:41:05.007] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:41:05.015] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:41:05.017] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:41:06.002] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:41:06.015] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:41:06.836] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:41:06.838] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:41:06.848] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:41:06.852] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:41:07.772] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:41:07.774] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:41:07.781] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:41:07.783] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:41:10.418] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:41:10.425] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:41:10.429] [undefined] PUT(/:id/tags): Tag Create Mod already exists for video 3 with status 200 +[2025-07-24 21:41:10.434] [undefined] PUT(/:id/tags): Tag Redstone already exists for video 3 with status 200 +[2025-07-24 21:41:10.436] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:41:12.865] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:41:12.866] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:41:12.877] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:41:12.881] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:42:57.693] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:42:57.696] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:42:57.707] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:42:57.711] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:42:59.535] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:42:59.543] [undefined] PUT(/:id/tags): Tag Create Mod already exists for video 3 with status 200 +[2025-07-24 21:42:59.545] [undefined] PUT(/:id/tags): Tag Redstone already exists for video 3 with status 200 +[2025-07-24 21:42:59.548] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:43:28.888] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:43:28.889] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:43:28.900] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:43:28.904] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:43:29.981] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:43:29.989] [undefined] PUT(/:id/tags): Tag Redstone already exists for video 3 with status 200 +[2025-07-24 21:43:29.993] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:43:31.990] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:43:31.997] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:44:25.228] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:44:25.230] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:44:25.240] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:44:25.243] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:45:34.279] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:45:34.281] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:45:34.291] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:45:34.295] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:45:38.111] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:45:38.118] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:45:38.137] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:45:46.618] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:45:46.632] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:45:46.637] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:45:51.312] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:45:51.314] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:45:51.324] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:45:51.328] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:47:07.572] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:47:07.576] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:47:07.583] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:47:07.586] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:47:15.627] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:47:15.630] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:47:15.638] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:47:15.641] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:47:16.642] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:47:16.652] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:47:16.663] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:47:16.674] [undefined] GET(/:id/similar): successfully get similar videos for video 3 with status 200 +[2025-07-24 21:47:16.694] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:47:16.702] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:47:51.534] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:47:51.536] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:47:51.545] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:47:51.548] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:48:27.254] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:48:27.255] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:48:27.267] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:48:27.270] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:48:43.798] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:48:43.810] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:48:43.821] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:48:43.830] [undefined] GET(/:id/similar): successfully get similar videos for video 3 with status 200 +[2025-07-24 21:48:43.857] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:48:43.866] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 +[2025-07-24 21:48:51.420] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-24 21:48:51.423] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-24 21:48:51.424] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-24 21:48:51.426] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-24 21:48:51.432] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-24 21:48:52.182] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-24 21:48:52.191] [undefined] GET(/:id/stats): try to get stats +[2025-07-24 21:48:52.192] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-24 21:48:52.199] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-24 21:48:53.118] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:48:53.120] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:48:53.141] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:48:53.145] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:49:08.659] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:08.669] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:08.673] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:08.677] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:09.737] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:09.745] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:09.748] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:09.751] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:09.755] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:10.355] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:10.363] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:10.366] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:10.369] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:10.372] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:10.376] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:11.154] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:11.162] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:11.165] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:11.169] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:11.171] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:11.174] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:11.178] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:11.737] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:11.745] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:11.748] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:11.750] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:11.753] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:11.756] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:11.759] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:11.762] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:12.523] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:12.531] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:12.534] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:12.537] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:12.540] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:12.542] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:12.546] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:12.548] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:12.552] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:13.085] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:13.093] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:13.096] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:13.099] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:13.102] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:13.104] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:13.107] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:13.110] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:13.112] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:13.117] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:15.005] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:15.013] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:49:15.016] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:15.019] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:15.021] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:15.024] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:15.027] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:15.030] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:15.033] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:15.035] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:15.039] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:15.385] [undefined] PUT(/:id/tags): failed due to invalid values with status 400 +[2025-07-24 21:49:24.000] [undefined] PUT(/:id/tags): failed due to invalid values with status 400 +[2025-07-24 21:49:33.870] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:49:33.872] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-24 21:49:33.882] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-24 21:49:33.885] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:49:37.028] [undefined] PUT(/:id/tags): failed due to invalid values with status 400 +[2025-07-24 21:49:53.343] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:53.352] [undefined] PUT(/:id/tags): Tag Naho Saenoki already exists for video 3 with status 200 +[2025-07-24 21:49:53.355] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:53.358] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:53.361] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:53.364] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:53.367] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:53.369] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:53.372] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:53.375] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:53.378] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:54.005] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:54.013] [undefined] PUT(/:id/tags): Tag qsdf already exists for video 3 with status 200 +[2025-07-24 21:49:54.016] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:54.019] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:54.022] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:54.024] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:54.027] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:54.030] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:54.033] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:54.036] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:54.978] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:54.986] [undefined] PUT(/:id/tags): Tag fds already exists for video 3 with status 200 +[2025-07-24 21:49:54.988] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:54.991] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:54.994] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:54.996] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:54.999] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:55.002] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:55.004] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:55.663] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:55.689] [undefined] PUT(/:id/tags): Tag ezrt already exists for video 3 with status 200 +[2025-07-24 21:49:55.691] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:55.695] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:55.697] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:55.699] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:55.702] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:55.705] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:56.283] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:56.291] [undefined] PUT(/:id/tags): Tag gdf already exists for video 3 with status 200 +[2025-07-24 21:49:56.293] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:56.296] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:56.299] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:56.302] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:56.305] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:56.857] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:56.865] [undefined] PUT(/:id/tags): Tag hgf already exists for video 3 with status 200 +[2025-07-24 21:49:56.868] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:56.871] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:56.873] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:56.876] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:57.412] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:57.420] [undefined] PUT(/:id/tags): Tag jhh already exists for video 3 with status 200 +[2025-07-24 21:49:57.422] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:57.425] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:57.428] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:58.062] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:58.070] [undefined] PUT(/:id/tags): Tag gyj already exists for video 3 with status 200 +[2025-07-24 21:49:58.073] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:58.075] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:58.618] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:58.627] [undefined] PUT(/:id/tags): Tag t already exists for video 3 with status 200 +[2025-07-24 21:49:58.629] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:49:59.218] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:49:59.226] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:50:02.840] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:50:02.847] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:50:02.850] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:50:05.359] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:50:05.367] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:50:05.370] [undefined] PUT(/:id/tags): Tag Redstone already exists for video 3 with status 200 +[2025-07-24 21:50:05.373] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:50:08.551] [undefined] PUT(/:id/tags): try to add tags to video 3 +[2025-07-24 21:50:08.560] [undefined] PUT(/:id/tags): Tag Minecraft already exists for video 3 with status 200 +[2025-07-24 21:50:08.563] [undefined] PUT(/:id/tags): Tag Redstone already exists for video 3 with status 200 +[2025-07-24 21:50:08.567] [undefined] PUT(/:id/tags): successfully added tags to video 3 with status 200 +[2025-07-24 21:50:12.925] [undefined] GET(/:id): try to get video 3 +[2025-07-24 21:50:12.934] [undefined] GET(/:id): successfully get video 3 with status 200 +[2025-07-24 21:50:12.944] [undefined] GET(/:id/similar): try to get similar videos for video 3 +[2025-07-24 21:50:12.955] [undefined] GET(/:id/similar): successfully get similar videos for video 3 with status 200 +[2025-07-24 21:50:12.973] [undefined] GET(/:id/views): try to add views for video 3 +[2025-07-24 21:50:12.980] [undefined] GET(/:id/views): successfully added views for video 3 with status 200 diff --git a/backend/requests/video.http b/backend/requests/video.http index f62d269..7af8b26 100644 --- a/backend/requests/video.http +++ b/backend/requests/video.http @@ -1,4 +1,4 @@ -@token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwidXNlcm5hbWUiOiJhc3RyaWEiLCJpYXQiOjE3NTI5NDQxMDF9.dbGCL8qqqLR3e7Ngns-xPfZAvp0WQzAbjaEHjDVg1HI +@token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJhc3RyaWEiLCJpYXQiOjE3NTMzODAyNjB9._rUcieo3acJp6tjQao7V3UQz0_ngHuB2z36_fG_fIX8 ### UPDATE VIDEO PUT http://127.0.0.1:8000/api/videos/3 @@ -16,7 +16,7 @@ GET http://127.0.0.1:8000/api/videos/14/like Authorization: Bearer {{token}} ### ADD TAGS -PUT http://127.0.0.1:8000/api/videos/2/tags +PUT http://127.0.0.1:8000/api/videos/3/tags Content-Type: application/json Authorization: Bearer {{token}} @@ -26,7 +26,7 @@ Authorization: Bearer {{token}} "Create Mod", "Redstone" ], - "channel": 2 + "channel": 1 } ### diff --git a/backend/server.js b/backend/server.js index 6647ab1..1371162 100644 --- a/backend/server.js +++ b/backend/server.js @@ -20,9 +20,9 @@ const app = express(); // INITIALIZE DATABASE - -app.use(express.urlencoded({extended: true})); -app.use(express.json()); +// Increase body size limits for file uploads +app.use(express.urlencoded({extended: true, limit: '500mb'})); +app.use(express.json({limit: '500mb'})); app.use(cors()) // ROUTES diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 7497e3b..adf4da8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,7 +9,10 @@ "version": "0.0.0", "dependencies": { "@tailwindcss/vite": "^4.1.11", + "chart.js": "^4.5.0", + "chartjs": "^0.3.24", "react": "^19.1.0", + "react-chartjs-2": "^5.3.0", "react-dom": "^19.1.0", "react-router-dom": "^7.6.3", "tailwindcss": "^4.1.11" @@ -1004,6 +1007,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@kurkle/color": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", + "license": "MIT" + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.19", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz", @@ -1794,6 +1803,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chart.js": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz", + "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, + "node_modules/chartjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/chartjs/-/chartjs-0.3.24.tgz", + "integrity": "sha512-h6G9qcDqmFYnSWqjWCzQMeOLiypS+pM6Fq2Rj7LPty8Kjx5yHonwwJ7oEHImZpQ2u9Pu36XGYfardvvBiQVrhg==", + "license": "MIT" + }, "node_modules/chownr": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", @@ -2999,6 +3026,16 @@ "node": ">=0.10.0" } }, + "node_modules/react-chartjs-2": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz", + "integrity": "sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==", + "license": "MIT", + "peerDependencies": { + "chart.js": "^4.1.1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/react-dom": { "version": "19.1.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 3769dca..adc5c94 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,7 +11,9 @@ }, "dependencies": { "@tailwindcss/vite": "^4.1.11", + "chart.js": "^4.5.0", "react": "^19.1.0", + "react-chartjs-2": "^5.3.0", "react-dom": "^19.1.0", "react-router-dom": "^7.6.3", "tailwindcss": "^4.1.11" diff --git a/frontend/src/components/Comment.jsx b/frontend/src/components/Comment.jsx index de6dc96..c1624ee 100644 --- a/frontend/src/components/Comment.jsx +++ b/frontend/src/components/Comment.jsx @@ -2,7 +2,7 @@ import {useAuth} from "../contexts/AuthContext.jsx"; import {useRef, useState} from "react"; -export default function Comment({ comment, index, videoId, refetchVideo }) { +export default function Comment({ comment, index, videoId, refetchVideo, doShowCommands=true }) { let {user, isAuthenticated} = useAuth(); let commentRef = useRef(); @@ -82,39 +82,44 @@ export default function Comment({ comment, index, videoId, refetchVideo }) { className="w-8 h-8 rounded-full object-cover mr-3" /> {comment.username} + {new Date(comment.created_at).toLocaleDateString()}
{comment.content}
-{video ? video.views : 0} vues
+{video ? video.likes : 0} likes
+Aucun commentaire
+ )} + +Aucun tag
+ )} +