Normalize protected read API responses
This commit is contained in:
1 parent
a2b8dec813
commit
f377424d3a
21 files changed
+42
-42
No files matched your search
@@ -1,9 +1,9 @@
|
|||||||
import { getRouterParam } from "h3"
|
import { getRouterParam } from "h3"
|
||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getQuery, getRouterParam } from "h3"
|
import { getQuery, getRouterParam } from "h3"
|
||||||
import { Track } from "../../../models/track"
|
import { Track } from "../../../models/track"
|
||||||
import { requireAuthenticatedUser } from "../../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../../utils/auth"
|
||||||
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getQuery } from "h3"
|
import { getQuery } from "h3"
|
||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoIds, validationResponse } from "../../utils/api-validation"
|
import { parseMongoIds, validationResponse } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedIds = parseMongoIds(getQuery(event).ids)
|
const parsedIds = parseMongoIds(getQuery(event).ids)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
return Album.find({}).populate("artists").populate("genre")
|
return Album.find({}).populate("artists").populate("genre")
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Artist } from "../../models/artist"
|
import { Artist } from "../../models/artist"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
return Artist.find({})
|
return Artist.find({})
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Genre } from "../../models/genre"
|
import { Genre } from "../../models/genre"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
return Genre.find({})
|
return Genre.find({})
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Track } from "../../models/track"
|
import { Track } from "../../models/track"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
return Track.find({})
|
return Track.find({})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getRouterParam } from "h3"
|
import { getRouterParam } from "h3"
|
||||||
import { Artist } from "../../models/artist"
|
import { Artist } from "../../models/artist"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getQuery, getRouterParam } from "h3"
|
import { getQuery, getRouterParam } from "h3"
|
||||||
import { Album } from "../../../models/album"
|
import { Album } from "../../../models/album"
|
||||||
import { requireAuthenticatedUser } from "../../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../../utils/auth"
|
||||||
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getQuery, getRouterParam } from "h3"
|
import { getQuery, getRouterParam } from "h3"
|
||||||
import { Track } from "../../../models/track"
|
import { Track } from "../../../models/track"
|
||||||
import { requireAuthenticatedUser } from "../../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../../utils/auth"
|
||||||
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getQuery } from "h3"
|
import { getQuery } from "h3"
|
||||||
import { Artist } from "../../models/artist"
|
import { Artist } from "../../models/artist"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoIds, validationResponse } from "../../utils/api-validation"
|
import { parseMongoIds, validationResponse } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedIds = parseMongoIds(getQuery(event).ids)
|
const parsedIds = parseMongoIds(getQuery(event).ids)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import mongoose, { type PipelineStage } from "mongoose"
|
import mongoose, { type PipelineStage } from "mongoose"
|
||||||
import { Album } from "../../../models/album"
|
import { Album } from "../../../models/album"
|
||||||
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
||||||
import { requireAuthenticatedUser } from "../../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const id = parseMongoId(getRouterParam(event, "id"))
|
const id = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { Genre } from "../../models/genre"
|
import { Genre } from "../../models/genre"
|
||||||
import { parseNumber, validationResponse } from "../../utils/api-validation"
|
import { parseNumber, validationResponse } from "../../utils/api-validation"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const { limit: rawLimit } = getQuery(event)
|
const { limit: rawLimit } = getQuery(event)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import mongoose, { type PipelineStage } from "mongoose"
|
import mongoose, { type PipelineStage } from "mongoose"
|
||||||
import { Track } from "../../../models/track"
|
import { Track } from "../../../models/track"
|
||||||
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
import { parseMongoId, parseNumber, validationResponse } from "../../../utils/api-validation"
|
||||||
import { requireAuthenticatedUser } from "../../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const id = parseMongoId(getRouterParam(event, "id"))
|
const id = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ import {
|
|||||||
parseQueryString,
|
parseQueryString,
|
||||||
validationResponse,
|
validationResponse,
|
||||||
} from "../utils/api-validation"
|
} from "../utils/api-validation"
|
||||||
import { requireAuthenticatedUser } from "../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../utils/auth"
|
||||||
|
|
||||||
const searchTypes = ["track", "album", "artist", "default"] as const
|
const searchTypes = ["track", "album", "artist", "default"] as const
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const query = getQuery(event)
|
const query = getQuery(event)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getQuery } from "h3"
|
import { getQuery } from "h3"
|
||||||
import { Track } from "../models/track"
|
import { Track } from "../models/track"
|
||||||
import { requireAuthenticatedUser } from "../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../utils/auth"
|
||||||
import { parseMongoIds, validationResponse } from "../utils/api-validation"
|
import { parseMongoIds, validationResponse } from "../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedIds = parseMongoIds(getQuery(event).ids)
|
const parsedIds = parseMongoIds(getQuery(event).ids)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getRouterParam } from "h3"
|
import { getRouterParam } from "h3"
|
||||||
import { Track } from "../../models/track"
|
import { Track } from "../../models/track"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getRouterParam } from "h3"
|
import { getRouterParam } from "h3"
|
||||||
import { Track } from "../../../models/track"
|
import { Track } from "../../../models/track"
|
||||||
import { requireAuthenticatedUser } from "../../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../../utils/auth"
|
||||||
import { parseMongoId, validationResponse } from "../../../utils/api-validation"
|
import { parseMongoId, validationResponse } from "../../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event)
|
await requireAuthenticatedUser(event)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
const parsedId = parseMongoId(getRouterParam(event, "id"))
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
return await requireAuthenticatedUser(event)
|
return await requireAuthenticatedUser(event)
|
||||||
})
|
})
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import { User } from "../../models/user"
|
import { User } from "../../models/user"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { setResponseStatus } from "h3"
|
import { setResponseStatus } from "h3"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
const authenticatedUser = await requireAuthenticatedUser(event)
|
const authenticatedUser = await requireAuthenticatedUser(event)
|
||||||
const user = await User.findById(authenticatedUser._id).populate("savedTracks")
|
const user = await User.findById(authenticatedUser._id).populate("savedTracks")
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { getQuery, setResponseStatus } from "h3"
|
import { getQuery, setResponseStatus } from "h3"
|
||||||
import mongoose, { type ObjectId } from "mongoose"
|
import mongoose, { type ObjectId } from "mongoose"
|
||||||
import { User } from "../../models/user"
|
import { User } from "../../models/user"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
import { parseMongoId, validationResponse } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
const authenticatedUser = await requireAuthenticatedUser(event)
|
const authenticatedUser = await requireAuthenticatedUser(event)
|
||||||
const parsedId = parseMongoId(getQuery(event).id)
|
const parsedId = parseMongoId(getQuery(event).id)
|
||||||
if ("error" in parsedId) return validationResponse(event, parsedId.error)
|
if ("error" in parsedId) return validationResponse(event, parsedId.error)
|
||||||
|
|||||||
Reference in new issue
Block a user