mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-10 02:54:15 +00:00
implement options for playlist controller
This commit is contained in:
parent
c7a554e455
commit
a66e561a75
@ -34,7 +34,7 @@ export default class PlaylistsModel {
|
||||
return data
|
||||
}
|
||||
|
||||
static deletePlaylist = async (id) => {
|
||||
static deletePlaylist = async (id, options = {}) => {
|
||||
if (!id) {
|
||||
throw new Error("ID is required")
|
||||
}
|
||||
@ -43,6 +43,7 @@ export default class PlaylistsModel {
|
||||
instance: PlaylistsModel.api_instance,
|
||||
method: "DELETE",
|
||||
url: `/playlists/${id}`,
|
||||
params: options,
|
||||
})
|
||||
|
||||
return data
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Playlist } from "@models"
|
||||
import { Playlist, Track } from "@models"
|
||||
import { AuthorizationError, PermissionError, NotFoundError } from "@shared-classes/Errors"
|
||||
|
||||
export default async (req, res) => {
|
||||
@ -6,6 +6,8 @@ export default async (req, res) => {
|
||||
return new AuthorizationError(req, res)
|
||||
}
|
||||
|
||||
const removeWithTracks = req.query.remove_with_tracks === "true"
|
||||
|
||||
let playlist = await Playlist.findOne({
|
||||
_id: req.params.playlist_id,
|
||||
}).catch((err) => {
|
||||
@ -24,6 +26,12 @@ export default async (req, res) => {
|
||||
_id: req.params.playlist_id,
|
||||
})
|
||||
|
||||
if (removeWithTracks) {
|
||||
await Track.deleteMany({
|
||||
_id: playlist.tracks,
|
||||
})
|
||||
}
|
||||
|
||||
return res.json({
|
||||
success: true,
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user