+ Ajouter une vidéo +
+ +{videoTitle || "Titre de la vidéo"}
+ ++ {videoDescription || "Description de la vidéo"} +
+ +diff --git a/.gitignore b/.gitignore index e69de29..87da954 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,9 @@ +/backend/app/uploads/ +# Ignore all files in the uploads directory + +/frontend/node_modules +/backend/node_modules +# Ignore node_modules directories in both frontend and backend + +/frontend/dist +# Ignore the build output directory for the frontend \ No newline at end of file diff --git a/backend/app/controllers/channel.controller.js b/backend/app/controllers/channel.controller.js index e9a90f4..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); } @@ -27,10 +28,31 @@ export async function getById(req, res) { const logger = req.body.logger; logger.action("try to get channel with id " + id); const client = await getClient(); - const query = `SELECT * FROM channels WHERE id = $1`; + + const query = ` + SELECT * + FROM channels + WHERE channels.id = $1 + `; + const result = await client.query(query, [id]); + + const videoQuery = ` + SELECT v.*, COUNT(h.video) as views, COUNT(l.id) as likes, COUNT(c.id) as comments + FROM videos v + LEFT JOIN history h ON v.id = h.video + LEFT JOIN likes l ON v.id = l.video + LEFT JOIN comments c ON v.id = c.video + WHERE v.channel = $1 + GROUP BY v.id, title, thumbnail, description, channel, visibility, file, slug, format, release_date + `; + const videoResult = await client.query(videoQuery, [id]); + + result.rows[0].videos = videoResult.rows; + logger.write("Successfully get channel with id " + id, 200); - res.status(200).json(result); + client.end(); + res.status(200).json(result.rows[0]); } @@ -65,6 +87,7 @@ export async function getAll(req, res) { }) logger.write("Successfully get all channels", 200); + client.end(); res.status(200).json(result); } @@ -88,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 } @@ -96,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); } @@ -108,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'}); } @@ -132,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 @@ -144,6 +171,37 @@ 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}); } +} + +export async function getStats(req, res) { + + try { + const id = req.params.id; + + const logger = req.body.logger; + logger.action("try to get stats"); + + const request = ` + SELECT + (SELECT COUNT(*) FROM subscriptions WHERE channel = $1) as subscribers, + (SELECT COUNT(*) FROM history h JOIN videos v ON h.video = v.id WHERE v.channel = $1) as views + FROM channels + LEFT JOIN public.subscriptions s on channels.id = s.channel + LEFT JOIN public.videos v on channels.id = v.channel + LEFT JOIN public.history h on v.id = h.video + WHERE channels.id = $1 + `; + 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); + res.status(500).json({error: error.message}); + } + } \ No newline at end of file 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 a6d9300..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"}); } } @@ -184,12 +194,31 @@ export async function update(req, res) { user.password = userInBase.password; } + let __filename = fileURLToPath(import.meta.url); + let __dirname = dirname(__filename); + console.log(__dirname); + + let profilePicture = userInBase.picture.split("/").pop(); + fs.rename( + path.join(__dirname, "..", "uploads", "profiles", profilePicture), + path.join(__dirname, "..", "uploads", "profiles", user.username + "." + profilePicture.split(".").pop()), + (err) => { + if (err) { + logger.write("failed to update profile picture", 500); + console.error("Error renaming file:", err); + throw err; + } + }); + profilePicture = "/api/media/profile/" + user.username + "." + profilePicture.split(".").pop(); + 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, user.picture, id]); + const result = await client.query(updateQuery, [user.email, user.username, user.password, profilePicture, id]); logger.write("successfully updated user " + id, 200); - res.status(200).send({user: result.rows[0]}); + client.end(); + res.status(200).json(result.rows[0]); } catch (err) { console.log(err); + client.end() res.status(500).json({error: err}); } @@ -203,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'}); } @@ -217,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]}); } @@ -268,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..e12d18e 100644 --- a/backend/app/controllers/video.controller.js +++ b/backend/app/controllers/video.controller.js @@ -49,10 +49,12 @@ export async function upload(req, res) { logger.write("try to upload video"); const releaseDate = new Date(Date.now()).toISOString(); - 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]); + 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) RETURNING id`; + const idResult = await client.query(query, [video.title, 'null', video.description, video.channel, video.visibility, video.file, video.slug, video.format, releaseDate]); + const id = idResult.rows[0].id; logger.write("successfully uploaded video", 200); - res.status(200).json({"message": "Successfully uploaded video"}); + await client.end() + res.status(200).json({"message": "Successfully uploaded video", "id":id}); } @@ -75,6 +77,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 +100,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 +125,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 +137,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 +149,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 +167,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 +179,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 +201,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 +216,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 +247,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 +259,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 +307,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 +373,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 +448,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/channel.route.js b/backend/app/routes/channel.route.js index 517c28f..4876c6a 100644 --- a/backend/app/routes/channel.route.js +++ b/backend/app/routes/channel.route.js @@ -1,5 +1,5 @@ import {Router} from "express"; -import {create, del, getAll, getById, toggleSubscription, update} from "../controllers/channel.controller.js"; +import {create, del, getAll, getById, getStats, toggleSubscription, update} from "../controllers/channel.controller.js"; import {isTokenValid} from "../middlewares/jwt.middleware.js"; import { Channel, @@ -32,4 +32,8 @@ router.delete("/:id", [addLogger, isTokenValid, Channel.id, validator, doChannel // TOGGLE SUBSCRIPTION router.post("/:id/subscribe", [addLogger, isTokenValid, Channel.id, validator, doChannelExists], toggleSubscription); +// GET TOTAL VIEWS AND SUBSCRIBERS OF THE CHANNEL +router.get("/:id/stats", [addLogger, isTokenValid, Channel.id, validator, doChannelExists, isOwner], getStats); + + export default router; \ No newline at end of file diff --git a/backend/app/routes/user.route.js b/backend/app/routes/user.route.js index 75928f9..c3a5652 100644 --- a/backend/app/routes/user.route.js +++ b/backend/app/routes/user.route.js @@ -38,7 +38,7 @@ router.get("/:id", [addLogger, isTokenValid, User.id, validator], getById) router.get("/username/:username", [addLogger, isTokenValid, UserRequest.username, validator], getByUsername); // UPDATE USER -router.put("/:id", [addLogger, isTokenValid, User.id, UserRegister.email, UserRegister.username, UserRegister.password, validator, doUserExists, isOwner], update); +router.put("/:id", [addLogger, isTokenValid, User.id, UserRegister.email, UserRegister.username, validator, doUserExists, isOwner], update); // DELETE USER router.delete("/:id", [addLogger, isTokenValid, User.id, validator, doUserExists, isOwner], deleteUser); 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/profiles/astri6.jpg b/backend/app/uploads/profiles/astri6.jpg new file mode 100644 index 0000000..1dad29c Binary files /dev/null and b/backend/app/uploads/profiles/astri6.jpg differ diff --git a/backend/app/uploads/profiles/astri7.jpg b/backend/app/uploads/profiles/astri7.jpg new file mode 100644 index 0000000..1dad29c Binary files /dev/null and b/backend/app/uploads/profiles/astri7.jpg differ diff --git a/backend/app/uploads/profiles/astria.png b/backend/app/uploads/profiles/astria.png new file mode 100644 index 0000000..388cdbe Binary files /dev/null and b/backend/app/uploads/profiles/astria.png differ diff --git a/backend/app/uploads/profiles/astria2.jpg b/backend/app/uploads/profiles/astria2.jpg new file mode 100644 index 0000000..d49bc22 Binary files /dev/null and b/backend/app/uploads/profiles/astria2.jpg differ diff --git a/backend/app/uploads/profiles/astria3.jpg b/backend/app/uploads/profiles/astria3.jpg new file mode 100644 index 0000000..d49bc22 Binary files /dev/null and b/backend/app/uploads/profiles/astria3.jpg differ 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 9feeea6..cd06a78 100644 --- a/backend/logs/access.log +++ b/backend/logs/access.log @@ -1218,3 +1218,2608 @@ [2025-07-20 20:51:37.656] [undefined] GET(/:id/channel): failed due to invalid values with status 400 [2025-07-20 20:51:37.660] [undefined] GET(/:id/history): failed due to invalid values with status 400 [2025-07-20 20:51:37.662] [undefined] GET(/user/:id): failed due to invalid values with status 400 +[2025-07-21 08:25:33.854] [undefined] POST(/): try to register a user with username: sacha and email: test@test.test +[2025-07-21 08:25:33.934] [undefined] POST(/): successfully registered with status 200 +[2025-07-21 08:25:33.956] [undefined] POST(/login): try to login with username 'sacha' +[2025-07-21 08:25:34.017] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 08:25:43.729] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 08:25:43.731] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 08:25:43.733] [undefined] GET(/:id/history): failed to retrieve history of user 1 because it doesn't exist with status 404 +[2025-07-21 08:25:43.735] [undefined] GET(/:id/channel): failed to retrieve channel of user 1 because it doesn't exist with status 404 +[2025-07-21 08:25:43.748] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 08:27:05.391] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 08:27:05.396] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 08:27:05.400] [undefined] GET(/:id/channel): failed to retrieve channel of user 1 because it doesn't exist with status 404 +[2025-07-21 08:27:05.406] [undefined] GET(/:id/history): failed to retrieve history of user 1 because it doesn't exist with status 404 +[2025-07-21 08:27:05.424] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 13:26:38.560] [undefined] GET(/:id/channel): Invalid token with status 401 +[2025-07-21 13:26:38.574] [undefined] GET(/user/:id): Invalid token with status 401 +[2025-07-21 13:26:38.578] [undefined] GET(/:id/history): Invalid token with status 401 +[2025-07-21 13:26:47.958] [undefined] PUT(/:id): Invalid token with status 401 +[2025-07-21 13:27:15.056] [undefined] POST(/): try to register a user with username: astria and email: sachaguerin.sg@gmail.com +[2025-07-21 13:27:15.159] [undefined] POST(/): successfully registered with status 200 +[2025-07-21 13:27:15.182] [undefined] POST(/login): try to login with username 'astria' +[2025-07-21 13:27:15.275] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 13:27:21.989] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:27:21.997] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:27:22.001] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:27:22.004] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:27:22.023] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:31:48.331] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:31:48.335] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:31:48.347] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:31:48.351] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:31:48.367] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:43:14.509] [undefined] POST(/login): try to login with username 'astria' +[2025-07-21 13:43:14.642] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 13:44:06.419] [undefined] POST(/login): try to login with username 'astria' +[2025-07-21 13:44:06.535] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 13:46:40.594] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:46:40.596] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:46:40.603] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:46:40.607] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:46:40.628] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:49:14.141] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:49:14.147] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:49:14.158] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:49:14.164] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:49:14.176] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:49:27.835] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-21 13:53:11.927] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:53:11.928] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:53:11.934] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:53:11.939] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:53:11.961] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:53:26.486] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-21 13:55:33.519] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:55:33.528] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:55:33.532] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:55:33.542] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:55:33.562] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:55:44.670] [undefined] PUT(/:id): try to update user 2 +[2025-07-21 13:55:44.684] [undefined] PUT(/:id): successfully updated user 2 with status 200 +[2025-07-21 13:55:48.794] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:55:48.797] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:55:48.799] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:55:48.803] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:55:48.822] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:56:33.755] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:56:33.763] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:56:33.771] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:56:33.782] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:56:33.804] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 13:56:43.181] [undefined] POST(/login): try to login with username 'astria' +[2025-07-21 13:56:43.306] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 13:56:56.291] [undefined] GET(/:id/channel): try to retrieve channel of user 2 +[2025-07-21 13:56:56.313] [undefined] GET(/:id/channel): failed to retrieve channel of user 2 because it doesn't exist with status 404 +[2025-07-21 13:56:56.344] [undefined] GET(/:id/history): try to retrieve history of user 2 +[2025-07-21 13:56:56.354] [undefined] GET(/:id/history): failed to retrieve history of user 2 because it doesn't exist with status 404 +[2025-07-21 13:56:56.363] [undefined] GET(/user/:id): Playlists retrieved for user with id 2 with status 200 +[2025-07-21 15:07:33.098] [undefined] POST(/): try to register a user with username: astria2 and email: kjhkjhdf@sdfsdf.fr +[2025-07-21 15:07:33.203] [undefined] POST(/): successfully registered with status 200 +[2025-07-21 15:07:33.257] [undefined] POST(/login): try to login with username 'astria2' +[2025-07-21 15:07:33.337] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 15:07:39.330] [undefined] GET(/:id/history): try to retrieve history of user 3 +[2025-07-21 15:07:39.333] [undefined] GET(/:id/channel): try to retrieve channel of user 3 +[2025-07-21 15:07:39.336] [undefined] GET(/:id/channel): failed to retrieve channel of user 3 because it doesn't exist with status 404 +[2025-07-21 15:07:39.343] [undefined] GET(/:id/history): failed to retrieve history of user 3 because it doesn't exist with status 404 +[2025-07-21 15:07:39.361] [undefined] GET(/user/:id): Playlists retrieved for user with id 3 with status 200 +[2025-07-21 15:07:44.508] [undefined] PUT(/:id): try to update user 3 +[2025-07-21 15:07:44.521] [undefined] PUT(/:id): successfully updated user 3 with status 200 +[2025-07-21 15:12:03.740] [undefined] POST(/): try to register a user with username: astria3 and email: jndsjdsjdsjlk@qsd.fr +[2025-07-21 15:12:03.837] [undefined] POST(/): successfully registered with status 200 +[2025-07-21 15:12:03.892] [undefined] POST(/login): try to login with username 'astria3' +[2025-07-21 15:12:03.972] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 15:12:16.800] [undefined] GET(/:id/channel): try to retrieve channel of user 4 +[2025-07-21 15:12:16.805] [undefined] GET(/:id/history): try to retrieve history of user 4 +[2025-07-21 15:12:16.812] [undefined] GET(/:id/channel): failed to retrieve channel of user 4 because it doesn't exist with status 404 +[2025-07-21 15:12:16.823] [undefined] GET(/:id/history): failed to retrieve history of user 4 because it doesn't exist with status 404 +[2025-07-21 15:12:16.838] [undefined] GET(/user/:id): Playlists retrieved for user with id 4 with status 200 +[2025-07-21 15:12:22.148] [undefined] PUT(/:id): try to update user 4 +[2025-07-21 15:12:22.154] [undefined] PUT(/:id): failed to update profile picture with status 500 +[2025-07-21 15:12:22.156] [undefined] PUT(/:id): successfully updated user 4 with status 200 +[2025-07-21 15:12:26.728] [undefined] GET(/:id/channel): try to retrieve channel of user 4 +[2025-07-21 15:12:26.730] [undefined] GET(/:id/history): try to retrieve history of user 4 +[2025-07-21 15:12:26.732] [undefined] GET(/:id/channel): failed to retrieve channel of user 4 because it doesn't exist with status 404 +[2025-07-21 15:12:26.740] [undefined] GET(/user/:id): Playlists retrieved for user with id 4 with status 200 +[2025-07-21 15:12:26.751] [undefined] GET(/:id/history): failed to retrieve history of user 4 because it doesn't exist with status 404 +[2025-07-21 15:12:30.959] [undefined] PUT(/:id): try to update user 4 +[2025-07-21 15:12:30.969] [undefined] PUT(/:id): failed to update profile picture with status 500 +[2025-07-21 15:12:30.980] [undefined] PUT(/:id): successfully updated user 4 with status 200 +[2025-07-21 15:12:34.141] [undefined] GET(/:id/channel): try to retrieve channel of user 4 +[2025-07-21 15:12:34.144] [undefined] GET(/:id/channel): failed to retrieve channel of user 4 because it doesn't exist with status 404 +[2025-07-21 15:12:34.171] [undefined] GET(/:id/history): try to retrieve history of user 4 +[2025-07-21 15:12:34.177] [undefined] GET(/user/:id): Playlists retrieved for user with id 4 with status 200 +[2025-07-21 15:12:34.188] [undefined] GET(/:id/history): failed to retrieve history of user 4 because it doesn't exist with status 404 +[2025-07-21 15:13:02.119] [undefined] PUT(/:id): try to update user 4 +[2025-07-21 15:13:02.121] [undefined] PUT(/:id): failed to update profile picture with status 500 +[2025-07-21 15:13:02.131] [undefined] PUT(/:id): successfully updated user 4 with status 200 +[2025-07-21 15:13:19.979] [undefined] GET(/:id/channel): try to retrieve channel of user 4 +[2025-07-21 15:13:19.981] [undefined] GET(/:id/history): try to retrieve history of user 4 +[2025-07-21 15:13:19.988] [undefined] GET(/:id/channel): failed to retrieve channel of user 4 because it doesn't exist with status 404 +[2025-07-21 15:13:20.013] [undefined] GET(/user/:id): Playlists retrieved for user with id 4 with status 200 +[2025-07-21 15:13:20.020] [undefined] GET(/:id/history): failed to retrieve history of user 4 because it doesn't exist with status 404 +[2025-07-21 15:13:23.974] [undefined] PUT(/:id): try to update user 4 +[2025-07-21 15:13:23.988] [undefined] PUT(/:id): failed to update profile picture with status 500 +[2025-07-21 15:13:24.017] [undefined] PUT(/:id): successfully updated user 4 with status 200 +[2025-07-21 15:14:38.178] [undefined] PUT(/:id): try to update user 4 +[2025-07-21 15:14:38.185] [undefined] PUT(/:id): successfully updated user 4 with status 200 +[2025-07-21 15:14:41.114] [undefined] GET(/:id/history): try to retrieve history of user 4 +[2025-07-21 15:14:41.121] [undefined] GET(/:id/channel): try to retrieve channel of user 4 +[2025-07-21 15:14:41.122] [undefined] GET(/:id/history): failed to retrieve history of user 4 because it doesn't exist with status 404 +[2025-07-21 15:14:41.125] [undefined] GET(/:id/channel): failed to retrieve channel of user 4 because it doesn't exist with status 404 +[2025-07-21 15:14:41.136] [undefined] GET(/user/:id): Playlists retrieved for user with id 4 with status 200 +[2025-07-21 15:17:30.716] [undefined] POST(/): try to register a user with username: astri5 and email: sachaguerin@gmail.com +[2025-07-21 15:17:30.803] [undefined] POST(/): successfully registered with status 200 +[2025-07-21 15:17:30.844] [undefined] POST(/login): try to login with username 'astri5' +[2025-07-21 15:17:30.911] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 15:17:37.485] [undefined] GET(/:id/channel): try to retrieve channel of user 5 +[2025-07-21 15:17:37.487] [undefined] GET(/:id/channel): failed to retrieve channel of user 5 because it doesn't exist with status 404 +[2025-07-21 15:17:37.489] [undefined] GET(/:id/history): try to retrieve history of user 5 +[2025-07-21 15:17:37.492] [undefined] GET(/:id/history): failed to retrieve history of user 5 because it doesn't exist with status 404 +[2025-07-21 15:17:37.511] [undefined] GET(/user/:id): Playlists retrieved for user with id 5 with status 200 +[2025-07-21 15:17:46.134] [undefined] PUT(/:id): try to update user 5 +[2025-07-21 15:17:46.139] [undefined] PUT(/:id): failed to update profile picture with status 500 +[2025-07-21 15:19:54.389] [undefined] GET(/:id/channel): try to retrieve channel of user 5 +[2025-07-21 15:19:54.392] [undefined] GET(/:id/history): try to retrieve history of user 5 +[2025-07-21 15:19:54.402] [undefined] GET(/:id/channel): failed to retrieve channel of user 5 because it doesn't exist with status 404 +[2025-07-21 15:19:54.411] [undefined] GET(/:id/history): failed to retrieve history of user 5 because it doesn't exist with status 404 +[2025-07-21 15:19:54.429] [undefined] GET(/user/:id): Playlists retrieved for user with id 5 with status 200 +[2025-07-21 15:20:01.308] [undefined] PUT(/:id): try to update user 5 +[2025-07-21 15:20:01.316] [undefined] PUT(/:id): successfully updated user 5 with status 200 +[2025-07-21 15:22:58.198] [undefined] GET(/:id/channel): try to retrieve channel of user 5 +[2025-07-21 15:22:58.245] [undefined] GET(/:id/channel): failed to retrieve channel of user 5 because it doesn't exist with status 404 +[2025-07-21 15:22:58.258] [undefined] GET(/:id/history): try to retrieve history of user 5 +[2025-07-21 15:22:58.296] [undefined] GET(/:id/history): failed to retrieve history of user 5 because it doesn't exist with status 404 +[2025-07-21 15:22:58.336] [undefined] GET(/user/:id): Playlists retrieved for user with id 5 with status 200 +[2025-07-21 15:23:13.591] [undefined] GET(/:id/history): try to retrieve history of user 5 +[2025-07-21 15:23:13.596] [undefined] GET(/:id/channel): try to retrieve channel of user 5 +[2025-07-21 15:23:13.602] [undefined] GET(/:id/history): failed to retrieve history of user 5 because it doesn't exist with status 404 +[2025-07-21 15:23:13.611] [undefined] GET(/:id/channel): failed to retrieve channel of user 5 because it doesn't exist with status 404 +[2025-07-21 15:23:13.636] [undefined] GET(/user/:id): Playlists retrieved for user with id 5 with status 200 +[2025-07-21 15:23:16.400] [undefined] GET(/:id/channel): try to retrieve channel of user 5 +[2025-07-21 15:23:16.405] [undefined] GET(/:id/history): try to retrieve history of user 5 +[2025-07-21 15:23:16.409] [undefined] GET(/:id/channel): failed to retrieve channel of user 5 because it doesn't exist with status 404 +[2025-07-21 15:23:16.413] [undefined] GET(/:id/history): failed to retrieve history of user 5 because it doesn't exist with status 404 +[2025-07-21 15:23:16.442] [undefined] GET(/user/:id): Playlists retrieved for user with id 5 with status 200 +[2025-07-21 15:23:38.610] [undefined] POST(/): try to register a user with username: astri7 and email: erjfhiurfhiu@sdf.sdf +[2025-07-21 15:23:38.701] [undefined] POST(/): successfully registered with status 200 +[2025-07-21 15:23:38.734] [undefined] POST(/login): try to login with username 'astri7' +[2025-07-21 15:23:38.800] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 15:23:44.502] [undefined] GET(/:id/history): try to retrieve history of user 6 +[2025-07-21 15:23:44.507] [undefined] GET(/:id/history): failed to retrieve history of user 6 because it doesn't exist with status 404 +[2025-07-21 15:23:44.518] [undefined] GET(/:id/channel): try to retrieve channel of user 6 +[2025-07-21 15:23:44.527] [undefined] GET(/:id/channel): failed to retrieve channel of user 6 because it doesn't exist with status 404 +[2025-07-21 15:23:44.537] [undefined] GET(/user/:id): Playlists retrieved for user with id 6 with status 200 +[2025-07-21 15:23:49.626] [undefined] PUT(/:id): try to update user 6 +[2025-07-21 15:23:49.633] [undefined] PUT(/:id): failed to update profile picture with status 500 +[2025-07-21 18:55:14.850] [undefined] POST(/login): try to login with username 'astria' +[2025-07-21 18:55:14.865] [undefined] POST(/login): failed to login with status 401 +[2025-07-21 18:55:26.093] [undefined] POST(/login): try to login with username 'sacha' +[2025-07-21 18:55:26.145] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 18:56:09.969] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 18:56:09.970] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 18:56:09.971] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 18:56:09.973] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 18:56:09.983] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 18:56:30.328] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 18:56:30.331] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 18:56:30.332] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 18:56:30.335] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 18:56:30.340] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 18:56:37.069] [undefined] POST(/login): try to login with username 'sacha' +[2025-07-21 18:56:37.118] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 18:56:51.114] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 18:56:51.115] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 18:56:51.116] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 18:56:51.118] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 18:56:51.126] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 18:57:46.290] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 18:57:46.293] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 18:57:46.295] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 18:57:46.299] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 18:57:46.303] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 18:57:52.156] [undefined] PUT(/:id): try to update user 1 +[2025-07-21 18:57:52.158] [undefined] PUT(/:id): successfully updated user 1 with status 200 +[2025-07-21 18:58:05.603] [undefined] GET(/:id/channel): failed due to invalid values with status 400 +[2025-07-21 18:58:05.608] [undefined] GET(/:id/history): failed due to invalid values with status 400 +[2025-07-21 18:58:05.610] [undefined] GET(/user/:id): failed due to invalid values with status 400 +[2025-07-21 18:58:52.332] [undefined] GET(/:id/channel): failed due to invalid values with status 400 +[2025-07-21 18:58:52.339] [undefined] GET(/:id/history): failed due to invalid values with status 400 +[2025-07-21 18:58:52.341] [undefined] GET(/user/:id): failed due to invalid values with status 400 +[2025-07-21 18:58:57.222] [undefined] GET(/:id/channel): failed due to invalid values with status 400 +[2025-07-21 18:58:57.225] [undefined] GET(/:id/history): failed due to invalid values with status 400 +[2025-07-21 18:58:57.228] [undefined] GET(/user/:id): failed due to invalid values with status 400 +[2025-07-21 19:00:00.868] [undefined] GET(/:id/channel): failed due to invalid values with status 400 +[2025-07-21 19:00:00.875] [undefined] GET(/:id/history): failed due to invalid values with status 400 +[2025-07-21 19:00:00.878] [undefined] GET(/user/:id): failed due to invalid values with status 400 +[2025-07-21 19:00:07.728] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-21 19:00:22.072] [undefined] POST(/login): try to login with username 'astria' +[2025-07-21 19:00:22.123] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 19:00:31.149] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:00:31.150] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:00:31.151] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:00:31.154] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:00:31.161] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:00:37.082] [undefined] PUT(/:id): try to update user 1 +[2025-07-21 19:00:37.085] [undefined] PUT(/:id): successfully updated user 1 with status 200 +[2025-07-21 19:00:41.130] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:00:41.131] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:00:41.132] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:00:41.134] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:00:41.142] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:01:27.664] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:01:27.665] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:01:27.672] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:01:27.674] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:01:27.682] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:03:09.269] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:03:09.269] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:03:09.271] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:03:09.274] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:03:09.282] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:03:11.312] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:03:11.314] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:03:11.316] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:03:11.318] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:03:11.323] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:19:15.258] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:19:15.261] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:19:15.263] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:19:15.268] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:19:15.272] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:19:19.428] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:19:19.429] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:19:19.431] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:19:19.434] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:19:19.440] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:19:24.221] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:19:24.223] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:19:24.225] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:19:24.228] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:19:24.234] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:20:39.780] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:20:39.781] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:20:39.785] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:20:39.786] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:20:39.800] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:25:44.379] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:25:44.380] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:25:44.381] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:25:44.382] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:25:44.389] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:31:53.819] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 19:31:53.825] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 19:32:30.436] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 19:32:30.444] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 19:59:26.602] [undefined] GET(/:id): try to get video 1 +[2025-07-21 19:59:26.612] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-21 19:59:26.623] [undefined] GET(/:id/similar): try to get similar videos for video 1 +[2025-07-21 19:59:26.634] [undefined] GET(/:id/similar): No tags found for video 1 with status 404 +[2025-07-21 19:59:26.647] [undefined] GET(/:id/views): try to add views for video 1 +[2025-07-21 19:59:26.655] [undefined] GET(/:id/views): successfully added views for video 1 with status 200 +[2025-07-21 19:59:41.085] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 19:59:41.086] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 19:59:41.087] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 19:59:41.090] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 19:59:41.098] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 19:59:51.789] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 19:59:51.795] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:14:14.201] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:14:14.206] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:14:18.696] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:14:18.702] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:15:10.246] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:15:10.252] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:15:43.827] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:15:43.833] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:18:01.362] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:18:01.368] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:18:03.002] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:18:03.010] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:18:03.626] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:18:03.633] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:18:04.284] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:18:04.290] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:18:12.698] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:18:12.704] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:19:31.307] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:19:31.313] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:20:04.286] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:20:04.293] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:21:09.351] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:21:09.357] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:21:58.235] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:21:58.243] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:22:29.658] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:22:29.665] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:22:35.734] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:22:35.740] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:23:03.808] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:23:03.815] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:23:55.396] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:23:55.402] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:24:23.905] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:24:23.911] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:24:46.937] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:24:46.943] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:25:45.198] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:25:45.206] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:27:28.321] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:27:28.327] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:27:41.458] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:27:41.464] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:28:10.249] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:28:10.255] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:29:14.356] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:29:14.364] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:29:21.986] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:29:21.993] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:29:27.635] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:29:27.641] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:29:28.745] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:29:28.752] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:30:05.524] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:30:05.530] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:30:17.367] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:30:17.373] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:30:28.264] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:30:28.270] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:30:48.458] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 20:30:48.459] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 20:30:48.460] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 20:30:48.462] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 20:30:48.468] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 20:30:51.208] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:30:51.214] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:31:03.767] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:31:03.775] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:32:20.977] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:32:20.984] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:32:35.582] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:32:35.588] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:32:47.976] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:32:47.982] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:32:55.140] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:32:55.146] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:33:16.205] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:33:16.211] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:33:30.951] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:33:30.957] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:33:42.394] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:34:09.793] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:34:09.800] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:37:17.708] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:37:17.714] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:37:29.461] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:37:29.467] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:37:35.661] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:37:35.667] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:37:44.011] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:37:44.018] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:37:52.702] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:37:52.709] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:46:17.200] [undefined] GET(/:id): try to get video 1 +[2025-07-21 20:46:17.208] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-21 20:46:17.218] [undefined] GET(/:id/similar): try to get similar videos for video 1 +[2025-07-21 20:46:17.229] [undefined] GET(/:id/similar): No tags found for video 1 with status 404 +[2025-07-21 20:46:17.241] [undefined] GET(/:id/views): try to add views for video 1 +[2025-07-21 20:46:17.249] [undefined] GET(/:id/views): successfully added views for video 1 with status 200 +[2025-07-21 20:46:18.397] [undefined] POST(/:id/subscribe): try to toggle subscription for channel with id 1 +[2025-07-21 20:46:18.410] [undefined] POST(/:id/subscribe): Successfully subscribed to channel with status 200 +[2025-07-21 20:47:07.908] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 20:47:07.910] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 20:47:07.911] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 20:47:07.913] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 20:47:07.921] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 20:47:08.769] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:47:08.776] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:52:55.243] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:52:55.252] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:52:55.255] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:53:31.341] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:53:31.349] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:53:31.352] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:53:31.359] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:53:54.157] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:53:54.166] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:53:54.167] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:53:54.176] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:54:27.105] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:54:27.115] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:54:27.117] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:54:27.124] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:55:10.279] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:55:10.287] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:55:10.288] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:55:10.294] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:55:18.042] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:55:18.050] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:55:18.051] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:55:18.058] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:55:56.629] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:55:56.638] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:55:56.639] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:55:56.646] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:56:14.738] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:56:14.747] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:56:14.749] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:56:14.756] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:56:24.537] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:56:24.546] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:56:24.547] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:56:24.553] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:56:47.291] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:56:47.300] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:56:47.301] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:56:47.308] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:57:00.345] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:57:00.353] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:57:00.355] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:57:00.362] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:57:10.945] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:57:10.954] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:57:10.955] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:57:10.962] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:58:04.767] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:58:04.775] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:58:04.776] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:58:04.783] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:58:10.452] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:58:10.461] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:58:10.463] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:58:10.471] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 20:58:21.280] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 20:58:21.290] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 20:58:21.291] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 20:58:21.297] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:01:19.881] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:01:19.891] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:01:19.893] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:01:19.902] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:02:30.037] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:02:30.048] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:02:30.050] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:02:30.059] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:04:09.412] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:04:09.420] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:04:09.422] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:04:09.429] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:04:22.514] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:04:22.523] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:04:22.524] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:04:22.530] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:04:45.081] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:04:45.089] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:04:45.090] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:04:45.100] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:05:18.620] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:05:18.627] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:05:18.629] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:05:18.638] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:09:03.213] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:09:03.222] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:09:03.224] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:09:03.230] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:09:12.057] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:09:12.066] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:09:12.070] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:09:12.076] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:09:15.276] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:09:15.285] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:09:15.287] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:09:15.293] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:09:38.508] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:09:38.515] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:09:38.518] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:09:38.524] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:10:05.727] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:10:05.736] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:10:05.737] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:10:05.742] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:10:11.175] [undefined] GET(/:id): try to get video 1 +[2025-07-21 21:10:11.183] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-21 21:10:11.193] [undefined] GET(/:id/similar): try to get similar videos for video 1 +[2025-07-21 21:10:11.204] [undefined] GET(/:id/similar): No tags found for video 1 with status 404 +[2025-07-21 21:10:11.217] [undefined] GET(/:id/views): try to add views for video 1 +[2025-07-21 21:10:11.224] [undefined] GET(/:id/views): successfully added views for video 1 with status 200 +[2025-07-21 21:10:19.413] [undefined] POST(/): try to post comment +[2025-07-21 21:10:19.420] [undefined] POST(/): successfully post comment with status 200 +[2025-07-21 21:10:21.844] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 21:10:21.845] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 21:10:21.848] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 21:10:21.850] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 21:10:21.858] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 21:10:23.870] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:10:23.878] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:10:23.881] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:10:23.886] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:11:01.966] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 21:11:01.968] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 21:11:01.975] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 21:11:01.978] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 21:11:01.986] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 21:11:06.061] [undefined] PUT(/:id): try to update user 1 +[2025-07-21 21:11:06.070] [undefined] PUT(/:id): successfully updated user 1 with status 200 +[2025-07-21 21:11:42.403] [undefined] POST(/login): try to login with username 'astria' +[2025-07-21 21:11:42.454] [undefined] POST(/login): Successfully logged in with status 200 +[2025-07-21 21:11:48.848] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 21:11:48.850] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 21:11:48.851] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 21:11:48.854] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 21:11:48.863] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 21:11:50.371] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:11:50.380] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:11:50.381] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:11:50.388] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:12:18.324] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:12:18.333] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:12:18.334] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:12:18.341] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:12:44.758] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:12:44.766] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:12:44.768] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:12:44.775] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:12:58.746] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:12:58.754] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:12:58.757] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:12:58.761] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:13:06.729] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:13:06.737] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:13:06.739] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:13:06.746] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:13:18.575] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:13:18.584] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:13:18.587] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:13:18.594] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:13:24.618] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:13:24.627] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:13:24.628] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:13:24.636] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:14:03.638] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:14:03.646] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:14:03.647] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:14:03.656] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:14:29.560] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:14:29.568] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:14:29.570] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:14:29.577] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:15:16.154] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:15:16.164] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:15:16.168] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:15:16.175] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:15:23.551] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:15:23.561] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:15:23.562] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:15:23.571] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:16:20.926] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:16:20.934] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:16:20.936] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:16:20.942] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:17:22.302] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:17:22.310] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:17:22.311] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:17:22.318] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:17:31.534] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:17:31.543] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:17:31.545] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:17:31.551] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:17:43.018] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:17:43.026] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:17:43.028] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:17:43.035] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:17:54.055] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:17:54.063] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:17:54.065] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:17:54.072] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:18:00.691] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:18:00.701] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:18:00.705] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:18:00.711] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:18:10.209] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:18:10.218] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:18:10.221] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:18:10.228] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:20:55.081] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:20:55.091] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:20:55.092] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:20:55.101] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:21:11.321] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:21:11.330] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:21:11.332] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:21:11.338] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:21:13.706] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:21:13.714] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:21:13.716] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:21:13.722] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:21:14.695] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:21:14.704] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:21:14.705] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:21:14.713] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:21:23.256] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:21:23.264] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:21:23.267] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:21:23.273] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:21:36.663] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:21:36.674] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:21:36.677] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:21:36.686] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:23:18.012] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:23:18.020] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:23:18.023] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:23:18.029] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:23:39.046] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:23:39.055] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:23:39.056] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:23:39.063] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 21:24:01.549] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 21:24:01.557] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 21:24:01.559] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 21:24:01.566] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:09:05.554] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:09:05.562] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:09:05.568] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:09:05.574] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:09:22.406] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:09:22.416] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:09:22.417] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:09:22.425] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:09:26.086] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-21 22:09:34.169] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-21 22:09:39.872] [undefined] PUT(/:id): failed due to invalid values with status 400 +[2025-07-21 22:10:27.086] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:27.095] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:10:27.096] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:27.104] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:10:32.179] [undefined] PUT(/:id): try to update channel with id 1 +[2025-07-21 22:10:32.181] [undefined] PUT(/:id): Successfully updated channel with status 200 +[2025-07-21 22:10:32.192] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:32.199] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:33.864] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:33.873] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:10:33.875] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:33.882] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:10:34.455] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:34.464] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:10:34.466] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:34.472] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:10:34.943] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:34.951] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:10:34.954] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:34.960] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:10:41.192] [undefined] PUT(/:id): try to update channel with id 1 +[2025-07-21 22:10:41.201] [undefined] PUT(/:id): Successfully updated channel with status 200 +[2025-07-21 22:10:41.210] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:41.217] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:42.177] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:42.186] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:10:42.187] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:42.195] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:10:45.345] [undefined] GET(/:id): try to get video 1 +[2025-07-21 22:10:45.354] [undefined] GET(/:id): successfully get video 1 with status 200 +[2025-07-21 22:10:45.363] [undefined] GET(/:id/similar): try to get similar videos for video 1 +[2025-07-21 22:10:45.372] [undefined] GET(/:id/similar): No tags found for video 1 with status 404 +[2025-07-21 22:10:45.387] [undefined] GET(/:id/views): try to add views for video 1 +[2025-07-21 22:10:45.394] [undefined] GET(/:id/views): successfully added views for video 1 with status 200 +[2025-07-21 22:10:50.080] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-21 22:10:50.081] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-21 22:10:50.082] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-21 22:10:50.085] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-21 22:10:50.090] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-21 22:10:53.388] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:10:53.396] [undefined] GET(/:id/stats): try to get stats +[2025-07-21 22:10:53.399] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:10:53.404] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-21 22:11:01.752] [undefined] PUT(/:id): try to update channel with id 1 +[2025-07-21 22:11:01.776] [undefined] PUT(/:id): Successfully updated channel with status 200 +[2025-07-21 22:11:01.787] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-21 22:11:01.794] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-21 22:11:05.090] [undefined] GET(/:id): try to get channel with id 1 +[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 +[2025-07-25 19:54:37.439] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-25 19:54:37.449] [undefined] GET(/:id/stats): try to get stats +[2025-07-25 19:54:37.452] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-25 19:54:37.458] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-26 08:12:37.895] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:12:37.896] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-26 08:12:37.898] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:12:37.901] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-26 08:12:37.908] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-26 08:12:38.691] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-26 08:12:38.701] [undefined] GET(/:id/stats): try to get stats +[2025-07-26 08:12:38.702] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-26 08:12:38.711] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-26 08:45:16.047] [undefined] POST(/): failed due to invalid values with status 400 +[2025-07-26 08:48:28.235] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:48:28.237] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:48:31.269] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:48:31.272] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:49:37.594] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:49:37.596] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:49:56.943] [undefined] POST(/): failed due to invalid values with status 400 +[2025-07-26 08:50:18.564] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:50:18.567] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:50:32.509] [undefined] POST(/): failed due to invalid values with status 400 +[2025-07-26 08:53:06.249] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:53:06.251] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:53:22.601] [undefined] POST(/): failed due to invalid values with status 400 +[2025-07-26 08:55:33.886] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:55:33.888] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:55:42.316] [undefined] POST(/): try to upload video with status undefined +[2025-07-26 08:55:42.320] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-26 08:55:52.499] [undefined] GET(/:id): try to get video 4 +[2025-07-26 08:55:52.508] [undefined] GET(/:id): successfully get video 4 with status 200 +[2025-07-26 08:55:52.520] [undefined] GET(/:id/similar): try to get similar videos for video 4 +[2025-07-26 08:55:52.527] [undefined] GET(/:id/similar): No tags found for video 4 with status 404 +[2025-07-26 08:55:52.562] [undefined] GET(/:id/views): try to add views for video 4 +[2025-07-26 08:55:52.576] [undefined] GET(/:id/views): successfully added views for video 4 with status 200 +[2025-07-26 08:56:02.055] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:56:02.057] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:56:02.060] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-26 08:56:02.063] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-26 08:56:02.069] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-26 08:56:02.787] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-26 08:56:02.796] [undefined] GET(/:id/stats): try to get stats +[2025-07-26 08:56:02.799] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-26 08:56:02.805] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-26 08:56:03.535] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:56:03.537] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:57:44.716] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:57:44.719] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:57:54.363] [undefined] POST(/): try to upload video with status undefined +[2025-07-26 08:57:54.366] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-26 08:58:08.735] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 08:58:08.739] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 08:58:18.190] [undefined] POST(/): try to upload video with status undefined +[2025-07-26 08:58:18.194] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-26 09:00:32.892] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 09:00:32.894] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 09:00:45.499] [undefined] POST(/): try to upload video with status undefined +[2025-07-26 09:00:45.503] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-26 09:00:45.551] [undefined] POST(/thumbnail): failed due to invalid values with status 400 +[2025-07-26 09:01:41.512] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 09:01:41.514] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 09:01:56.701] [undefined] POST(/): try to upload video with status undefined +[2025-07-26 09:01:56.704] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-26 09:01:56.793] [undefined] POST(/thumbnail): try to add thumbnail to video 8 +[2025-07-26 09:01:56.798] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-26 09:02:29.458] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 09:02:29.460] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 09:02:45.369] [undefined] POST(/): try to upload video with status undefined +[2025-07-26 09:02:45.372] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-26 09:02:45.443] [undefined] POST(/thumbnail): try to add thumbnail to video 9 +[2025-07-26 09:02:45.446] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-26 09:03:38.478] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 09:03:38.479] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 09:03:54.208] [undefined] POST(/): failed due to invalid values with status 400 +[2025-07-26 09:04:01.982] [undefined] POST(/): try to upload video with status undefined +[2025-07-26 09:04:01.985] [undefined] POST(/): successfully uploaded video with status 200 +[2025-07-26 09:04:02.052] [undefined] POST(/thumbnail): try to add thumbnail to video 10 +[2025-07-26 09:04:02.055] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-26 09:04:02.074] [undefined] PUT(/:id/tags): try to add tags to video 10 +[2025-07-26 09:04:02.084] [undefined] PUT(/:id/tags): successfully added tags to video 10 with status 200 +[2025-07-26 09:04:08.248] [undefined] GET(/:id): try to get video 10 +[2025-07-26 09:04:08.257] [undefined] GET(/:id): successfully get video 10 with status 200 +[2025-07-26 09:04:08.270] [undefined] GET(/:id/similar): try to get similar videos for video 10 +[2025-07-26 09:04:08.279] [undefined] GET(/:id/similar): successfully get similar videos for video 10 with status 200 +[2025-07-26 09:04:08.339] [undefined] GET(/:id/views): try to add views for video 10 +[2025-07-26 09:04:08.347] [undefined] GET(/:id/views): successfully added views for video 10 with status 200 +[2025-07-26 09:04:12.622] [undefined] GET(/:id): try to get video 10 +[2025-07-26 09:04:12.632] [undefined] GET(/:id): successfully get video 10 with status 200 +[2025-07-26 09:04:12.648] [undefined] GET(/:id/similar): try to get similar videos for video 10 +[2025-07-26 09:04:12.657] [undefined] GET(/:id/similar): successfully get similar videos for video 10 with status 200 +[2025-07-26 09:04:12.701] [undefined] GET(/:id/views): try to add views for video 10 +[2025-07-26 09:04:12.709] [undefined] GET(/:id/views): successfully added views for video 10 with status 200 +[2025-07-26 09:04:23.159] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 09:04:23.161] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-26 09:04:23.163] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 09:04:23.166] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-26 09:04:23.172] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-26 09:04:25.131] [undefined] GET(/:id/channel): try to retrieve channel of user 1 +[2025-07-26 09:04:25.133] [undefined] GET(/:id/history): try to retrieve history of user 1 +[2025-07-26 09:04:25.134] [undefined] GET(/:id/channel): successfully retrieved channel of user 1 with status 200 +[2025-07-26 09:04:25.137] [undefined] GET(/:id/history): successfully retrieved history of user 1 with status 200 +[2025-07-26 09:04:25.144] [undefined] GET(/user/:id): Playlists retrieved for user with id 1 with status 200 +[2025-07-26 09:04:26.249] [undefined] GET(/:id): try to get channel with id 1 +[2025-07-26 09:04:26.258] [undefined] GET(/:id/stats): try to get stats +[2025-07-26 09:04:26.260] [undefined] GET(/:id): Successfully get channel with id 1 with status 200 +[2025-07-26 09:04:26.268] [undefined] GET(/:id/stats): Successfully get stats with status 200 +[2025-07-26 09:04:34.109] [undefined] GET(/:id): try to get video 4 +[2025-07-26 09:04:34.112] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-26 09:04:34.122] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-26 09:04:34.126] [undefined] GET(/:id): successfully get video 4 with status 200 +[2025-07-26 09:04:41.682] [undefined] GET(/:id): try to get video 4 +[2025-07-26 09:04:41.684] [undefined] GET(/:id/likes/day): try to get likes per day +[2025-07-26 09:04:41.705] [undefined] GET(/:id/likes/day): successfully retrieved likes per day with status 200 +[2025-07-26 09:04:41.709] [undefined] GET(/:id): successfully get video 4 with status 200 +[2025-07-26 09:04:51.790] [undefined] POST(/thumbnail): try to add thumbnail to video 4 +[2025-07-26 09:04:51.795] [undefined] POST(/thumbnail): successfully uploaded thumbnail with status 200 +[2025-07-26 09:05:01.430] [undefined] PUT(/:id/tags): try to add tags to video 4 +[2025-07-26 09:05:01.440] [undefined] PUT(/:id/tags): successfully added tags to video 4 with status 200 +[2025-07-26 09:05:09.306] [undefined] GET(/:id): try to get video 8 +[2025-07-26 09:05:09.314] [undefined] GET(/:id): successfully get video 8 with status 200 +[2025-07-26 09:05:09.339] [undefined] GET(/:id/similar): try to get similar videos for video 8 +[2025-07-26 09:05:09.348] [undefined] GET(/:id/similar): No tags found for video 8 with status 404 +[2025-07-26 09:05:09.363] [undefined] GET(/:id/views): try to add views for video 8 +[2025-07-26 09:05:09.374] [undefined] GET(/:id/views): successfully added views for video 8 with status 200 +[2025-07-26 09:05:11.418] [undefined] GET(/:id): try to get video 8 +[2025-07-26 09:05:11.428] [undefined] GET(/:id): successfully get video 8 with status 200 +[2025-07-26 09:05:11.439] [undefined] GET(/:id/similar): try to get similar videos for video 8 +[2025-07-26 09:05:11.448] [undefined] GET(/:id/similar): No tags found for video 8 with status 404 +[2025-07-26 09:05:11.474] [undefined] GET(/:id/views): try to add views for video 8 +[2025-07-26 09:05:11.481] [undefined] GET(/:id/views): successfully added views for video 8 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/docker-compose.yaml b/docker-compose.yaml index f2c6e24..9efeef2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -4,14 +4,13 @@ services: build: context: ./backend dockerfile: Dockerfile - network: host container_name: resit_backend ports: - "8000:8000" environment: DB_USER: ${POSTGRES_USER} DB_NAME: ${POSTGRES_DB} - DB_HOST: ${POSTGRES_HOST} + DB_HOST: db DB_PASSWORD: ${POSTGRES_PASSWORD} JWT_SECRET: ${JWT_SECRET} LOG_FILE: ${LOG_FILE} @@ -35,12 +34,16 @@ services: frontend: image: nginx:latest - network_mode: host ports: - "80:80" + - "443:443" volumes: - ./frontend/dist:/usr/share/nginx/html - ./nginx/default.conf:/etc/nginx/conf.d/default.conf + - ./nginx/nginx-selfsigned.crt:/etc/nginx/ssl/nginx-selfsigned.crt + - ./nginx/nginx-selfsigned.key:/etc/nginx/ssl/nginx-selfsigned.key + depends_on: + - resit_backend volumes: db_data: 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}
-Vues: {video.views}
+Likes: {video.likes}
+Commentaires: {video.comments}
+{userChannel.channel.name}
Aucune chaîne associée à ce compte.
@@ -292,7 +297,7 @@ export default function Account() {+ {videoDescription || "Description de la vidéo"} +
+ +Vues totales
+{channelStats ? channelStats.views : "0"}
+Abonnés
+{channelStats ? channelStats.subscribers : "0"}
+Aucune vidéo trouvée pour cette chaîne.
+ )} + + + +{video ? video.views : 0} vues
+{video ? video.likes : 0} likes
+Aucun commentaire
+ )} + +Aucun tag
+ )} +