feat(frontend): API layer + stores Pinia

Ajoute le client Axios, les modules API (gardens, varieties, plantings,
tasks) et les stores Pinia correspondants. Corrige tsconfig.json pour
inclure vite/client et DOM.Iterable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 04:10:16 +01:00
parent b8edb6bc0a
commit f29f90a16f
10 changed files with 245 additions and 1 deletions

20
frontend/src/api/tasks.ts Normal file
View File

@@ -0,0 +1,20 @@
import client from './client'
export interface Task {
id?: number
titre: string
description?: string
garden_id?: number
priorite: string
echeance?: string
statut: string
}
export const tasksApi = {
list: (params?: { statut?: string; garden_id?: number }) =>
client.get<Task[]>('/api/tasks', { params }).then(r => r.data),
get: (id: number) => client.get<Task>(`/api/tasks/${id}`).then(r => r.data),
create: (t: Partial<Task>) => client.post<Task>('/api/tasks', t).then(r => r.data),
update: (id: number, t: Partial<Task>) => client.put<Task>(`/api/tasks/${id}`, t).then(r => r.data),
delete: (id: number) => client.delete(`/api/tasks/${id}`),
}