From bef0da5a2e88756bd7c5898ee98eb674f23f02c0 Mon Sep 17 00:00:00 2001 From: Fred <98240+farnoux@users.noreply.github.com> Date: Tue, 24 Dec 2024 16:20:13 +0100 Subject: [PATCH 01/10] Remove unused fonctions --- .../actions/indicateur.fetch.test.ts | 8 ----- .../indicateurs/actions/indicateur.fetch.ts | 23 ++------------ .../actions/indicateur.save.test.ts | 30 +------------------ .../indicateurs/actions/indicateur.save.ts | 28 ----------------- 4 files changed, 3 insertions(+), 86 deletions(-) diff --git a/packages/api/src/indicateurs/actions/indicateur.fetch.test.ts b/packages/api/src/indicateurs/actions/indicateur.fetch.test.ts index 681ec3b87e..61ce6c861c 100644 --- a/packages/api/src/indicateurs/actions/indicateur.fetch.test.ts +++ b/packages/api/src/indicateurs/actions/indicateur.fetch.test.ts @@ -5,7 +5,6 @@ import { dbAdmin, supabase } from '../../tests/supabase'; import { testReset } from '../../tests/testReset'; import { getValeursComparaison, - selectIndicateurActions, selectIndicateurCategoriesUtilisateur, selectIndicateurChartInfo, selectIndicateurDefinition, @@ -277,13 +276,6 @@ test('Test selectIndicateurFiches', async () => { expect(data[0].id).eq(1); }); -test('Test selectIndicateurActions', async () => { - const data = await selectIndicateurActions(supabase, 123); - expect(data).not.toBeNull(); - expect(data).toHaveLength(1); - expect(data[0].id).eq('eci_4'); -}); - test('Test selectIndicateurValeurs', async () => { // Récupère les valeurs utilisateurs const data = await selectIndicateurValeurs(supabase, 1, 1, null); diff --git a/packages/api/src/indicateurs/actions/indicateur.fetch.ts b/packages/api/src/indicateurs/actions/indicateur.fetch.ts index 9b955622e8..4778d51c88 100644 --- a/packages/api/src/indicateurs/actions/indicateur.fetch.ts +++ b/packages/api/src/indicateurs/actions/indicateur.fetch.ts @@ -1,13 +1,13 @@ +import { Thematique } from '@/domain/shared'; import { objectToCamel } from 'ts-case-convert'; import { selectGroupementParCollectivite, selectGroupements, } from '../../collectivites/shared/data-access/groupement.fetch'; import { Groupement } from '../../collectivites/shared/domain/groupement.schema'; +import { Personne } from '../../collectivites/shared/domain/personne.schema'; import { Tables } from '../../database.types'; import { FicheResume } from '../../plan-actions/domain/fiche-action.schema'; -import { Action } from '../../referentiel/domain/action.schema'; -import { Personne } from '../../collectivites/shared/domain/personne.schema'; import { DBClient } from '../../typeUtils'; import { Source, SourceMetadonnee } from '../domain'; import { @@ -19,7 +19,6 @@ import { ValeurComparaison, ValeurComparaisonLigne, } from '../domain/valeur.schema'; -import { Thematique } from '@/domain/shared'; // cas spécial pour cet indicateur TODO: utiliser un champ distinct dans les markdowns plutôt que cet ID "en dur" const ID_COMPACITE_FORMES_URBAINES = 'cae_9'; @@ -260,24 +259,6 @@ export async function selectIndicateurFiches( return data ? (objectToCamel(data) as FicheResume[]) : []; } -/** - * Récupère les actions liées à un indicateur - * @param dbClient client supabase - * @param indicateurId identifiant de l'indicateur - * @return liste d'actions - */ -export async function selectIndicateurActions( - dbClient: DBClient, - indicateurId: number -): Promise { - const { data, error } = await dbClient - .from('indicateur_action') - .select(`...action_relation(*)`) - .eq('indicateur_id', indicateurId) - .returns(); - return data ? data : []; -} - /** * Récupère la liste des id des indicateurs favoris de la collectivité * @param dbClient diff --git a/packages/api/src/indicateurs/actions/indicateur.save.test.ts b/packages/api/src/indicateurs/actions/indicateur.save.test.ts index 39c8188328..264b9d4872 100644 --- a/packages/api/src/indicateurs/actions/indicateur.save.test.ts +++ b/packages/api/src/indicateurs/actions/indicateur.save.test.ts @@ -3,14 +3,12 @@ import { Thematique } from '@/domain/shared'; import { beforeAll, describe, expect, test } from 'vitest'; import { Personne } from '../../collectivites/shared/domain/personne.schema'; import { FicheResume } from '../../plan-actions/domain/fiche-action.schema'; -import { Action } from '../../referentiel/domain/action.schema'; import { signIn, signOut } from '../../tests/auth'; import { dbAdmin, supabase } from '../../tests/supabase'; import { testReset } from '../../tests/testReset'; import { IndicateurDefinitionInsert } from '../domain/definition.schema'; import { Valeur } from '../domain/valeur.schema'; import { - selectIndicateurActions, selectIndicateurCategoriesUtilisateur, selectIndicateurDefinition, selectIndicateurFiches, @@ -23,7 +21,6 @@ import { import { insertIndicateurDefinition, updateIndicateurDefinition, - upsertActions, upsertCategoriesUtilisateur, upsertFiches, upsertIndicateurValeur, @@ -441,7 +438,7 @@ describe('Test indicateur.save', async () => { dateFinProvisoire: '2020-01-01', id: 1, modifiedAt: '2020-01-01', - niveauPriorite: 'Bas', + priorite: 'Bas', pilotes: [], services: [], plans: [], @@ -490,31 +487,6 @@ describe('Test indicateur.save', async () => { expect(data6).toHaveLength(1); }); - test('Test upsertActions', async () => { - // Ajout action sur indicateur personnalisé - const def = await selectIndicateurDefinition(supabase, predefini.id, 1); - if (!def) { - expect.fail(); - } - - const act: Action[] = [ - { - parent: null, - id: 'eci', - referentiel: 'eci', - }, - ]; - await upsertActions(supabase, def, act); - const data = await selectIndicateurActions(supabase, predefini.id); - expect(data).not.toBeNull(); - expect(data).toHaveLength(1); - // Enlève action indicateur personnalisé - await upsertActions(supabase, def, []); - const data2 = await selectIndicateurActions(supabase, predefini.id); - expect(data2).not.toBeNull(); - expect(data2).toHaveLength(0); - }); - test('Test upsertValeursUtilisateurAvecSource', async () => { // On signout pour pouvoir bypasser les RLS en mode dbAdmin // (sinon le dbAdmin ne fonctionne pas) diff --git a/packages/api/src/indicateurs/actions/indicateur.save.ts b/packages/api/src/indicateurs/actions/indicateur.save.ts index 28f3b506c8..c14bbeefd7 100644 --- a/packages/api/src/indicateurs/actions/indicateur.save.ts +++ b/packages/api/src/indicateurs/actions/indicateur.save.ts @@ -3,7 +3,6 @@ import { Thematique } from '@/domain/shared'; import { isNil } from 'es-toolkit/predicate'; import { objectToSnake } from 'ts-case-convert'; import { Personne } from '../../collectivites/shared/domain/personne.schema'; -import { Action } from '../../referentiel/domain/action.schema'; import { selectTags } from '../../shared/actions/tag.fetch'; import { insertTags } from '../../shared/actions/tag.save'; import { DBClient, TablesInsert } from '../../typeUtils'; @@ -433,33 +432,6 @@ export async function upsertFiches( ); } -/** - * Modifie les actions d'un indicateur - * @param dbClient client supabase - * @param indicateur indicateur concerné - * @param actions actions à modifier - */ -export async function upsertActions( - dbClient: DBClient, - indicateur: IndicateurDefinition, - actions: Action[] -) { - if (indicateur.estPerso) { - // Supprime les liens vers les actions qui ne sont plus concernés - await dbClient - .from('indicateur_action') - .delete() - .eq('indicateur_id', indicateur.id) - .not('action_id', 'in', `(${actions.map((a) => a.id).join(',')})`); - - // Fait les nouveaux liens entre l'indicateur et les fiches - await dbClient.from('indicateur_action').upsert( - actions.map((a) => ({ action_id: a.id, indicateur_id: indicateur.id })), - { onConflict: 'indicateur_id,action_id' } - ); - } -} - /** * Applique les valeurs d'une source aux valeurs utilisateurs d'un indicateur * @param args upsertValeursUtilisateurAvecSourceParametres