diff --git a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleCreationNote.tsx b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleCreationNote.tsx index 623e2dbb1b..857accd4cc 100644 --- a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleCreationNote.tsx +++ b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleCreationNote.tsx @@ -1,4 +1,3 @@ -import { useState } from 'react'; import { Alert, Button, @@ -9,6 +8,7 @@ import { Select, Textarea, } from '@tet/ui'; +import { useState } from 'react'; import { EditedNote } from '../data/useUpsertNoteSuivi'; export const getYearsOptions = () => { diff --git a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleEditionNote.tsx b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleEditionNote.tsx index 8ff57064d9..84924619f7 100644 --- a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleEditionNote.tsx +++ b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleEditionNote.tsx @@ -37,7 +37,7 @@ const ModaleEditionNote = ({ note.trim().length > 0 && (note !== editedNote.note || year !== initialYear) ) { - onEdit({ note, year }); + onEdit({ id: editedNote.id, note, year }); } }; diff --git a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleSuppressionNote.tsx b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleSuppressionNote.tsx index e90478d9e0..fddf901aa9 100644 --- a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleSuppressionNote.tsx +++ b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/NotesDeSuivi/ModaleSuppressionNote.tsx @@ -36,7 +36,7 @@ const ModaleSuppressionNote = ({ btnCancelProps={{ onClick: close }} btnOKProps={{ onClick: () => { - onDelete({ year }); + onDelete({ id: editedNote.id }); close(); }, }} diff --git a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/data/useUpsertNoteSuivi.ts b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/data/useUpsertNoteSuivi.ts index 0e97748ef0..4fcc5a0389 100644 --- a/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/data/useUpsertNoteSuivi.ts +++ b/app.territoiresentransitions.react/src/app/pages/collectivite/PlansActions/FicheAction/data/useUpsertNoteSuivi.ts @@ -1,9 +1,12 @@ -import { useMutation, useQueryClient } from 'react-query'; import { FicheAction, FicheActionNote } from '@tet/api/plan-actions'; import { useApiClient } from 'core-logic/api/useApiClient'; +import { useMutation, useQueryClient } from 'react-query'; -export type EditedNote = Pick & { year: number }; -export type DeletedNote = { year: number }; +export type EditedNote = Pick & { + id?: number; + year: number; +}; +export type DeletedNote = { id: number }; // renvoie une fonction de modification des notes de suivi export const useUpsertNoteSuivi = ({ @@ -14,11 +17,13 @@ export const useUpsertNoteSuivi = ({ const queryClient = useQueryClient(); return useMutation( - async ({ note, year }: EditedNote) => { + async ({ id, note, year }: EditedNote) => { return api.put({ route: `/collectivites/${collectiviteId}/fiches-action/${ficheId}/notes`, params: { - notes: [{ note, dateNote: new Date(`${year}-01-01`).toISOString() }], + notes: [ + { id, note, dateNote: new Date(`${year}-01-01`).toISOString() }, + ], }, }); }, @@ -45,10 +50,10 @@ export const useDeleteNoteSuivi = ({ const queryClient = useQueryClient(); return useMutation( - async ({ year }: DeletedNote) => { + async ({ id }: DeletedNote) => { return api.delete({ route: `/collectivites/${collectiviteId}/fiches-action/${ficheId}/note`, - params: { dateNote: new Date(`${year}-01-01`).toISOString() }, + params: { id }, }); }, { diff --git a/app.territoiresentransitions.react/src/core-logic/api/useApiClient.ts b/app.territoiresentransitions.react/src/core-logic/api/useApiClient.ts index bf189dc200..0da06bfa1a 100644 --- a/app.territoiresentransitions.react/src/core-logic/api/useApiClient.ts +++ b/app.territoiresentransitions.react/src/core-logic/api/useApiClient.ts @@ -8,6 +8,7 @@ type JSONValue = | number | boolean | null + | undefined | { [x: string]: JSONValue } | Array;