Skip to content

Commit

Permalink
ajout log maj profil et voeux
Browse files Browse the repository at this point in the history
  • Loading branch information
Numero7 committed Jan 23, 2025
1 parent 26a95f7 commit 8296f39
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
10 changes: 8 additions & 2 deletions app/front/src/configuration/dépendances/dépendances.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,17 @@ export class Dépendances {
);

// Élève
this.mettreÀJourProfilÉlèveUseCase = new MettreÀJourProfilÉlèveUseCase(this._élèveRepository);
this.mettreÀJourProfilÉlèveUseCase = new MettreÀJourProfilÉlèveUseCase(
this._élèveRepository,
this.analyticsRepository,
);
this.récupérerProfilÉlèveUseCase = new RécupérerÉlèveUseCase(this._élèveRepository);
this.associerCompteParcourSupÉlèveUseCase = new AssocierCompteParcourSupÉlèveUseCase(this._élèveRepository);
this.mettreÀJourSpécialitésÉlèveUseCase = new MettreÀJourSpécialitésÉlèveUseCase(this._élèveRepository);
this.mettreÀJourVoeuxÉlèveUseCase = new MettreÀJourVoeuxÉlèveUseCase(this._élèveRepository);
this.mettreÀJourVoeuxÉlèveUseCase = new MettreÀJourVoeuxÉlèveUseCase(
this._élèveRepository,
this.analyticsRepository,
);
this.mettreÀJourCommunesÉlèveUseCase = new MettreÀJourCommunesÉlèveUseCase(this._élèveRepository);
this.mettreÀJourFormationsÉlèveUseCase = new MettreÀJourFormationsÉlèveUseCase(
this._élèveRepository,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
import { type Élève } from "@/features/élève/domain/élève.interface";
import { type ÉlèveRepository } from "@/features/élève/infrastructure/gateway/élèveRepository.interface";
import { AnalyticsRepository } from "@/services/analytics/analytics.interface";

export class MettreÀJourProfilÉlèveUseCase {
public constructor(private readonly _élèveRepository: ÉlèveRepository) {}
public constructor(
private readonly _élèveRepository: ÉlèveRepository,
private readonly _analytics: AnalyticsRepository,
) {}

public async run(
profilÉlève: Élève,
changementsProfilÉlève: Partial<
Pick<Élève, "situation" | "classe" | "bac" | "duréeÉtudesPrévue" | "alternance" | "moyenneGénérale">
>,
): Promise<Élève | Error> {
this._analytics.envoyerÉvènement("Profil", "Mise à jour", "");

return await this._élèveRepository.mettreÀJourProfil({
...profilÉlève,
...changementsProfilÉlève,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
import { type Élève, VoeuÉlève } from "@/features/élève/domain/élève.interface";
import { type ÉlèveRepository } from "@/features/élève/infrastructure/gateway/élèveRepository.interface";
import { AnalyticsRepository } from "@/services/analytics/analytics.interface";

export class MettreÀJourVoeuxÉlèveUseCase {
public constructor(private readonly _élèveRepository: ÉlèveRepository) {}
public constructor(
private readonly _élèveRepository: ÉlèveRepository,
private readonly _analytics: AnalyticsRepository,
) {}

public async run(élève: Élève, idsVoeuxÀModifier: VoeuÉlève["id"][]): Promise<Élève | Error> {
const voeux = new Map(élève.voeuxFavoris?.map((voeu) => [voeu.id, voeu]));

for (const idVoeu of idsVoeuxÀModifier) {
if (voeux.has(idVoeu)) {
this._analytics.envoyerÉvènement("Voeux favoris", "Supprimer", idVoeu);
voeux.delete(idVoeu);
} else {
this._analytics.envoyerÉvènement("Voeux favoris", "Ajouter", idVoeu);
voeux.set(idVoeu, { id: idVoeu, estParcoursup: false });
}
}
Expand Down

0 comments on commit 8296f39

Please sign in to comment.