deno-fresh-saurpc-lyrics/routes/api/db/[table].ts

30 lines
833 B
TypeScript
Raw Normal View History

2024-02-20 13:29:29 -06:00
import { FreshContext, Handlers } from '$fresh/server.ts'
import { knownMethods } from '$fresh/server/router.ts'
import { isTable } from '@lyrics/db.ts'
import { crudHandlerFor } from '@lyrics/api.ts'
import { Display, Playlist, Song } from '@lyrics/models.ts'
export const subHandlers = {
song: crudHandlerFor(Song, 'song'),
playlist: crudHandlerFor(Playlist, 'playlist'),
display: crudHandlerFor(Display, 'display'),
}
export function isMethod(value: string): value is Table {
return (value in [])
}
export const handler = (req: Request, ctx: FreshContext): Response => {
const table = ctx.params.table
req.method
if (isTable(table)) {
console.log({ table })
return new Response('yo')
} else {
return new Response(
JSON.stringify({ message: `invalid table: ${ctx.params.table}` }),
{ status: 401 },
)
}
}