feat: use gpt to create project, readme
This commit is contained in:
49
server/src/modules/visits/visit.controller.ts
Normal file
49
server/src/modules/visits/visit.controller.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import type { Request, Response } from 'express';
|
||||
import {
|
||||
createVisit,
|
||||
deleteVisit,
|
||||
getVisit,
|
||||
listVisits,
|
||||
updateVisit
|
||||
} from './visit.service';
|
||||
import { visitInputSchema, visitUpdateSchema } from './visit.types';
|
||||
import { toVisitDto } from './visit.mapper';
|
||||
|
||||
export async function listVisitsHandler(_req: Request, res: Response) {
|
||||
const visits = await listVisits();
|
||||
res.json(visits.map(toVisitDto));
|
||||
}
|
||||
|
||||
export async function createVisitHandler(req: Request, res: Response) {
|
||||
const parsed = visitInputSchema.safeParse(req.body);
|
||||
if (!parsed.success) {
|
||||
return res.status(400).json({ errors: parsed.error.flatten() });
|
||||
}
|
||||
const visit = await createVisit(parsed.data);
|
||||
res.status(201).json(toVisitDto(visit));
|
||||
}
|
||||
|
||||
export async function getVisitHandler(req: Request, res: Response) {
|
||||
const visit = await getVisit(req.params.id);
|
||||
if (!visit) {
|
||||
return res.status(404).json({ message: 'Visit not found' });
|
||||
}
|
||||
res.json(toVisitDto(visit));
|
||||
}
|
||||
|
||||
export async function updateVisitHandler(req: Request, res: Response) {
|
||||
const parsed = visitUpdateSchema.safeParse(req.body);
|
||||
if (!parsed.success) {
|
||||
return res.status(400).json({ errors: parsed.error.flatten() });
|
||||
}
|
||||
const visit = await updateVisit(req.params.id, parsed.data);
|
||||
if (!visit) {
|
||||
return res.status(404).json({ message: 'Visit not found' });
|
||||
}
|
||||
res.json(toVisitDto(visit));
|
||||
}
|
||||
|
||||
export async function deleteVisitHandler(req: Request, res: Response) {
|
||||
await deleteVisit(req.params.id);
|
||||
res.status(204).send();
|
||||
}
|
Reference in New Issue
Block a user