import { FastifyInstance } from 'fastify' import { StaffTimeEntryConnect } from '../../types/staff' export default async function staffTimeConnectRoutes(server: FastifyInstance) { // ▶ Connect anlegen server.post<{ Params: { id: string }, Body: Omit }>( '/staff/time/:id/connects', async (req, reply) => { const { id } = req.params const { started_at, stopped_at, project_id, customer_id, task_id, ticket_id, notes } = req.body const { data, error } = await server.supabase .from('staff_time_entry_connects') .insert([{ time_entry_id: id, started_at, stopped_at, project_id, customer_id, task_id, ticket_id, notes }]) .select() .maybeSingle() if (error) return reply.code(400).send({ error: error.message }) return reply.send(data) } ) // ▶ Connects abrufen server.get<{ Params: { id: string } }>( '/staff/time/:id/connects', async (req, reply) => { const { id } = req.params const { data, error } = await server.supabase .from('staff_time_entry_connects') .select('*') .eq('time_entry_id', id) .order('started_at', { ascending: true }) if (error) return reply.code(400).send({ error: error.message }) return reply.send(data) } ) // ▶ Connect aktualisieren server.patch<{ Params: { connectId: string }, Body: Partial }>( '/staff/time/connects/:connectId', async (req, reply) => { const { connectId } = req.params const { data, error } = await server.supabase .from('staff_time_entry_connects') .update({ ...req.body, updated_at: new Date().toISOString() }) .eq('id', connectId) .select() .maybeSingle() if (error) return reply.code(400).send({ error: error.message }) return reply.send(data) } ) // ▶ Connect löschen server.delete<{ Params: { connectId: string } }>( '/staff/time/connects/:connectId', async (req, reply) => { const { connectId } = req.params const { error } = await server.supabase .from('staff_time_entry_connects') .delete() .eq('id', connectId) if (error) return reply.code(400).send({ error: error.message }) return reply.send({ success: true }) } ) }