Normalize admin API auth responses

This commit is contained in:
lucast committed 2026-09-29 15:57:14 +02:00
1 parent 31e6c0c5d2
commit a2b8dec813
12 files changed
+25 -25

No files matched your search

+2 -2
View File
@@ -1,11 +1,11 @@
import { getQuery, setResponseStatus } from "h3"
import { Album } from "../../models/album"
import { Track } from "../../models/track"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { parseMongoId, validationResponse } from "../../utils/api-validation"
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const query = getQuery(event)
const parsedId = parseMongoId(query.id)
+2 -2
View File
@@ -2,11 +2,11 @@ import { getQuery, setResponseStatus } from "h3"
import mongoose from "mongoose"
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, splitIds } from "../../utils/admin-form"
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 { Album } from "../../models/album"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parsedId = parseMongoId(getQuery(event).id)
if ("error" in parsedId) return validationResponse(event, parsedId.error)
+2 -2
View File
@@ -1,10 +1,10 @@
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, splitIds } from "../../utils/admin-form"
import { saveUploadFile } from "../../utils/upload-files"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { Album } from "../../models/album"
import mongoose from "mongoose"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parts = await readAdminForm(event)
const name = adminFormText(parts, "name")
+2 -2
View File
@@ -2,7 +2,7 @@ import { getQuery, setResponseStatus } from "h3"
import { Album } from "../../models/album"
import { Artist } from "../../models/artist"
import { Track } from "../../models/track"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { parseMongoId, validationResponse } from "../../utils/api-validation"
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()
}
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const query = getQuery(event)
const parsedId = parseMongoId(query.id)
+2 -2
View File
@@ -2,11 +2,11 @@ import { getQuery, setResponseStatus } from "h3"
import mongoose from "mongoose"
import { readAdminForm, adminFormText, adminFormFile, safeFileExtension } from "../../utils/admin-form"
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 { Artist } from "../../models/artist"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parsedId = parseMongoId(getQuery(event).id)
if ("error" in parsedId) return validationResponse(event, parsedId.error)
+2 -2
View File
@@ -1,9 +1,9 @@
import { readAdminForm, adminFormText, adminFormFile, safeFileExtension } from "../../utils/admin-form"
import { saveUploadFile } from "../../utils/upload-files"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { Artist } from "../../models/artist"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parts = await readAdminForm(event)
const name = adminFormText(parts, "name")
+2 -2
View File
@@ -1,10 +1,10 @@
import { getQuery, setResponseStatus } from "h3"
import { Album } from "../../models/album"
import { Genre } from "../../models/genre"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { parseMongoId } from "../../utils/api-validation"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const query = getQuery(event)
+2 -2
View File
@@ -1,9 +1,9 @@
import { getQuery, readBody, setResponseStatus } from "h3"
import { Genre } from "../../models/genre"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { parseMongoId } from "../../utils/api-validation"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parsedId = parseMongoId(getQuery(event).id)
+2 -2
View File
@@ -1,8 +1,8 @@
import { readBody, setResponseStatus } from "h3"
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)
const body = await readBody<unknown>(event)
+2 -2
View File
@@ -1,10 +1,10 @@
import { getQuery, setResponseStatus } from "h3"
import { Track } from "../../models/track"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { parseMongoId, validationResponse } from "../../utils/api-validation"
import { tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parsedId = parseMongoId(getQuery(event).id)
if ("error" in parsedId) return validationResponse(event, parsedId.error)
+2 -2
View File
@@ -4,11 +4,11 @@ import { getQuery } from "h3"
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, safeFileExtension, parseOptionalJson, splitIds } from "../../utils/admin-form"
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-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 { Track } from "../../models/track"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parsedId = parseMongoId(getQuery(event).id)
if ("error" in parsedId) return validationResponse(event, parsedId.error)
+3 -3
View File
@@ -3,10 +3,10 @@ import mongoose from "mongoose"
import { readAdminForm, adminFormText, adminFormTexts, adminFormFile, parseOptionalJson, splitIds } from "../../utils/admin-form"
import { saveUploadFile, tryCleanUploadFileOrDirectory } from "../../utils/upload-files"
import { getAudioDuration, processAudioFile } from "../../utils/audio-files"
import { requireAuthenticatedUser } from "../../utils/auth"
import { defineAuthenticatedEventHandler, requireAuthenticatedUser } from "../../utils/auth"
import { Track } from "../../models/track"
export default defineEventHandler(async (event) => {
export default defineAuthenticatedEventHandler(async (event) => {
await requireAuthenticatedUser(event, true)
const parts = await readAdminForm(event)
const name = adminFormText(parts, "name")
@@ -59,6 +59,6 @@ export default defineEventHandler(async (event) => {
void tryCleanUploadFileOrDirectory(event, fileDirectory)
console.log(error)
setResponseStatus(event, 500)
return null
return undefined
}
})