Skip to content

Commit

Permalink
refactor(structures): add department and region to common
Browse files Browse the repository at this point in the history
  • Loading branch information
pYassine committed Feb 5, 2024
1 parent 0601141 commit e533673
Show file tree
Hide file tree
Showing 23 changed files with 141 additions and 298 deletions.
15 changes: 11 additions & 4 deletions packages/backend/src/_migrations/1707128561611-auto-migration.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
import { MigrationInterface, QueryRunner } from "typeorm";
import { domifaConfig } from "../config";

export class CreateFieldsInStructureMigration1707128561611
implements MigrationInterface
{
name = "CreateFieldsInStructureMigration1707128561611";

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "structure" ADD "departmentName" text`
);
await queryRunner.query(`ALTER TABLE "structure" ADD "regionName" text`);
if (
domifaConfig().envId === "prod" ||
domifaConfig().envId === "preprod" ||
domifaConfig().envId === "local"
) {
await queryRunner.query(
`ALTER TABLE "structure" ADD "departmentName" text`
);
await queryRunner.query(`ALTER TABLE "structure" ADD "regionName" text`);
}
}

public async down(queryRunner: QueryRunner): Promise<void> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,27 @@
import { MigrationInterface, QueryRunner } from "typeorm";
import { structureRepository } from "../database";
import { DEPARTEMENTS_MAP } from "@domifa/common";
import { domifaConfig } from "../config";

export class ManualMigration1707128568215 implements MigrationInterface {
public async up(_queryRunner: QueryRunner): Promise<void> {
for (const departmentCode of Object.keys(DEPARTEMENTS_MAP)) {
console.log("Update structures for department: " + departmentCode);
await structureRepository.update(
{
departement: departmentCode,
},
{
departmentName: DEPARTEMENTS_MAP[departmentCode].departmentName,
regionName: DEPARTEMENTS_MAP[departmentCode].regionName,
}
);
if (
domifaConfig().envId === "prod" ||
domifaConfig().envId === "preprod" ||
domifaConfig().envId === "local"
) {
for (const departmentCode of Object.keys(DEPARTEMENTS_MAP)) {
console.log("Update structures for department: " + departmentCode);
await structureRepository.update(
{
departement: departmentCode,
},
{
departmentName: DEPARTEMENTS_MAP[departmentCode].departmentName,
regionName: DEPARTEMENTS_MAP[departmentCode].regionName,
}
);
}
}
}

Expand Down
13 changes: 7 additions & 6 deletions packages/backend/src/open-data-places/load-data-inclusion.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,12 @@ import {
} from "./interfaces";
import { OpenDataPlaceTable } from "../database/entities/open-data-place";
import { openDataPlaceRepository } from "../database/services/place";
import { departementHelper } from "../structures/services";

import { appLogger, cleanAddress, cleanCity } from "../util";
import {
getDepartementFromCodePostal,
getRegionCodeFromDepartement,
} from "@domifa/common";

let page = 1;
let nbResults = 0;
Expand Down Expand Up @@ -65,9 +69,7 @@ const getFromDataInclusion = async (structureType: "CCAS" | "CIAS") => {
.getOne();

if (!dataInclusionPlace) {
const departement = departementHelper.getDepartementFromCodePostal(
place.code_postal
);
const departement = getDepartementFromCodePostal(place.code_postal);

dataInclusionPlace = await openDataPlaceRepository.save(
new OpenDataPlaceTable({
Expand All @@ -76,8 +78,7 @@ const getFromDataInclusion = async (structureType: "CCAS" | "CIAS") => {
codePostal: place.code_postal,
ville: cleanCity(place?.commune),
departement,
region:
departementHelper.getRegionCodeFromDepartement(departement),
region: getRegionCodeFromDepartement(departement),
software: "other",
latitude: place?.latitude,
longitude: place?.longitude,
Expand Down
9 changes: 6 additions & 3 deletions packages/backend/src/open-data-places/load-soliguide.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@ import axios from "axios";
import { domifaConfig } from "../config";
import { OpenDataPlaceTable } from "../database/entities/open-data-place";
import { SoliguidePlace } from "./interfaces/SoliguidePlace.interface";
import { departementHelper } from "../structures/services";
import { openDataPlaceRepository } from "../database/services/place/open-data-place-repository";
import { appLogger, cleanAddress, cleanCity } from "../util";

import { OpenDataPlace } from "./interfaces/OpenDataPlace.interface";
import {
getDepartementFromCodePostal,
getRegionCodeFromDepartement,
} from "@domifa/common";

let page = 1;
let nbResults = 0;
Expand Down Expand Up @@ -58,7 +61,7 @@ const getFromSoliguide = async () => {
});

if (!soliguidePlace) {
const departement = departementHelper.getDepartementFromCodePostal(
const departement = getDepartementFromCodePostal(
place.position.codePostal
);

Expand All @@ -69,7 +72,7 @@ const getFromSoliguide = async () => {
codePostal: place.position.codePostal,
ville: cleanCity(place?.position?.ville),
departement,
region: departementHelper.getRegionCodeFromDepartement(departement),
region: getRegionCodeFromDepartement(departement),
software: "other",
latitude: place.position.location.coordinates[1],
longitude: place.position.location.coordinates[0],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,14 @@ import { StructuresService } from "../services/structures.service";
import { AppLogsService } from "../../modules/app-logs/app-logs.service";

import { ParseHardResetTokenPipe } from "../../_common/decorators";
import { departementHelper } from "../services";

import { faker } from "@faker-js/faker";
import { AppUserGuard } from "../../auth/guards";
import { DEPARTEMENTS_MAP } from "@domifa/common";
import {
DEPARTEMENTS_MAP,
getDepartementFromCodePostal,
getRegionCodeFromDepartement,
} from "@domifa/common";

@Controller("structures")
@UseGuards(AuthGuard("jwt"), AppUserGuard)
Expand Down Expand Up @@ -93,7 +97,7 @@ export class StructuresController {
delete structureDto.readCgu;
delete structureDto.acceptCgu;

structureDto.departement = departementHelper.getDepartementFromCodePostal(
structureDto.departement = getDepartementFromCodePostal(
structureDto.codePostal
);

Expand All @@ -102,7 +106,7 @@ export class StructuresController {
structureDto.regionName =
DEPARTEMENTS_MAP[structureDto.departement].regionName;

structureDto.region = departementHelper.getRegionCodeFromDepartement(
structureDto.region = getRegionCodeFromDepartement(
structureDto.departement
);

Expand Down

This file was deleted.

1 change: 0 additions & 1 deletion packages/backend/src/structures/services/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
//@index('./*.service.ts', f => `export * from '${f.path}'`)
export * from "./departement-helper.service";
export * from "./structureCreator.service";
export * from "./structure-deletor.service";
export * from "./structureHardReset.service";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@ import { newStructureEmailSender } from "../../mails/services/templates-renderer
import { UserDto } from "../../users/dto/user.dto";
import { userStructureCreator } from "../../users/services/user-structure-creator.service";
import { appLogger } from "../../util/AppLogger.service";

import { departementHelper } from "./departement-helper.service";
import { StructureDto } from "../dto/structure.dto";
import { generateSender } from "../../sms/services/generators";
import { getLocation } from "./location.service";
import { DEPARTEMENTS_MAP, Structure, StructureCommon } from "@domifa/common";
import {
DEPARTEMENTS_MAP,
Structure,
StructureCommon,
getDepartementFromCodePostal,
getRegionCodeFromDepartement,
} from "@domifa/common";

export const structureCreatorService = {
checkStructureCreateArgs,
Expand All @@ -26,10 +30,8 @@ async function checkStructureCreateArgs(
structureDto: StructureDto
): Promise<StructureDto> {
try {
const departement = departementHelper.getDepartementFromCodePostal(
structureDto.codePostal
);
departementHelper.getRegionCodeFromDepartement(departement);
const departement = getDepartementFromCodePostal(structureDto.codePostal);
getRegionCodeFromDepartement(departement);
} catch (err) {
appLogger.warn(
`[StructuresService] error validating postal code "${structureDto.codePostal}"`
Expand Down Expand Up @@ -128,11 +130,11 @@ async function createStructure(structureDto: StructureDto) {
createdStructure.registrationDate = new Date();
createdStructure.token = crypto.randomBytes(30).toString("hex");

createdStructure.departement = departementHelper.getDepartementFromCodePostal(
createdStructure.departement = getDepartementFromCodePostal(
createdStructure.codePostal
);

createdStructure.region = departementHelper.getRegionCodeFromDepartement(
createdStructure.region = getRegionCodeFromDepartement(
createdStructure.departement
);

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ const structureDto: StructureDto = {
acceptCgu: true,
readCgu: true,
timeZone: "Europe/Paris",
departmentName: "",
regionName: "",
};

const res = {
Expand Down
Loading

0 comments on commit e533673

Please sign in to comment.