diff --git a/packages/music_server/src/controllers/tracks/routes/get/liked.js b/packages/music_server/src/controllers/tracks/routes/get/liked.js index 3296dc34..c851d195 100644 --- a/packages/music_server/src/controllers/tracks/routes/get/liked.js +++ b/packages/music_server/src/controllers/tracks/routes/get/liked.js @@ -9,6 +9,7 @@ export default async (req, res) => { let likedIds = await TrackLike.find({ user_id: req.session.user_id, }) + .sort({ created_at: -1 }) likedIds = likedIds.map((item) => { return item.track_id @@ -30,5 +31,12 @@ export default async (req, res) => { return item }) + tracks.sort((a, b) => { + const indexA = likedIds.indexOf(a._id.toString()) + const indexB = likedIds.indexOf(b._id.toString()) + + return indexA - indexB + }) + return res.json(tracks) } \ No newline at end of file diff --git a/packages/music_server/src/controllers/tracks/routes/post/:track_id/toggle-like.js b/packages/music_server/src/controllers/tracks/routes/post/:track_id/toggle-like.js index 53c669d9..c369cc22 100644 --- a/packages/music_server/src/controllers/tracks/routes/post/:track_id/toggle-like.js +++ b/packages/music_server/src/controllers/tracks/routes/post/:track_id/toggle-like.js @@ -28,6 +28,7 @@ export default async (req, res) => { like = new TrackLike({ track_id: track_id, user_id: req.session.user_id, + created_at: new Date().getTime(), }) await like.save() diff --git a/shared/classes/DbModels/track_like/index.js b/shared/classes/DbModels/track_like/index.js index f9e91286..9f256563 100644 --- a/shared/classes/DbModels/track_like/index.js +++ b/shared/classes/DbModels/track_like/index.js @@ -9,6 +9,9 @@ export default { track_id: { type: String, required: true, + }, + created_at: { + type: Date, } } } \ No newline at end of file