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