Skip to content

Commit

Permalink
feat(structure): add type of 'asso'
Browse files Browse the repository at this point in the history
  • Loading branch information
pYassine committed Jan 10, 2024
1 parent b0287e3 commit e69eb4b
Show file tree
Hide file tree
Showing 27 changed files with 216 additions and 24 deletions.
4 changes: 2 additions & 2 deletions .talismanrc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
fileignoreconfig:
- filename: _scripts/db/dumps/domifa_test.postgres.restore-data-only.sql
checksum: 5a6dd4fe960a2aaaf31ac459b0e88e54b9b972e2cc2ba0d625e5c0de52155b1a
checksum: 66f876156591123c240fbc85a80be6d5d8b47e44534e9e1b500f7c1dc1236ed6
- filename: _scripts/db/dumps/domifa_test.postgres.truncate-restore-data-only.sql
checksum: 0241639f53b87b4d8ab0e8ab8a733f7460fac1dac4dc2b05f0c9f7ac3bd169f0
checksum: a2b8def2ce8fe7a42db556fc1cd480f96a55819f11cbd473804051ef74f1e2be
- filename: packages/backend/src/_common/decorators/IsValidPasswordDecorator.ts
checksum: f0d4b3cd2e6e2d9b1e0271c34d64adacf87a5f1e7a505402a20869962543608d
- filename: packages/backend/src/_migrations/1699910877010-auto-migration.ts
Expand Down
Binary file modified _scripts/db/dumps/domifa_test.postgres.custom.gz
Binary file not shown.
12 changes: 6 additions & 6 deletions _scripts/db/dumps/domifa_test.postgres.restore-data-only.sql
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ COPY public.expired_token (uuid, "createdAt", "updatedAt", version, "userId", "s
-- Data for Name: structure; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.structure (uuid, "createdAt", "updatedAt", version, id, adresse, "adresseCourrier", agrement, capacite, "codePostal", "complementAdresse", departement, region, email, "hardReset", "tokenDelete", import, "registrationDate", "importDate", "lastLogin", nom, options, responsable, "structureType", token, verified, ville, sms, "portailUsager", "timeZone", telephone, "acceptTerms", "filesUpdated", latitude, longitude) FROM stdin;
610966c4-ab91-43c0-88da-483ae23d0af2 2021-02-01 17:12:30.65884+01 2023-09-21 01:07:30.382578+02 10 4 rue de l'import {"actif": false, "ville": "", "adresse": "", "codePostal": ""} 123 \N 44000 44 52 [email protected] \N \N f 2021-02-01 17:12:30.655+01 \N \N Structure de Test d'import {"numeroBoite": false} {"nom": "Test", "prenom": "Import", "fonction": "Testeur"} asso t Nantes {"senderName": "STRUCTURE D", "senderDetails": "STRUCTURE D", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0101010101", "countryCode": "fr"} \N f 47.213973 -1.536923
943d3acc-2f9c-4bb4-9419-4194bbdfd624 2022-03-17 17:25:53.666507+01 2023-09-21 01:07:30.533736+02 37 5 24, avenue Louis PASTEUR {"actif": false, "ville": null, "adresse": null, "codePostal": ""} \N 97300 \N 973 03 ccas-cayenne@yopmail.com \N \N f 2022-03-17 17:25:53.646+01 \N 2022-03-23 CCAS de Cayenne {"numeroBoite": false} {"nom": "Pali", "prenom": "Mauricette", "fonction": "Directrice"} cias t Cayenne {"senderName": "CCAS DE CAY", "senderDetails": "CCAS DE CAY", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} America/Cayenne {"numero": "0101010101", "countryCode": "gf"} \N f 4.943454 -52.324458
1d1ed6f0-7674-474a-908b-d0bd8c6389cb 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.634994+02 6 3 1 rue du test de l'organise agréé \N 1234 80 44000 \N 44 52 [email protected] {"token": "6V0XR2S", "userId": 3} t 2020-11-17 14:34:35.821+01 \N 2021-12-06 Organisme agréé de Test {"numeroBoite": false} {"nom": "Calvez", "prenom": "Simon", "fonction": "Directeur"} asso b8e2e05b767ac984f0f4b8a222062b07268f46265525f98d83e4b518b343 f Nantes {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0506070809", "countryCode": "fr"} \N f 47.218193 -1.561368
e159011b-6648-426d-a772-b3ca4f27a6d5 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.718487+02 4 2 2 rue du test \N \N \N 33600 \N 33 75 [email protected] \N f 2020-11-17 14:32:21.959+01 \N 2020-11-17 CIAS de Test {"numeroBoite": false} {"nom": "Anna", "prenom": "Dupond", "fonction": "PDG"} cias b1ca3193633282c675257f1b05771a7605a4aa1c5ba231b3545564bfa33a f Pessac {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0102030405", "countryCode": "fr"} \N f 44.817602 -0.612957
412f6962-fc6e-4e48-b0a6-a37d6eebbc67 2021-01-26 08:51:53.846157+01 2023-12-18 17:52:44.126503+01 369 1 1 rue de l'océan \N \N \N 92600 \N 92 11 ccas.test@yopmail.com \N f 2020-11-17 14:30:23.692+01 \N 2023-12-18 CCAS de Test {"numeroBoite": false} {"nom": "Jean", "prenom": "Thomson", "fonction": "PDG"} ccas adfbfe24ff6de1f4e7c0011ad05028f5a129ced7f120079d20c4adf21d89 t Asnieres-sur-seine {"senderName": "CCAS DE TES", "senderDetails": "CCAS DE TES", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": true, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0602030405", "countryCode": "fr"} 2023-02-14 18:33:51.265+01 f 48.903759 2.283746
COPY public.structure (uuid, "createdAt", "updatedAt", version, id, adresse, "adresseCourrier", agrement, capacite, "codePostal", "complementAdresse", departement, region, email, "hardReset", "tokenDelete", import, "registrationDate", "importDate", "lastLogin", nom, options, responsable, "structureType", token, verified, ville, sms, "portailUsager", "timeZone", telephone, "acceptTerms", "filesUpdated", latitude, longitude, "organismeType") FROM stdin;
610966c4-ab91-43c0-88da-483ae23d0af2 2021-02-01 17:12:30.65884+01 2023-09-21 01:07:30.382578+02 10 4 rue de l'import {"actif": false, "ville": "", "adresse": "", "codePostal": ""} 123 \N 44000 44 52 [email protected] \N \N f 2021-02-01 17:12:30.655+01 \N \N Structure de Test d'import {"numeroBoite": false} {"nom": "Test", "prenom": "Import", "fonction": "Testeur"} asso t Nantes {"senderName": "STRUCTURE D", "senderDetails": "STRUCTURE D", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0101010101", "countryCode": "fr"} \N f 47.213973 -1.536923 \N
943d3acc-2f9c-4bb4-9419-4194bbdfd624 2022-03-17 17:25:53.666507+01 2023-09-21 01:07:30.533736+02 37 5 24, avenue Louis PASTEUR {"actif": false, "ville": null, "adresse": null, "codePostal": ""} \N 97300 \N 973 03 ccas-cayenne@yopmail.com \N \N f 2022-03-17 17:25:53.646+01 \N 2022-03-23 CCAS de Cayenne {"numeroBoite": false} {"nom": "Pali", "prenom": "Mauricette", "fonction": "Directrice"} cias t Cayenne {"senderName": "CCAS DE CAY", "senderDetails": "CCAS DE CAY", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} America/Cayenne {"numero": "0101010101", "countryCode": "gf"} \N f 4.943454 -52.324458 \N
1d1ed6f0-7674-474a-908b-d0bd8c6389cb 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.634994+02 6 3 1 rue du test de l'organise agréé \N 1234 80 44000 \N 44 52 [email protected] {"token": "6V0XR2S", "userId": 3} t 2020-11-17 14:34:35.821+01 \N 2021-12-06 Organisme agréé de Test {"numeroBoite": false} {"nom": "Calvez", "prenom": "Simon", "fonction": "Directeur"} asso b8e2e05b767ac984f0f4b8a222062b07268f46265525f98d83e4b518b343 f Nantes {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0506070809", "countryCode": "fr"} \N f 47.218193 -1.561368 \N
e159011b-6648-426d-a772-b3ca4f27a6d5 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.718487+02 4 2 2 rue du test \N \N \N 33600 \N 33 75 [email protected] \N f 2020-11-17 14:32:21.959+01 \N 2020-11-17 CIAS de Test {"numeroBoite": false} {"nom": "Anna", "prenom": "Dupond", "fonction": "PDG"} cias b1ca3193633282c675257f1b05771a7605a4aa1c5ba231b3545564bfa33a f Pessac {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0102030405", "countryCode": "fr"} \N f 44.817602 -0.612957 \N
412f6962-fc6e-4e48-b0a6-a37d6eebbc67 2021-01-26 08:51:53.846157+01 2023-12-18 17:52:44.126503+01 369 1 1 rue de l'océan \N \N \N 92600 \N 92 11 ccas.test@yopmail.com \N f 2020-11-17 14:30:23.692+01 \N 2023-12-18 CCAS de Test {"numeroBoite": false} {"nom": "Jean", "prenom": "Thomson", "fonction": "PDG"} ccas adfbfe24ff6de1f4e7c0011ad05028f5a129ced7f120079d20c4adf21d89 t Asnieres-sur-seine {"senderName": "CCAS DE TES", "senderDetails": "CCAS DE TES", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": true, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0602030405", "countryCode": "fr"} 2023-02-14 18:33:51.265+01 f 48.903759 2.283746 \N
\.


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,12 @@ COPY public.expired_token (uuid, "createdAt", "updatedAt", version, "userId", "s
-- Data for Name: structure; Type: TABLE DATA; Schema: public; Owner: -
--

COPY public.structure (uuid, "createdAt", "updatedAt", version, id, adresse, "adresseCourrier", agrement, capacite, "codePostal", "complementAdresse", departement, region, email, "hardReset", "tokenDelete", import, "registrationDate", "importDate", "lastLogin", nom, options, responsable, "structureType", token, verified, ville, sms, "portailUsager", "timeZone", telephone, "acceptTerms", "filesUpdated", latitude, longitude) FROM stdin;
610966c4-ab91-43c0-88da-483ae23d0af2 2021-02-01 17:12:30.65884+01 2023-09-21 01:07:30.382578+02 10 4 rue de l'import {"actif": false, "ville": "", "adresse": "", "codePostal": ""} 123 \N 44000 44 52 [email protected] \N \N f 2021-02-01 17:12:30.655+01 \N \N Structure de Test d'import {"numeroBoite": false} {"nom": "Test", "prenom": "Import", "fonction": "Testeur"} asso t Nantes {"senderName": "STRUCTURE D", "senderDetails": "STRUCTURE D", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0101010101", "countryCode": "fr"} \N f 47.213973 -1.536923
943d3acc-2f9c-4bb4-9419-4194bbdfd624 2022-03-17 17:25:53.666507+01 2023-09-21 01:07:30.533736+02 37 5 24, avenue Louis PASTEUR {"actif": false, "ville": null, "adresse": null, "codePostal": ""} \N 97300 \N 973 03 ccas-cayenne@yopmail.com \N \N f 2022-03-17 17:25:53.646+01 \N 2022-03-23 CCAS de Cayenne {"numeroBoite": false} {"nom": "Pali", "prenom": "Mauricette", "fonction": "Directrice"} cias t Cayenne {"senderName": "CCAS DE CAY", "senderDetails": "CCAS DE CAY", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} America/Cayenne {"numero": "0101010101", "countryCode": "gf"} \N f 4.943454 -52.324458
1d1ed6f0-7674-474a-908b-d0bd8c6389cb 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.634994+02 6 3 1 rue du test de l'organise agréé \N 1234 80 44000 \N 44 52 [email protected] {"token": "6V0XR2S", "userId": 3} t 2020-11-17 14:34:35.821+01 \N 2021-12-06 Organisme agréé de Test {"numeroBoite": false} {"nom": "Calvez", "prenom": "Simon", "fonction": "Directeur"} asso b8e2e05b767ac984f0f4b8a222062b07268f46265525f98d83e4b518b343 f Nantes {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0506070809", "countryCode": "fr"} \N f 47.218193 -1.561368
e159011b-6648-426d-a772-b3ca4f27a6d5 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.718487+02 4 2 2 rue du test \N \N \N 33600 \N 33 75 [email protected] \N f 2020-11-17 14:32:21.959+01 \N 2020-11-17 CIAS de Test {"numeroBoite": false} {"nom": "Anna", "prenom": "Dupond", "fonction": "PDG"} cias b1ca3193633282c675257f1b05771a7605a4aa1c5ba231b3545564bfa33a f Pessac {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0102030405", "countryCode": "fr"} \N f 44.817602 -0.612957
412f6962-fc6e-4e48-b0a6-a37d6eebbc67 2021-01-26 08:51:53.846157+01 2023-12-18 17:52:44.126503+01 369 1 1 rue de l'océan \N \N \N 92600 \N 92 11 ccas.test@yopmail.com \N f 2020-11-17 14:30:23.692+01 \N 2023-12-18 CCAS de Test {"numeroBoite": false} {"nom": "Jean", "prenom": "Thomson", "fonction": "PDG"} ccas adfbfe24ff6de1f4e7c0011ad05028f5a129ced7f120079d20c4adf21d89 t Asnieres-sur-seine {"senderName": "CCAS DE TES", "senderDetails": "CCAS DE TES", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": true, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0602030405", "countryCode": "fr"} 2023-02-14 18:33:51.265+01 f 48.903759 2.283746
COPY public.structure (uuid, "createdAt", "updatedAt", version, id, adresse, "adresseCourrier", agrement, capacite, "codePostal", "complementAdresse", departement, region, email, "hardReset", "tokenDelete", import, "registrationDate", "importDate", "lastLogin", nom, options, responsable, "structureType", token, verified, ville, sms, "portailUsager", "timeZone", telephone, "acceptTerms", "filesUpdated", latitude, longitude, "organismeType") FROM stdin;
610966c4-ab91-43c0-88da-483ae23d0af2 2021-02-01 17:12:30.65884+01 2023-09-21 01:07:30.382578+02 10 4 rue de l'import {"actif": false, "ville": "", "adresse": "", "codePostal": ""} 123 \N 44000 44 52 [email protected] \N \N f 2021-02-01 17:12:30.655+01 \N \N Structure de Test d'import {"numeroBoite": false} {"nom": "Test", "prenom": "Import", "fonction": "Testeur"} asso t Nantes {"senderName": "STRUCTURE D", "senderDetails": "STRUCTURE D", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0101010101", "countryCode": "fr"} \N f 47.213973 -1.536923 \N
943d3acc-2f9c-4bb4-9419-4194bbdfd624 2022-03-17 17:25:53.666507+01 2023-09-21 01:07:30.533736+02 37 5 24, avenue Louis PASTEUR {"actif": false, "ville": null, "adresse": null, "codePostal": ""} \N 97300 \N 973 03 ccas-cayenne@yopmail.com \N \N f 2022-03-17 17:25:53.646+01 \N 2022-03-23 CCAS de Cayenne {"numeroBoite": false} {"nom": "Pali", "prenom": "Mauricette", "fonction": "Directrice"} cias t Cayenne {"senderName": "CCAS DE CAY", "senderDetails": "CCAS DE CAY", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} America/Cayenne {"numero": "0101010101", "countryCode": "gf"} \N f 4.943454 -52.324458 \N
1d1ed6f0-7674-474a-908b-d0bd8c6389cb 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.634994+02 6 3 1 rue du test de l'organise agréé \N 1234 80 44000 \N 44 52 [email protected] {"token": "6V0XR2S", "userId": 3} t 2020-11-17 14:34:35.821+01 \N 2021-12-06 Organisme agréé de Test {"numeroBoite": false} {"nom": "Calvez", "prenom": "Simon", "fonction": "Directeur"} asso b8e2e05b767ac984f0f4b8a222062b07268f46265525f98d83e4b518b343 f Nantes {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0506070809", "countryCode": "fr"} \N f 47.218193 -1.561368 \N
e159011b-6648-426d-a772-b3ca4f27a6d5 2021-01-26 08:51:53.846157+01 2023-09-21 01:07:30.718487+02 4 2 2 rue du test \N \N \N 33600 \N 33 75 [email protected] \N f 2020-11-17 14:32:21.959+01 \N 2020-11-17 CIAS de Test {"numeroBoite": false} {"nom": "Anna", "prenom": "Dupond", "fonction": "PDG"} cias b1ca3193633282c675257f1b05771a7605a4aa1c5ba231b3545564bfa33a f Pessac {"senderName": null, "senderDetails": null, "enabledByDomifa": false, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": false, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0102030405", "countryCode": "fr"} \N f 44.817602 -0.612957 \N
412f6962-fc6e-4e48-b0a6-a37d6eebbc67 2021-01-26 08:51:53.846157+01 2023-12-18 17:52:44.126503+01 369 1 1 rue de l'océan \N \N \N 92600 \N 92 11 ccas.test@yopmail.com \N f 2020-11-17 14:30:23.692+01 \N 2023-12-18 CCAS de Test {"numeroBoite": false} {"nom": "Jean", "prenom": "Thomson", "fonction": "PDG"} ccas adfbfe24ff6de1f4e7c0011ad05028f5a129ced7f120079d20c4adf21d89 t Asnieres-sur-seine {"senderName": "CCAS DE TES", "senderDetails": "CCAS DE TES", "enabledByDomifa": true, "enabledByStructure": false} {"enabledByDomifa": true, "enabledByStructure": true, "usagerLoginUpdateLastInteraction": false} Europe/Paris {"numero": "0602030405", "countryCode": "fr"} 2023-02-14 18:33:51.265+01 f 48.903759 2.283746 \N
\.


Expand Down
1 change: 1 addition & 0 deletions packages/backend/src/_common/mocks/STRUCTURE_MOCK.const.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export const STRUCTURE_MOCK: StructureCommon = {
senderDetails: "",
senderName: "",
},
organismeType: null,
lastLogin: null,
timeZone: "Europe/Paris",
portailUsager: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ export const STRUCTURE_COMMON_ATTRIBUTES: (keyof StructureCommon)[] = [
"departement",
"region",
"capacite",
"organismeType",
"codePostal",
"agrement",
"telephone",
Expand Down
36 changes: 36 additions & 0 deletions packages/backend/src/_migrations/1704842058312-auto-migration.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { MigrationInterface, QueryRunner } from "typeorm";
import { domifaConfig } from "../config";

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

public async up(queryRunner: QueryRunner): Promise<void> {
if (
domifaConfig().envId === "preprod" ||
domifaConfig().envId === "prod" ||
domifaConfig().envId === "local"
) {
await queryRunner.query(
`ALTER TABLE "structure" ADD "organismeType" text`
);
await queryRunner.query(
`ALTER TABLE "usager" ALTER COLUMN "lastInteraction" DROP DEFAULT`
);
await queryRunner.query(
`ALTER TABLE "usager" ALTER COLUMN "options" DROP DEFAULT`
);
}
}

public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "structure" ALTER COLUMN "telephone" SET DEFAULT '{"numero": "", "countryCode": "fr"}'`
);
await queryRunner.query(
`ALTER TABLE "structure" ALTER COLUMN "options" DROP DEFAULT`
);
await queryRunner.query(
`ALTER TABLE "structure" DROP COLUMN "organismeType"`
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ export class StructuresAuthService {
"structureType",
"ville",
"lastLogin",
"organismeType",
"createdAt",
"sms",
"portailUsager",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
StructureType,
Structure,
} from "@domifa/common";
import { StructureOrganismeType } from "@domifa/common";

// https://typeorm.io/#/entities/column-types-for-postgres
@Entity({ name: "structure" })
Expand Down Expand Up @@ -146,6 +147,9 @@ export class StructureTable
@Column({ type: "float", nullable: true })
longitude: number;

@Column({ type: "text", nullable: true })
organismeType: StructureOrganismeType;

@BeforeInsert()
nameToUpperCase() {
this.email = this.email.toLowerCase().trim();
Expand Down
15 changes: 14 additions & 1 deletion packages/backend/src/structures/dto/structure.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
MaxLength,
Min,
MinLength,
ValidateIf,
ValidateNested,
} from "class-validator";
import { StructureAdresseCourrierDto, StructureResponsableDto } from ".";
Expand All @@ -25,7 +26,12 @@ import { TrimOrNullTransform } from "../../_common/decorators";
import { Telephone } from "../../_common/model";
import { TelephoneDto } from "../../_common/dto";
import { ValidationRegexp } from "../../usagers/controllers/import/step2-validate-row";
import { StructureType, STRUCTURE_TYPE_MAP } from "@domifa/common";
import {
StructureType,
STRUCTURE_TYPE_MAP,
STRUCTURE_ORGANISME_TYPE_LABELS,
StructureOrganismeType,
} from "@domifa/common";

export class StructureDto {
@ApiProperty({
Expand Down Expand Up @@ -165,6 +171,13 @@ export class StructureDto {
@IsTimeZone()
public timeZone: TimeZone;

@ValidateIf((o) => {
return o.structureType === "asso";
})
@IsIn(Object.keys(STRUCTURE_ORGANISME_TYPE_LABELS))
@IsNotEmpty()
public organismeType: StructureOrganismeType;

@IsBoolean()
@Equals(true)
readCgu: boolean;
Expand Down
Loading

0 comments on commit e69eb4b

Please sign in to comment.