Added saved library API
This commit is contained in:
1 parent
36d05ab04f
commit
0526e83a9b
7 files changed
+107
-11
No files matched your search
@@ -0,0 +1,26 @@
|
||||
import { getQuery, setResponseStatus } from "h3"
|
||||
import { User } from "#server/models/user"
|
||||
import {
|
||||
defineAuthenticatedEventHandler,
|
||||
requireAuthenticatedUser,
|
||||
} from "#server/utils/auth"
|
||||
import { parseMongoIds, validationResponse } from "#server/utils/api-validation"
|
||||
|
||||
export default defineAuthenticatedEventHandler(async (event) => {
|
||||
const authenticatedUser = await requireAuthenticatedUser(event)
|
||||
const parsedIds = parseMongoIds(getQuery(event).ids ?? getQuery(event).id)
|
||||
if ("error" in parsedIds) return validationResponse(event, parsedIds.error)
|
||||
|
||||
const user = await User.findById(authenticatedUser._id)
|
||||
if (!user) {
|
||||
setResponseStatus(event, 404)
|
||||
return { message: "User not found" }
|
||||
}
|
||||
|
||||
user.savedTracks = user.savedTracks.filter(
|
||||
(savedTrack: { toString(): string }) =>
|
||||
!parsedIds.value.includes(savedTrack.toString()),
|
||||
)
|
||||
await user.save()
|
||||
return {}
|
||||
})
|
||||
Reference in new issue
Block a user