mirror of
https://gitlab.w-hs.de/an14051/backerup-website.git
synced 2026-07-27 17:35:29 +00:00
34 lines
923 B
TypeScript
34 lines
923 B
TypeScript
import { NextResponse } from 'next/server'
|
|
import { getFile, deleteFile } from '@/lib/store'
|
|
import { getSession } from '@/lib/session'
|
|
|
|
export async function GET(
|
|
_request: Request,
|
|
{ params }: { params: Promise<{ token: string }> },
|
|
) {
|
|
const { token } = await params
|
|
const record = await getFile(token)
|
|
if (!record) {
|
|
return NextResponse.json({ error: 'Not found' }, { status: 404 })
|
|
}
|
|
return NextResponse.json(record)
|
|
}
|
|
|
|
export async function DELETE(
|
|
_request: Request,
|
|
{ params }: { params: Promise<{ token: string }> },
|
|
) {
|
|
const session = await getSession()
|
|
if (!session || session.role !== 'admin') {
|
|
return NextResponse.json({ error: 'Forbidden' }, { status: 403 })
|
|
}
|
|
|
|
const { token } = await params
|
|
try {
|
|
await deleteFile(token)
|
|
return NextResponse.json({ ok: true })
|
|
} catch (e) {
|
|
return NextResponse.json({ error: (e as Error).message }, { status: 404 })
|
|
}
|
|
}
|