Normalize admin API auth responses
This commit is contained in:
1 parent
31e6c0c5d2
commit
a2b8dec813
12 files changed
+25
-25
No files matched your search
@@ -1,11 +1,11 @@
|
|||||||
import { getQuery, setResponseStatus } from "h3"
|
import { getQuery, setResponseStatus } from "h3"
|
||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
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"
|
||||||
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
const query = getQuery(event)
|
const query = getQuery(event)
|
||||||
const parsedId = parseMongoId(query.id)
|
const parsedId = parseMongoId(query.id)
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import { getQuery, setResponseStatus } from "h3"
|
|||||||
import mongoose from "mongoose"
|
import mongoose from "mongoose"
|
||||||
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, splitIds } from "../../utils/admin-form"
|
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, splitIds } from "../../utils/admin-form"
|
||||||
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
||||||
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"
|
||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
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)
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, splitIds } from "../../utils/admin-form"
|
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, splitIds } from "../../utils/admin-form"
|
||||||
import { saveUploadFile } from "../../utils/upload-files"
|
import { saveUploadFile } from "../../utils/upload-files"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
import mongoose from "mongoose"
|
import mongoose from "mongoose"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
const parts = await readAdminForm(event)
|
const parts = await readAdminForm(event)
|
||||||
const name = adminFormText(parts, "name")
|
const name = adminFormText(parts, "name")
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { getQuery, setResponseStatus } from "h3"
|
|||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
import { Artist } from "../../models/artist"
|
import { Artist } from "../../models/artist"
|
||||||
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"
|
||||||
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ async function findDependents(model: typeof Track | typeof Album, field: string,
|
|||||||
return model.find({ [field]: value }).select("_id name").exec()
|
return model.find({ [field]: value }).select("_id name").exec()
|
||||||
}
|
}
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
const query = getQuery(event)
|
const query = getQuery(event)
|
||||||
const parsedId = parseMongoId(query.id)
|
const parsedId = parseMongoId(query.id)
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import { getQuery, setResponseStatus } from "h3"
|
|||||||
import mongoose from "mongoose"
|
import mongoose from "mongoose"
|
||||||
import { readAdminForm, adminFormText, adminFormFile, safeFileExtension } from "../../utils/admin-form"
|
import { readAdminForm, adminFormText, adminFormFile, safeFileExtension } from "../../utils/admin-form"
|
||||||
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
||||||
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"
|
||||||
import { Artist } from "../../models/artist"
|
import { Artist } from "../../models/artist"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
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)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { readAdminForm, adminFormText, adminFormFile, safeFileExtension } from "../../utils/admin-form"
|
import { readAdminForm, adminFormText, adminFormFile, safeFileExtension } from "../../utils/admin-form"
|
||||||
import { saveUploadFile } from "../../utils/upload-files"
|
import { saveUploadFile } from "../../utils/upload-files"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { Artist } from "../../models/artist"
|
import { Artist } from "../../models/artist"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
const parts = await readAdminForm(event)
|
const parts = await readAdminForm(event)
|
||||||
const name = adminFormText(parts, "name")
|
const name = adminFormText(parts, "name")
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { getQuery, setResponseStatus } from "h3"
|
import { getQuery, setResponseStatus } from "h3"
|
||||||
import { Album } from "../../models/album"
|
import { Album } from "../../models/album"
|
||||||
import { Genre } from "../../models/genre"
|
import { Genre } from "../../models/genre"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoId } from "../../utils/api-validation"
|
import { parseMongoId } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
|
|
||||||
const query = getQuery(event)
|
const query = getQuery(event)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { getQuery, readBody, setResponseStatus } from "h3"
|
import { getQuery, readBody, setResponseStatus } from "h3"
|
||||||
import { Genre } from "../../models/genre"
|
import { Genre } from "../../models/genre"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { parseMongoId } from "../../utils/api-validation"
|
import { parseMongoId } from "../../utils/api-validation"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
|
|
||||||
const parsedId = parseMongoId(getQuery(event).id)
|
const parsedId = parseMongoId(getQuery(event).id)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { readBody, setResponseStatus } from "h3"
|
import { readBody, setResponseStatus } from "h3"
|
||||||
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, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
|
|
||||||
const body = await readBody<unknown>(event)
|
const body = await readBody<unknown>(event)
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { getQuery, setResponseStatus } from "h3"
|
import { getQuery, setResponseStatus } 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"
|
||||||
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
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)
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ import { getQuery } from "h3"
|
|||||||
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, parseOptionalJson, splitIds } from "../../utils/admin-form"
|
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, parseOptionalJson, splitIds } from "../../utils/admin-form"
|
||||||
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
||||||
import { getAudioDuration, processAudioFile } from "../../utils/audio-files"
|
import { getAudioDuration, processAudioFile } from "../../utils/audio-files"
|
||||||
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"
|
||||||
import { Track } from "../../models/track"
|
import { Track } from "../../models/track"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
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)
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ import mongoose from "mongoose"
|
|||||||
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, parseOptionalJson, splitIds } from "../../utils/admin-form"
|
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, parseOptionalJson, splitIds } from "../../utils/admin-form"
|
||||||
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
|
||||||
import { getAudioDuration, processAudioFile } from "../../utils/audio-files"
|
import { getAudioDuration, processAudioFile } from "../../utils/audio-files"
|
||||||
import { requireAuthenticatedUser } from "../../utils/auth"
|
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
|
||||||
import { Track } from "../../models/track"
|
import { Track } from "../../models/track"
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineAuthenticatedEventHandler(async (event) => {
|
||||||
await requireAuthenticatedUser(event, true)
|
await requireAuthenticatedUser(event, true)
|
||||||
const parts = await readAdminForm(event)
|
const parts = await readAdminForm(event)
|
||||||
const name = adminFormText(parts, "name")
|
const name = adminFormText(parts, "name")
|
||||||
@@ -59,6 +59,6 @@ export default defineEventHandler(async (event) => {
|
|||||||
void tryCleanUploadFileOrDirectory(event, fileDirectory)
|
void tryCleanUploadFileOrDirectory(event, fileDirectory)
|
||||||
console.log(error)
|
console.log(error)
|
||||||
setResponseStatus(event, 500)
|
setResponseStatus(event, 500)
|
||||||
return null
|
return undefined
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
Reference in new issue
Block a user