Skip to content

Commit

Permalink
fix(stats): delete deprecated functions
Browse files Browse the repository at this point in the history
  • Loading branch information
pYassine committed Feb 18, 2024
1 parent ec798d3 commit 4ed769f
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 368 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ import {
UsagerRdv,
UsagerTypeDom,
} from "@domifa/common";
import { UsagerHistoryImport } from "./UsagerHistoryImport.type";

import { UsagerHistoryStateCreationEvent } from "./UsagerHistoryStateCreationEvent.type";

export interface UsagerHistoryStates extends AppEntity {
usagerUUID: string; // unique
usagerRef: number; // unique par structure
structureId: number;
import?: UsagerHistoryImport;

migrated: boolean;
etapeDemande: number;
typeDom: UsagerTypeDom;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export class MigrateStatsMigration1706184265892 implements MigrationInterface {

for (const history of histories) {
const historiesToPush = [];
let lastHistory;

for (const state of history.states) {
if (!state?.createdAt || !state?.historyBeginDate) {
console.log({
Expand Down Expand Up @@ -75,20 +75,9 @@ export class MigrateStatsMigration1706184265892 implements MigrationInterface {
historyEndDate: state.historyEndDate,
isActive: state.isActive,
};

if (
JSON.stringify(newHistory) !== JSON.stringify(lastHistory) ||
!lastHistory
) {
lastHistory = newHistory;
newHistory.createdAt = state?.createdAt ?? state.historyBeginDate;
historiesToPush.push(new UsagerHistoryStatesTable(newHistory));
} else {
console.table({ newHistory, lastHistory });
throw new Error("");
}
newHistory.createdAt = state?.createdAt ?? state.historyBeginDate;
historiesToPush.push(new UsagerHistoryStatesTable(newHistory));
}

await usagerHistoryStatesRepository.save(historiesToPush);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { usagerHistoryStatesRepository } from "./../../../../database/services/usager/usagerHistoryStatesRepository.service";
import { ImportProcessTracker } from "../ImportProcessTracker.type";
import { UsagersImportUsager } from "../step2-validate-row";
import { usagersImportBuilder } from "./usagersImportBuilder.service";
Expand All @@ -6,11 +7,10 @@ import {
UsagerTable,
usagerRepository,
usagerEntretienRepository,
usagerHistoryRepository,
UsagerEntretienTable,
} from "../../../../database";
import { UserStructure } from "../../../../_common/model";
import { usagersCreator, usagerHistoryStateManager } from "../../../services";
import { usagersCreator } from "../../../services";
import { UsagerHistoryStateService } from "../../../services/usagerHistoryState.service";
import { Injectable } from "@nestjs/common";

Expand Down Expand Up @@ -60,7 +60,6 @@ export class ImportCreatorService {

for (let i = 0; i < usagersToPersist.length; i += 1000) {
const nextUsagersToCreate = usagersToPersist.slice(i, i + 1000);

const nextEntretienToSave = nextUsagersToCreate.map((usager) => {
return new UsagerEntretienTable({
...usager.entretien,
Expand All @@ -69,34 +68,22 @@ export class ImportCreatorService {
structureId: usager.structureId,
});
});
await usagerRepository.save(nextUsagersToCreate);
await usagerEntretienRepository.save(nextEntretienToSave);

for await (const usager of nextUsagersToCreate) {
await this.usagerHistoryStateService.buildState({
const historiesToSave = nextUsagersToCreate.map((usager) => {
return this.usagerHistoryStateService.createState({
usager,
createdAt: usager.decision.dateDecision,
createdEvent: "new-decision",
historyBeginDate: usager.decision.dateDebut,
isActive: usager.decision.statut === "VALIDE",
});
}

// @deprecated
const nextUsagersHistoryToCreate = nextUsagersToCreate.map((usager) =>
usagerHistoryStateManager.buildInitialHistoryState({
isImport: true,
usager,
createdAt: usager.decision.dateDecision,
createdEvent: "new-decision",
historyBeginDate: usager.decision.dateDebut,
})
);

await usagerRepository.save(nextUsagersToCreate);

await usagerEntretienRepository.save(nextEntretienToSave);
});

// @deprecated
await usagerHistoryRepository.save(nextUsagersHistoryToCreate);
await usagerHistoryStatesRepository.save(historiesToSave);
}

processTracker.persist.end = new Date();
processTracker.persist.duration =
(processTracker.persist.end.getTime() -
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
UserStructureAuthenticated,
} from "../../_common/model";
import { CheckDuplicateUsagerRefDto, DecisionDto } from "../dto";
import { UsagersService, usagerHistoryStateManager } from "../services";
import { UsagersService } from "../services";
import {
AllowUserStructureRoles,
CurrentUser,
Expand Down Expand Up @@ -130,13 +130,6 @@ export class UsagersDecisionController {

await this.usagerHistoryStateService.deleteHistoryState(usager);

// Delete last decision
// @deprecated
await usagerHistoryStateManager.removeLastDecisionFromHistory({
usager,
removedDecisionUUID: usager.decision.uuid,
});

usager.etapeDemande =
usager.decision.statut === "INSTRUCTION"
? ETAPE_ETAT_CIVIL
Expand Down
18 changes: 1 addition & 17 deletions packages/backend/src/usagers/controllers/usagers.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,7 @@ import {
UpdatePortailUsagerOptionsDto,
} from "../dto";
import { SearchUsagerDto } from "../dto/search-usager.dto";
import {
deleteUsagerFolder,
usagerHistoryStateManager,
UsagersService,
} from "../services";
import { deleteUsagerFolder, UsagersService } from "../services";
import { AppLogsService } from "../../modules/app-logs/app-logs.service";
import { generateCerfaData } from "../services/cerfa";

Expand Down Expand Up @@ -201,12 +197,6 @@ export class UsagersController {
historyBeginDate,
});

// @deprecated
await usagerHistoryStateManager.updateHistoryStateWithoutDecision({
usager: currentUsager,
createdEvent: "update-usager",
});

return currentUsager;
}

Expand Down Expand Up @@ -262,12 +252,6 @@ export class UsagersController {
historyBeginDate,
});

// @deprecated
await usagerHistoryStateManager.updateHistoryStateWithoutDecision({
usager,
createdEvent: "update-entretien",
});

return usager;
}

Expand Down
1 change: 0 additions & 1 deletion packages/backend/src/usagers/services/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// @index('./*service.ts', f => `export * from '${f.path}'`)
export * from "./dataCleanerForStats.service";
export * from "./deleteUsagerFolder.service";
export * from "./usagerHistoryStateManager.service";
export * from "./usagerOptionsHistory.service";
export * from "./usagers.service";
export * from "./usagersCreator.service";
Expand Down
54 changes: 40 additions & 14 deletions packages/backend/src/usagers/services/usagerHistoryState.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,21 @@ import {
getAyantsDroitForStats,
} from "./dataCleanerForStats.service";
import { UsagerHistoryStatesTable } from "../../database/entities/usager/UsagerHistoryStatesTable.typeorm";
import { getHistoryBeginDate } from ".";

import { usagerHistoryStatesRepository } from "../../database";
import { IsNull } from "typeorm";
import { getHistoryBeginDate } from "./usagerHistoryStateManager.service";

@Injectable()
export class UsagerHistoryStateService {
async deleteHistoryState(usager: Pick<Usager, "uuid">): Promise<void> {
// Delete last entry
await usagerHistoryStatesRepository.delete({
usagerUUID: usager.uuid,
historyEndDate: IsNull(),
});
async deleteHistoryState(
usager: Pick<Usager, "uuid" | "decision">
): Promise<void> {
await usagerHistoryStatesRepository
.createQueryBuilder()
.delete()
.where(`decision->>'uuid' = $1`, [usager.decision.uuid])
.execute();

// Get last entry
const previousState = await this.getLastHistoryState(usager);
Expand All @@ -45,9 +48,10 @@ export class UsagerHistoryStateService {
createdEvent: UsagerHistoryStateCreationEvent;
historyBeginDate: Date;
}): Promise<UsagerHistoryStates> {
const previousState = await this.getLastHistoryState(usager);
let isActive = usager.decision.statut === "VALIDE";

const previousState = await this.getLastHistoryState(usager);

if (previousState) {
// Update last decision
await usagerHistoryStatesRepository.update(
Expand All @@ -67,6 +71,33 @@ export class UsagerHistoryStateService {
isActive);
}

const state = this.createState({
usager,
createdAt,
createdEvent,
historyBeginDate,
isActive,
});

// Update previous states
await usagerHistoryStatesRepository.save(state);

return state;
}

public createState({
usager,
createdAt,
createdEvent,
historyBeginDate,
isActive,
}: {
usager: Usager;
createdAt: Date;
createdEvent: UsagerHistoryStateCreationEvent;
historyBeginDate: Date;
isActive: boolean;
}): UsagerHistoryStates {
const decision: Partial<UsagerDecision> = getDecisionForStats(
usager.decision
);
Expand All @@ -83,7 +114,7 @@ export class UsagerHistoryStateService {
typeDom = "PREMIERE_DOM";
}

const state: UsagerHistoryStates = new UsagerHistoryStatesTable({
return new UsagerHistoryStatesTable({
usagerRef: usager.ref,
usagerUUID: usager.uuid,
structureId: usager.structureId,
Expand All @@ -100,11 +131,6 @@ export class UsagerHistoryStateService {
rdv: { dateRdv: usager?.rdv?.dateRdv },
migrated: false,
});

// Update previous states
await usagerHistoryStatesRepository.save(state);

return state;
}

private async getLastHistoryState(usager: Pick<Usager, "uuid">) {
Expand Down
Loading

0 comments on commit 4ed769f

Please sign in to comment.