Skip to content

Commit

Permalink
Implémente les méthodes d'adaptateur permettant de sauvegarder le `ha…
Browse files Browse the repository at this point in the history
…sh` du SIRET d'un service
  • Loading branch information
ThibaudMZN committed Nov 7, 2024
1 parent 686b513 commit b3a9b92
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 13 deletions.
29 changes: 22 additions & 7 deletions src/adaptateurs/adaptateurPersistanceMemoire.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,18 @@ const nouvelAdaptateur = (
donnees[nomTable] = donnees[nomTable].filter((e) => e.id !== id);
};

const ajouteService = async (id, donneesService, nomServiceHash) => {
donnees.services.push({ id, donnees: donneesService, nomServiceHash });
const ajouteService = async (
id,
donneesService,
nomServiceHash,
siretHash
) => {
donnees.services.push({
id,
donnees: donneesService,
nomServiceHash,
siretHash,
});
};

const ajouteUtilisateur = async (id, donneesUtilisateur, emailHash) => {
Expand Down Expand Up @@ -72,9 +82,14 @@ const nouvelAdaptateur = (
);
};

const metsAJourService = async (id, donneesService, nomServiceHash) => {
const metsAJourService = async (
id,
donneesService,
nomServiceHash,
siretHash
) => {
const s = await service(id);
Object.assign(s, { nomServiceHash, donnees: donneesService });
Object.assign(s, { nomServiceHash, siretHash, donnees: donneesService });
};

const sauvegardeAutorisation = async (id, donneesAutorisation) => {
Expand All @@ -84,11 +99,11 @@ const nouvelAdaptateur = (
else Object.assign(dejaConnue, { ...donneesAutorisation });
};

const sauvegardeService = (id, donneesService, nomServiceHash) => {
const sauvegardeService = (id, donneesService, nomServiceHash, siretHash) => {
const dejaConnu = donnees.services.find((s) => s.id === id) !== undefined;
return dejaConnu
? metsAJourService(id, donneesService, nomServiceHash)
: ajouteService(id, donneesService, nomServiceHash);
? metsAJourService(id, donneesService, nomServiceHash, siretHash)
: ajouteService(id, donneesService, nomServiceHash, siretHash);
};

const supprimeService = (...params) =>
Expand Down
18 changes: 12 additions & 6 deletions src/adaptateurs/adaptateurPostgres.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,13 @@ const nouvelAdaptateur = (env) => {
const supprimeEnregistrement = (nomTable, id) =>
knex(nomTable).where({ id }).del();

const ajouteService = async (id, donnees, nomServiceHash) =>
knex('services').insert({ id, donnees, nom_service_hash: nomServiceHash });
const ajouteService = async (id, donnees, nomServiceHash, siretHash) =>
knex('services').insert({
id,
donnees,
nom_service_hash: nomServiceHash,
siret_hash: siretHash,
});

const ajouteUtilisateur = (id, donnees, emailHash) =>
knex('utilisateurs').insert({
Expand Down Expand Up @@ -177,14 +182,15 @@ const nouvelAdaptateur = (env) => {
return avecPMapPourChaqueElement(Promise.resolve(ids), service);
};

const metsAJourService = (id, donnees, nomServiceHash) =>
const metsAJourService = (id, donnees, nomServiceHash, siretHash) =>
knex('services')
.where({ id })
.first()
.then(() =>
knex('services').where({ id }).update({
donnees,
nom_service_hash: nomServiceHash,
siret_hash: siretHash,
})
);

Expand Down Expand Up @@ -278,7 +284,7 @@ const nouvelAdaptateur = (env) => {
.whereRaw("(donnees->>'estProprietaire')::boolean=true")
.then(([{ count }]) => parseInt(count, 10));

const sauvegardeService = (id, donneesService, nomServiceHash) => {
const sauvegardeService = (id, donneesService, nomServiceHash, siretHash) => {
const testExistence = knex('services')
.where('id', id)
.select({ id: 'id' })
Expand All @@ -287,8 +293,8 @@ const nouvelAdaptateur = (env) => {

return testExistence.then((dejaConnu) =>
dejaConnu
? metsAJourService(id, donneesService, nomServiceHash)
: ajouteService(id, donneesService, nomServiceHash)
? metsAJourService(id, donneesService, nomServiceHash, siretHash)
: ajouteService(id, donneesService, nomServiceHash, siretHash)
);
};

Expand Down

0 comments on commit b3a9b92

Please sign in to comment.