mirror of https://github.com/kern/filepizza
add api routes
parent
2d0465731b
commit
cc69bece47
@ -0,0 +1,16 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { Channel, channelRepo } from '../../../channel'
|
||||
|
||||
export async function POST(request: NextRequest): Promise<NextResponse> {
|
||||
const { uploaderPeerID } = await request.json()
|
||||
|
||||
if (!uploaderPeerID) {
|
||||
return NextResponse.json(
|
||||
{ error: 'uploaderPeerID is required' },
|
||||
{ status: 400 },
|
||||
)
|
||||
}
|
||||
|
||||
const channel: Channel = await channelRepo.create(uploaderPeerID)
|
||||
return NextResponse.json(channel)
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { channelRepo } from '../../../channel'
|
||||
|
||||
export async function POST(request: NextRequest): Promise<NextResponse> {
|
||||
const { slug } = await request.json()
|
||||
|
||||
if (!slug) {
|
||||
return NextResponse.json({ error: 'Slug is required' }, { status: 400 })
|
||||
}
|
||||
|
||||
try {
|
||||
await channelRepo.destroy(slug)
|
||||
return NextResponse.json({ success: true }, { status: 200 })
|
||||
} catch (error) {
|
||||
return NextResponse.json(
|
||||
{ error: 'Failed to destroy channel' },
|
||||
{ status: 500 },
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { channelRepo } from '../../../channel'
|
||||
|
||||
export async function POST(request: NextRequest): Promise<NextResponse> {
|
||||
const { slug } = await request.json()
|
||||
|
||||
if (!slug) {
|
||||
return NextResponse.json({ error: 'Slug is required' }, { status: 400 })
|
||||
}
|
||||
|
||||
await channelRepo.renew(slug)
|
||||
return NextResponse.json({ success: true })
|
||||
}
|
||||
Loading…
Reference in New Issue