Skip to content
Snippets Groups Projects
Unverified Commit b7365206 authored by vmaubert's avatar vmaubert Committed by GitHub
Browse files

chore(activité): supprime l'ancien formatage qui était utile pour les emails (#1391)

parent 7aa649c1
Branches
Tags
No related merge requests found
import { ITitreActivite, IContenu } from '../../types'
import { DeepReadonly, isNotNullNorUndefined, isNotNullNorUndefinedNorEmpty } from 'camino-common/src/typescript-tools'
import { Section } from 'camino-common/src/static/titresTypes_demarchesTypes_etapesTypes/sections'
import { Unites } from 'camino-common/src/static/unites'
// TODO 2023-09-19 à supprimer quand on arrêtera d’envoyer le contenu par email
const titreActiviteContenuFormat = (sections: DeepReadonly<Section[]>, contenu: IContenu) => {
const section = sections.find(s => s.id === 'substancesFiscales')
if (isNotNullNorUndefinedNorEmpty(section?.elements) && isNotNullNorUndefined(contenu?.substancesFiscales)) {
const substancesFiscalesIds = Object.keys(contenu?.substancesFiscales)
substancesFiscalesIds.forEach(id => {
const element = section!.elements!.find(e => e.id === id)
if (element && (element.type === 'integer' || element.type === 'number') && element.uniteId) {
const ratio = Unites[element.uniteId].referenceUniteRatio
if (isNotNullNorUndefined(ratio) && ratio > 0) {
contenu!.substancesFiscales[id] = (contenu!.substancesFiscales[id] as number) / ratio
}
}
})
}
return contenu
}
export const titreActiviteFormat = (ta: ITitreActivite) => {
if (ta.contenu) {
ta.contenu = titreActiviteContenuFormat(ta.sections, ta.contenu)
}
return ta
}
import { ITitre, ITitreDemarche } from '../../types'
import { titreActiviteFormat } from './titres-activites'
import { titreDemarcheFormat } from './titres-demarches'
import { titreFormatFields } from './_fields'
import { AdministrationId } from 'camino-common/src/static/administrations'
......@@ -40,7 +39,7 @@ export const titreFormat = (t: ITitre, fields: FieldsTitre = titreFormatFields):
t.activites = t.activites.map(ta => {
ta.titre = t
return titreActiviteFormat(ta)
return ta
})
}
......
......@@ -4,7 +4,6 @@ import { Context, ITitre, ITitreActiviteColonneId, IUtilisateur } from '../../..
import { ACTIVITES_STATUTS_IDS } from 'camino-common/src/static/activitesStatuts'
import { titreActiviteEmailsSend } from './_titre-activite'
import { titreActiviteFormat } from '../../_format/titres-activites'
import { fieldsBuild } from './_fields-build'
......@@ -28,6 +27,7 @@ import {
} from '../../rest/activites.queries'
import { ActiviteId } from 'camino-common/src/activite'
import { getSectionsWithValue } from 'camino-common/src/static/titresTypes_demarchesTypes_etapesTypes/sections'
import TitresActivites from '../../../database/models/titres-activites'
/**
* Retourne les activités
......@@ -86,10 +86,10 @@ export const activites = async (
},
{ user }: Context,
info: GraphQLResolveInfo
) => {
): Promise<{ elements: TitresActivites[]; page?: number; intervalle?: number; ordre?: 'asc' | 'desc' | null | undefined; colonne?: ITitreActiviteColonneId | null | undefined; total: number }> => {
try {
if (!canReadActivites(user)) {
return []
return { elements: [], total: 0 }
}
const fields = fieldsBuild(info)
......@@ -144,7 +144,7 @@ export const activites = async (
if (!titresActivites.length) return { elements: [], total: 0 }
return {
elements: titresActivites.map(ta => titreActiviteFormat(ta)),
elements: titresActivites,
page,
intervalle,
ordre,
......@@ -158,7 +158,7 @@ export const activites = async (
}
}
export const activiteDeposer = async ({ id }: { id: ActiviteId }, { user, pool }: Context, info: GraphQLResolveInfo) => {
export const activiteDeposer = async ({ id }: { id: ActiviteId }, { user, pool }: Context, info: GraphQLResolveInfo): Promise<TitresActivites> => {
try {
if (!user) throw new Error('droits insuffisants')
......@@ -185,7 +185,6 @@ export const activiteDeposer = async ({ id }: { id: ActiviteId }, { user, pool }
const activiteRes = await titreActiviteGet(activite.id, { fields }, user)
if (!activiteRes) throw new Error("l'activité n'existe pas")
const activiteFormated = titreActiviteFormat(activiteRes)
const titre = (await titreGet(
activiteRes.titreId,
......@@ -227,10 +226,10 @@ export const activiteDeposer = async ({ id }: { id: ActiviteId }, { user, pool }
const filteredAdministrationId = administrations.filter(onlyUnique)
if (isNonEmptyArray(filteredAdministrationId)) {
await titreActiviteEmailsSend(activiteFormated, activiteFormated.titre!.nom, user, utilisateurs, filteredAdministrationId, pool)
await titreActiviteEmailsSend(activiteRes, activiteRes.titre!.nom, user, utilisateurs, filteredAdministrationId, pool)
}
return activiteFormated
return activiteRes
} catch (e) {
console.error(e)
......
......@@ -5,7 +5,6 @@ import { entreprisesGet } from '../../database/queries/entreprises'
import { titreFormat, titresFormat } from '../_format/titres'
import { titreDemarcheFormat } from '../_format/titres-demarches'
import { titreActiviteFormat } from '../_format/titres-activites'
import { tableConvert } from './_convert'
import { fileNameCreate } from '../../tools/file-name-create'
......@@ -54,7 +53,7 @@ interface ITitreInput {
export const titre =
(pool: Pool) =>
async ({ query: { format = 'geojson' }, params: { id } }: ITitreInput, user: User) => {
async ({ query: { format = 'geojson' }, params: { id } }: ITitreInput, user: User): Promise<{ nom: string; format: DownloadFormat; contenu: string } | null> => {
formatCheck(['geojson'], format)
const titre = await titreGet(id!, { fields: titreFields }, user)
......@@ -99,7 +98,7 @@ export const titre =
export const titres =
(pool: Pool) =>
async ({ query }: { query: GenericQueryInput<typeof titresValidator> }, user: User) => {
async ({ query }: { query: GenericQueryInput<typeof titresValidator> }, user: User): Promise<null | { nom: string; format: DownloadFormat; contenu: string }> => {
const params = titresValidator.parse(query)
const titres = await titresGet(
......@@ -152,14 +151,14 @@ export const titres =
export const travaux =
(pool: Pool) =>
async ({ query }: { query: GenericQueryInput<typeof demarchesValidator> }, user: User) => {
async ({ query }: { query: GenericQueryInput<typeof demarchesValidator> }, user: User): Promise<null | { nom: string; format: DownloadFormat; contenu: string }> => {
const funcDemarche = demarches(pool)
return funcDemarche({ query: { ...query, travaux: 'true' } }, user)
}
export const demarches =
(pool: Pool) =>
async ({ query }: { query: GenericQueryInput<typeof demarchesValidator> }, user: User) => {
async ({ query }: { query: GenericQueryInput<typeof demarchesValidator> }, user: User): Promise<null | { nom: string; format: DownloadFormat; contenu: string }> => {
const params = demarchesValidator.parse(query)
const titresDemarches = await titresDemarchesGet(
......@@ -217,7 +216,7 @@ export const demarches =
export const activites =
(pool: Pool) =>
async ({ query }: { query: GenericQueryInput<typeof activitesValidator> }, user: User) => {
async ({ query }: { query: GenericQueryInput<typeof activitesValidator> }, user: User): Promise<null | { nom: string; format: DownloadFormat; contenu: string }> => {
const params = activitesValidator.parse(query)
const titresActivites = await titresActivitesGet(
......@@ -243,15 +242,13 @@ export const activites =
user
)
const titresActivitesFormatted = titresActivites.map(a => titreActiviteFormat(a))
let contenu
switch (params.format) {
case 'csv':
case 'xlsx':
case 'ods':
contenu = tableConvert('activites', await titresActivitesFormatTable(pool, titresActivitesFormatted), params.format)
contenu = tableConvert('activites', await titresActivitesFormatTable(pool, titresActivites), params.format)
break
default:
exhaustiveCheck(params.format)
......@@ -268,7 +265,7 @@ export const activites =
export const entreprises =
(_pool: Pool) =>
async ({ query }: { query: GenericQueryInput<typeof entreprisesValidator> }, user: User) => {
async ({ query }: { query: GenericQueryInput<typeof entreprisesValidator> }, user: User): Promise<null | { nom: string; format: DownloadFormat; contenu: string }> => {
const params = entreprisesValidator.parse(query)
const entreprises = await entreprisesGet({ noms: params.nomsEntreprise }, {}, user)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment