import { RequestCtx } from '@/backend/routes.ts'; import { html } from '@atelier/responses.ts'; import { Form, View } from '@/backend/templates/index.ts'; export function viewItems(req: Request, ctx: RequestCtx) { return new Response(''); } export function viewItem(req: Request, ctx: RequestCtx) { return new Response(''); } /* item_type text not null, name text not null, image_blob_id integer, started_timestamp text, finished_timestamp text, rating real, review text, other_metadata_json text, foreign key (image_blob_id) references blob(blob_id) */ export function viewCreateItem(req: Request, ctx: RequestCtx) { const body = ` ${ Form({ hasFileData: true, action: '/items/create', fields: [ { name: 'name', type: 'text', label: 'Name' }, { name: 'image', type: 'file', label: 'Image', required: false }, { name: 'rating', type: 'number', label: 'Rating', required: false }, { name: 'review', type: 'textarea', label: 'Review', required: false }, ], }) } `; return html(View({ title: 'Create item', body })); } export async function postItem(req: Request, ctx: RequestCtx) { const form = await req.formData(); console.debug({ form }); return new Response(''); }