add api routes

pull/134/head
Alex Kern 1 year ago
parent 2d0465731b
commit cc69bece47
No known key found for this signature in database
GPG Key ID: EF051FACCACBEE25

@ -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…
Cancel
Save