Skip to content

Commit

Permalink
Move models from fiches to plans/fiches
Browse files Browse the repository at this point in the history
  • Loading branch information
farnoux committed Dec 19, 2024
1 parent 3335c38 commit f36f2aa
Show file tree
Hide file tree
Showing 69 changed files with 180 additions and 165 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Indicateurs } from '@/api';
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { useMutation, useQuery, useQueryClient } from 'react-query';

/** Met à jour les services pilotes d'un indicateur */
Expand All @@ -20,7 +20,7 @@ export const useUpsertIndicateurServices = (indicateurId: number) => {
services
);
},
onSuccess: (data, variables) => {
onSuccess: () => {
// recharge les infos complémentaires associées à l'indicateur
queryClient.invalidateQueries([
'indicateur_services',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import { useUpdateIndicateurCard } from '@/app/app/pages/collectivite/Indicateur
import PersonnesDropdown from '@/app/ui/dropdownLists/PersonnesDropdown/PersonnesDropdown';
import ServicesPilotesDropdown from '@/app/ui/dropdownLists/ServicesPilotesDropdown/ServicesPilotesDropdown';
import ThematiquesDropdown from '@/app/ui/dropdownLists/ThematiquesDropdown/ThematiquesDropdown';
import { Tag, Thematique } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { Thematique } from '@/backend/shared';
import { Field, Modal, ModalFooterOKCancel } from '@/ui';
import { OpenState } from '@/ui/utils/types';
import { useEffect, useState } from 'react';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import { Indicateurs } from '@/api';
import { Personne } from '@/api/collectivites';
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag, Thematique } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { Thematique } from '@/backend/shared';
import { useMutation } from 'react-query';

/** Met à jour les pilotes, les services pilotes, les thématique d'un indicateur */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import TagsSuiviPersoDropdown from '@/app/ui/dropdownLists/TagsSuiviPersoDropdown/TagsSuiviPersoDropdown';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { Button, Field, useEventTracker } from '@/ui';
import { OpenState } from '@/ui/utils/types';
import { useState } from 'react';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import FinanceursDropdown from '@/app/ui/dropdownLists/FinanceursDropdown/FinanceursDropdown';
import { Financeur } from '@/backend/plans/fiches';
import { Financeur, FinanceurUpdate } from '@/backend/plans/fiches';
import { Button, Field, Input } from '@/ui';

type FinanceurPartial = Omit<Financeur, 'id' | 'ficheId' | 'financeurTagId'>;

type FinanceursInputProps = {
financeurs: FinanceurPartial[] | null | undefined;
onUpdate: (financeurs: FinanceurPartial[]) => void;
financeurs: FinanceurUpdate[] | null | undefined;
onUpdate: (financeurs: FinanceurUpdate[]) => void;
};

const FinanceursInput = ({ financeurs, onUpdate }: FinanceursInputProps) => {
Expand Down Expand Up @@ -82,7 +82,12 @@ const FinanceursInput = ({ financeurs, onUpdate }: FinanceursInputProps) => {
selectedFinanceur &&
onUpdate([
...(financeurs ?? []),
{ financeurTag: selectedFinanceur, montantTtc: null },
{
financeurTag: selectedFinanceur,
financeurTagId: selectedFinanceur.id,
ficheId: financeurs?.[0].ficheId ?? 0,
montantTtc: null,
},
])
}
/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { getFormattedNumber } from '@/app/utils/formatUtils';
import { Financeur } from '@/backend/plans/fiches';
import { FinanceurUpdate } from '@/backend/plans/fiches';
import { Badge } from '@/ui';

type FinanceursListeProps = {
financeurs?: Financeur[];
financeurs?: FinanceurUpdate[];
};

const FinanceursListe = ({ financeurs }: FinanceursListeProps) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { SelectMultipleProps } from '@/ui';
import SelectTags from '../tags/SelectTags';
import { useFinanceursListe } from './useFinanceursListe';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { useQuery } from 'react-query';
import { objectToCamel } from 'ts-case-convert';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { SelectMultipleProps } from '@/ui';
import SelectTags from '../tags/SelectTags';
import { usePartenairesListe } from './usePartenairesListe';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { useQuery } from 'react-query';
import { objectToCamel } from 'ts-case-convert';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { SelectMultipleProps } from '@/ui';
import SelectTags from '../tags/SelectTags';
import { useServicesPilotesListe } from './useServicesPilotesListe';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { useQuery } from 'react-query';
import { objectToCamel } from 'ts-case-convert';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { SelectMultipleProps } from '@/ui';
import SelectTags from '../tags/SelectTags';
import { useStructuresListe } from './useStructuresListe';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { useQuery } from 'react-query';
import { objectToCamel } from 'ts-case-convert';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { SelectMultipleProps } from '@/ui';
import SelectTags from '../tags/SelectTags';
import { useTagsSuiviPersoListe } from './useTagsSuiviPersoListe';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { useQuery } from 'react-query';
import { objectToCamel } from 'ts-case-convert';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { TableTag } from '@/api';
import { useCollectiviteId } from '@/app/core-logic/hooks/params';
import { Tag } from '@/backend/shared';
import { Tag } from '@/backend/collectivites';
import { Option, OptionValue, SelectFilter, SelectMultipleProps } from '@/ui';
import { useEffect } from 'react';
import { QueryKey } from 'react-query';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { CollectiviteTag, TableTag } from '@/api';
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { TagInsert } from '@/backend/shared';
import { TagInsert } from '@/backend/collectivites';
import { QueryKey, useMutation, useQueryClient } from 'react-query';
import { objectToSnake } from 'ts-case-convert';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { TableTag } from '@/api';
import { supabaseClient } from '@/app/core-logic/api/supabase';
import { TagUpdate } from '@/backend/shared';
import { TagUpdate } from '@/backend/collectivites';
import { QueryKey, useMutation, useQueryClient } from 'react-query';
import { objectToSnake } from 'ts-case-convert';

Expand Down
10 changes: 10 additions & 0 deletions backend/src/auth/models/dcp.table.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
uuid,
varchar,
} from 'drizzle-orm/pg-core';
import { createSelectSchema } from 'drizzle-zod';
import { createdAt, modifiedAt } from '../../utils/column.utils';

export const dcpTable = pgTable('dcp', {
Expand All @@ -23,3 +24,12 @@ export const dcpTable = pgTable('dcp', {
mode: 'string',
}),
});

export const dcpSchema = createSelectSchema(dcpTable);

export const authorSchema = dcpSchema.pick({
userId: true,
nom: true,
prenom: true,
email: true,
});
7 changes: 7 additions & 0 deletions backend/src/collectivites/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export * from './shared/models/financeur-tag.table';
export * from './shared/models/libre-tag.table';
export * from './shared/models/partenaire-tag.table';
export * from './shared/models/personne-tag.table';
export * from './shared/models/service-tag.table';
export * from './shared/models/structure-tag.table';
export * from './shared/models/tag.table-base';
2 changes: 1 addition & 1 deletion backend/src/collectivites/services/personnes.service.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { dcpTable, utilisateurDroitTable } from '@/backend/auth';
import { personneTagTable } from '@/backend/collectivites/shared/models/personne-tag.table';
import { DatabaseService } from '@/backend/common';
import { personneTagTable } from '@/backend/taxonomie/models/personne-tag.table';
import { Injectable } from '@nestjs/common';
import { and, eq, sql } from 'drizzle-orm';
import { union } from 'drizzle-orm/pg-core';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { pgTable, uniqueIndex } from 'drizzle-orm/pg-core';
import { createSelectSchema } from 'drizzle-zod';
import z from 'zod';
import { createdAt, createdBy } from '../../utils/column.utils';
import { createdAt, createdBy } from '../../../utils/column.utils';
import { tagTableBase } from './tag.table-base';

export const libreTagTable = pgTable(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { pgTable, uniqueIndex } from 'drizzle-orm/pg-core';
import { createSelectSchema } from 'drizzle-zod';
import { tagTableBase } from '../../shared/models/tag.table-base';
import { tagTableBase } from './tag.table-base';

export const partenaireTagTable = pgTable(
'partenaire_tag',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { pgTable, uniqueIndex } from 'drizzle-orm/pg-core';
import { tagTableBase } from '../../shared/models/tag.table-base';
import { createSelectSchema } from 'drizzle-zod';
import z from 'zod';
import { tagTableBase } from './tag.table-base';

export const personneTagTable = pgTable(
'personne_tag',
Expand All @@ -12,3 +14,6 @@ export const personneTagTable = pgTable(
};
}
);

export const personneTagSchema = createSelectSchema(personneTagTable);
export type PersonneTag = z.infer<typeof personneTagSchema>;
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { pgTable, uniqueIndex } from 'drizzle-orm/pg-core';
import { createSelectSchema } from 'drizzle-zod';
import { tagTableBase } from '../../shared/models/tag.table-base';
import { tagTableBase } from './tag.table-base';

export const serviceTagTable = pgTable('service_tag', tagTableBase, (table) => {
return {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { pgTable, uniqueIndex } from 'drizzle-orm/pg-core';
import { createSelectSchema } from 'drizzle-zod';
import { tagTableBase } from '../../shared/models/tag.table-base';
import { tagTableBase } from './tag.table-base';

export const structureTagTable = pgTable(
'structure_tag',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { integer, serial, text } from 'drizzle-orm/pg-core';
import z from 'zod';
import { collectiviteTable } from '../../collectivites/models/collectivite.table';
import { collectiviteTable } from '../../models/collectivite.table';

export type TagType =
| 'personne'
Expand Down
4 changes: 2 additions & 2 deletions backend/src/fiches/bulk-edit/bulk-edit.service.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { AuthUser } from '@/backend/auth/models/auth.models';
import { NiveauAcces } from '@/backend/auth/models/niveau-acces.enum';
import { DatabaseService } from '@/backend/common';
import { ficheActionLibreTagTable } from '@/backend/plans/fiches';
import { Injectable } from '@nestjs/common';
import { and, inArray, or } from 'drizzle-orm';
import z from 'zod';
import { AuthService } from '../../auth/services/auth.service';
import { ficheActionPiloteTable } from '../../plans/fiches/shared/models/fiche-action-pilote.table';
import {
ficheActionSchema,
ficheActionTable,
} from '../../plans/fiches/shared/models/fiche-action.table';
import { ficheActionLibreTagTable } from '../models/fiche-action-libre-tag.table';
import { ficheActionPiloteTable } from '../models/fiche-action-pilote.table';
import { updateFicheActionRequestSchema } from '../models/update-fiche-action.request';

@Injectable()
Expand Down
6 changes: 3 additions & 3 deletions backend/src/fiches/controllers/fiches-action.controller.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { ficheActionNoteSchema } from '@/backend/plans/fiches';
import { createZodDto } from '@anatine/zod-nestjs';
import {
Body,
Expand All @@ -12,17 +13,16 @@ import { ApiOkResponse, ApiTags } from '@nestjs/swagger';
import { z } from 'zod';
import { TokenInfo } from '../../auth/decorators/token-info.decorators';
import type { AuthenticatedUser } from '../../auth/models/auth.models';
import FicheService from '../../plans/fiches/fiche.service';
import FichesActionUpdateService from '../../plans/fiches/fiches-action-update.service';
import { CountByStatutService } from '../count-by-statut/count-by-statut.service';
import { ficheActionNoteSchema } from '../models/fiche-action-note.table';
import { getFichesActionSyntheseSchema } from '../models/get-fiches-action-synthese.response';
import { getFichesActionFilterRequestSchema } from '../models/get-fiches-actions-filter.request';
import { updateFicheActionRequestSchema } from '../models/update-fiche-action.request';
import {
deleteFicheActionNotesRequestSchema,
upsertFicheActionNotesRequestSchema,
} from '../models/upsert-fiche-action-note.request';
import FicheService from '../services/fiche.service';
import FichesActionUpdateService from '../services/fiches-action-update.service';

/**
* Création des classes de réponse à partir du schema pour générer automatiquement la documentation OpenAPI
Expand Down
8 changes: 5 additions & 3 deletions backend/src/fiches/count-by-statut/count-by-statut.service.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
import {
ficheActionPartenaireTagTable,
ficheActionServiceTagTable,
} from '@/backend/plans/fiches';
import { Injectable, Logger } from '@nestjs/common';
import {
and,
Expand All @@ -18,14 +22,12 @@ import { getModifiedSinceDate } from '../../common/models/modified-since.enum';
import DatabaseService from '../../common/services/database.service';
import { axeTable } from '../../plans/fiches/shared/models/axe.table';
import { ficheActionAxeTable } from '../../plans/fiches/shared/models/fiche-action-axe.table';
import { ficheActionPiloteTable } from '../../plans/fiches/shared/models/fiche-action-pilote.table';
import {
ficheActionTable,
SANS_STATUT_FICHE_ACTION_SYNTHESE_KEY,
statutsEnumValues,
} from '../../plans/fiches/shared/models/fiche-action.table';
import { ficheActionPartenaireTagTable } from '../models/fiche-action-partenaire-tag.table';
import { ficheActionPiloteTable } from '../models/fiche-action-pilote.table';
import { ficheActionServiceTagTable } from '../models/fiche-action-service.table';
import { GetFichesActionFilterRequestType } from '../models/get-fiches-actions-filter.request';

@Injectable()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common';
import { and, eq, gt, gte, lt, lte, sql } from 'drizzle-orm';
import { AuthenticatedUser } from '../../auth/models/auth.models';
import DatabaseService from '../../common/services/database.service';
import FicheService from '../services/fiche.service';
import FicheService from '../../plans/fiches/fiche.service';
import {
ficheActionEtapeTable,
FicheActionEtapeType,
Expand Down
4 changes: 2 additions & 2 deletions backend/src/fiches/fiches-action.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import { Module } from '@nestjs/common';
import { AuthModule } from '../auth/auth.module';
import { CollectivitesModule } from '../collectivites/collectivites.module';
import { CommonModule } from '../common/common.module';
import FicheService from '../plans/fiches/fiche.service';
import FichesActionUpdateService from '../plans/fiches/fiches-action-update.service';
import TagService from '../taxonomie/services/tag.service';
import { BulkEditRouter } from './bulk-edit/bulk-edit.router';
import { BulkEditService } from './bulk-edit/bulk-edit.service';
Expand All @@ -10,8 +12,6 @@ import { CountByStatutRouter } from './count-by-statut/count-by-statut.router';
import { CountByStatutService } from './count-by-statut/count-by-statut.service';
import { FicheActionEtapeRouter } from './fiche-action-etape/fiche-action-etape.router';
import { FicheActionEtapeService } from './fiche-action-etape/fiche-action-etape.service';
import FicheService from './services/fiche.service';
import FichesActionUpdateService from './services/fiches-action-update.service';

@Module({
imports: [CommonModule, AuthModule, CollectivitesModule],
Expand Down
18 changes: 0 additions & 18 deletions backend/src/fiches/models/fiche-action-service.table.ts

This file was deleted.

Loading

0 comments on commit f36f2aa

Please sign in to comment.