mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-11 03:24:16 +00:00
35 lines
903 B
JavaScript
35 lines
903 B
JavaScript
import { User, Playlist } from "@models"
|
|
import getTrackDataById from "../../TracksController/services/getTrackDataById"
|
|
|
|
export default async (payload) => {
|
|
const {
|
|
limit = 20,
|
|
skip = 0,
|
|
} = payload
|
|
|
|
let playlists = await Playlist.find()
|
|
.sort({ created_at: -1 })
|
|
.limit(limit)
|
|
.skip(skip)
|
|
|
|
playlists = await Promise.all(playlists.map(async (playlist) => {
|
|
// get user data
|
|
const user = await User.findById(playlist.user_id)
|
|
|
|
playlist.list = await Promise.all(playlist.list.map(async (track_id) => {
|
|
return await getTrackDataById(track_id)
|
|
})).catch((err) => {
|
|
return []
|
|
})
|
|
|
|
return {
|
|
...playlist.toObject(),
|
|
user: {
|
|
username: user.username,
|
|
avatar: user.avatar,
|
|
},
|
|
}
|
|
}))
|
|
|
|
return playlists
|
|
} |