Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.

Commit 3eb010a

Browse files
arthurlbrjcMzem
authored andcommitted
Agenda jeune par période pour conseiller (#1715)
1 parent ad6f6fe commit 3eb010a

File tree

64 files changed

+440
-954
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+440
-954
lines changed

src/application/authorizers/action-authorizer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export class ActionAuthorizer {
3131
return emptySuccess()
3232
}
3333
if (
34-
utilisateur.type === Authentification.Type.CONSEILLER &&
34+
Authentification.estConseiller(utilisateur.type) &&
3535
utilisateur.id === conseillerEtJeune.idConseiller
3636
) {
3737
return emptySuccess()

src/application/authorizers/conseiller-authorizer.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import {
66
Result
77
} from '../../building-blocks/types/result'
88
import { Authentification } from '../../domain/authentification'
9+
import { Jeune, JeuneRepositoryToken } from '../../domain/jeune/jeune'
910
import {
1011
Conseiller,
1112
ConseillerRepositoryToken
1213
} from '../../domain/milo/conseiller'
13-
import { Jeune, JeuneRepositoryToken } from '../../domain/jeune/jeune'
1414

1515
@Injectable()
1616
export class ConseillerAuthorizer {
@@ -26,7 +26,7 @@ export class ConseillerAuthorizer {
2626
structureAutorisee = true
2727
): Promise<Result> {
2828
if (
29-
utilisateur.type === Authentification.Type.CONSEILLER &&
29+
Authentification.estConseiller(utilisateur.type) &&
3030
structureAutorisee
3131
) {
3232
const conseiller = await this.conseillerRepository.get(idConseiller)
@@ -47,7 +47,7 @@ export class ConseillerAuthorizer {
4747
): Promise<Result> {
4848
if (
4949
structureAutorisee &&
50-
utilisateur.type === Authentification.Type.CONSEILLER
50+
Authentification.estConseiller(utilisateur.type)
5151
) {
5252
const conseiller = await this.conseillerRepository.get(idConseiller)
5353
const jeune = await this.jeuneRepository.get(idJeune)
@@ -69,7 +69,7 @@ export class ConseillerAuthorizer {
6969
structureAutorisee = true
7070
): Promise<Result> {
7171
if (
72-
utilisateur.type === Authentification.Type.CONSEILLER &&
72+
Authentification.estConseiller(utilisateur.type) &&
7373
structureAutorisee
7474
) {
7575
const conseiller = await this.conseillerRepository.get(utilisateur.id)
@@ -88,7 +88,7 @@ export class ConseillerAuthorizer {
8888
structureAutorisee = true
8989
): Promise<Result> {
9090
if (
91-
utilisateur.type === Authentification.Type.CONSEILLER &&
91+
Authentification.estConseiller(utilisateur.type) &&
9292
structureAutorisee
9393
) {
9494
const jeune = await this.jeuneRepository.get(idJeune)
@@ -105,7 +105,7 @@ export class ConseillerAuthorizer {
105105
idsJeunes: string[],
106106
utilisateur: Authentification.Utilisateur
107107
): Promise<Result> {
108-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
108+
if (Authentification.estConseiller(utilisateur.type)) {
109109
const idsJeunesSansDoublons = idsJeunes.filter(
110110
(value, index, array) => array.indexOf(value) === index
111111
)
@@ -127,7 +127,7 @@ export class ConseillerAuthorizer {
127127
idsJeunes: string[],
128128
utilisateur: Authentification.Utilisateur
129129
): Promise<Result> {
130-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
130+
if (Authentification.estConseiller(utilisateur.type)) {
131131
const idsJeunesSansDoublons = idsJeunes.filter(
132132
(value, index, array) => array.indexOf(value) === index
133133
)
@@ -150,7 +150,7 @@ export class ConseillerAuthorizer {
150150
async autoriserConseillerSuperviseur(
151151
utilisateur: Authentification.Utilisateur
152152
): Promise<Result> {
153-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
153+
if (Authentification.estConseiller(utilisateur.type)) {
154154
const conseiller = await this.conseillerRepository.get(utilisateur.id)
155155

156156
if (conseiller && Authentification.estSuperviseur(utilisateur)) {
@@ -165,7 +165,7 @@ export class ConseillerAuthorizer {
165165
utilisateur: Authentification.Utilisateur,
166166
idAgence: string
167167
): Promise<Result> {
168-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
168+
if (Authentification.estConseiller(utilisateur.type)) {
169169
const conseiller = await this.conseillerRepository.get(utilisateur.id)
170170

171171
if (

src/application/authorizers/conseiller-inter-agence-authorizer.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import { Inject, Injectable } from '@nestjs/common'
22
import { DroitsInsuffisants } from '../../building-blocks/types/domain-error'
33
import {
4-
Result,
54
emptySuccess,
6-
failure
5+
failure,
6+
Result
77
} from '../../building-blocks/types/result'
88
import { Action, ActionRepositoryToken } from '../../domain/action/action'
99
import { Authentification } from '../../domain/authentification'
10+
import { estMilo } from '../../domain/core'
11+
import { Jeune, JeuneRepositoryToken } from '../../domain/jeune/jeune'
1012
import {
1113
Conseiller,
1214
ConseillerRepositoryToken
1315
} from '../../domain/milo/conseiller'
14-
import { estMilo } from '../../domain/core'
15-
import { Jeune, JeuneRepositoryToken } from '../../domain/jeune/jeune'
1616
import {
1717
RendezVous,
1818
RendezVousRepositoryToken
@@ -35,7 +35,7 @@ export class ConseillerInterAgenceAuthorizer {
3535
idAgence: string,
3636
utilisateur: Authentification.Utilisateur
3737
): Promise<Result> {
38-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
38+
if (Authentification.estConseiller(utilisateur.type)) {
3939
const conseiller = await this.conseillerRepository.get(utilisateur.id)
4040

4141
if (conseiller?.agence?.id === idAgence) {
@@ -49,7 +49,7 @@ export class ConseillerInterAgenceAuthorizer {
4949
idJeune: string,
5050
utilisateur: Authentification.Utilisateur
5151
): Promise<Result> {
52-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
52+
if (Authentification.estConseiller(utilisateur.type)) {
5353
const jeune = await this.jeuneRepository.get(idJeune)
5454
return this.autoriserPourSonJeuneOuUnJeuneDeSonAgenceMilo(
5555
utilisateur,
@@ -63,7 +63,7 @@ export class ConseillerInterAgenceAuthorizer {
6363
idJeune: string,
6464
utilisateur: Authentification.Utilisateur
6565
): Promise<Result> {
66-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
66+
if (Authentification.estConseiller(utilisateur.type)) {
6767
const jeune = await this.jeuneRepository.get(idJeune)
6868

6969
if (jeune && jeune.preferences.partageFavoris) {
@@ -80,7 +80,7 @@ export class ConseillerInterAgenceAuthorizer {
8080
idAction: string,
8181
utilisateur: Authentification.Utilisateur
8282
): Promise<Result> {
83-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
83+
if (Authentification.estConseiller(utilisateur.type)) {
8484
const action = await this.actionRepository.get(idAction)
8585
if (action) {
8686
return this.autoriserConseillerPourSonJeuneOuUnJeuneDeSonAgenceMilo(
@@ -97,7 +97,7 @@ export class ConseillerInterAgenceAuthorizer {
9797
utilisateur: Authentification.Utilisateur
9898
): Promise<Result> {
9999
if (
100-
utilisateur.type === Authentification.Type.CONSEILLER &&
100+
Authentification.estConseiller(utilisateur.type) &&
101101
estMilo(utilisateur.structure)
102102
) {
103103
const rendezVous = await this.rendezVousRepository.get(idRendezVous)

src/application/authorizers/conseiller-inter-structure-milo-authorizer.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { Inject, Injectable } from '@nestjs/common'
22
import { DroitsInsuffisants } from '../../building-blocks/types/domain-error'
33
import {
4-
Result,
54
emptySuccess,
65
failure,
7-
isSuccess
6+
isSuccess,
7+
Result
88
} from '../../building-blocks/types/result'
99
import { Authentification } from '../../domain/authentification'
1010
import { Conseiller } from '../../domain/milo/conseiller'
@@ -27,7 +27,7 @@ export class ConseillerInterStructureMiloAuthorizer {
2727
idStructureMilo: string,
2828
utilisateur: Authentification.Utilisateur
2929
): Promise<Result> {
30-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
30+
if (Authentification.estConseiller(utilisateur.type)) {
3131
const conseiller = await this.conseillerMiloRepository.get(utilisateur.id)
3232

3333
if (
@@ -44,7 +44,7 @@ export class ConseillerInterStructureMiloAuthorizer {
4444
idJeune: string,
4545
utilisateur: Authentification.Utilisateur
4646
): Promise<Result> {
47-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
47+
if (Authentification.estConseiller(utilisateur.type)) {
4848
const conseillerMilo = await this.conseillerMiloRepository.get(
4949
utilisateur.id
5050
)

src/application/authorizers/fichier-authorizer.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export class FichierAuthorizer {
2828
idsJeunes?: string[],
2929
idsListeDiffusion?: string[]
3030
): Promise<Result> {
31-
if (utilisateur.type === Authentification.Type.JEUNE) return emptySuccess()
31+
if (Authentification.estJeune(utilisateur.type)) return emptySuccess()
3232

3333
if (idsJeunes?.length) {
3434
const resultJeunes =
@@ -67,23 +67,23 @@ export class FichierAuthorizer {
6767
if (fichierMetadata.idCreateur === utilisateur.id) return emptySuccess()
6868

6969
if (
70-
utilisateur.type === Authentification.Type.JEUNE &&
70+
Authentification.estJeune(utilisateur.type) &&
7171
fichierMetadata.idsJeunes.includes(utilisateur.id)
7272
)
7373
return emptySuccess()
7474

75-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
75+
if (Authentification.estConseiller(utilisateur.type)) {
7676
const jeunesDuConseiller =
7777
await this.jeuneRepository.findAllJeunesByConseiller(utilisateur.id)
7878
const idsJeunesDuConseiller = jeunesDuConseiller.map(({ id }) => id)
7979

8080
if (
81-
fichierMetadata.typeCreateur === Authentification.Type.JEUNE &&
81+
Authentification.estJeune(fichierMetadata.typeCreateur) &&
8282
idsJeunesDuConseiller.includes(fichierMetadata.idCreateur)
8383
)
8484
return emptySuccess()
8585

86-
if (fichierMetadata.typeCreateur === Authentification.Type.CONSEILLER) {
86+
if (Authentification.estConseiller(fichierMetadata.typeCreateur)) {
8787
const leConseillerADesJeunesDansLeFichier =
8888
fichierMetadata.idsJeunes.some(idJeuneDuFichier =>
8989
idsJeunesDuConseiller.includes(idJeuneDuFichier)

src/application/authorizers/liste-de-diffusion-authorizer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {
77
} from '../../building-blocks/types/result'
88
import { Authentification } from '../../domain/authentification'
99
import { Conseiller } from '../../domain/milo/conseiller'
10-
import ListeDeDiffusion = Conseiller.ListeDeDiffusion
1110
import { ListeDeDiffusionRepositoryToken } from '../../domain/milo/liste-de-diffusion'
11+
import ListeDeDiffusion = Conseiller.ListeDeDiffusion
1212

1313
@Injectable()
1414
export class ListeDeDiffusionAuthorizer {
@@ -21,7 +21,7 @@ export class ListeDeDiffusionAuthorizer {
2121
idListe: string,
2222
utilisateur: Authentification.Utilisateur
2323
): Promise<Result> {
24-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
24+
if (Authentification.estConseiller(utilisateur.type)) {
2525
const listeDeDiffusion = await this.repository.get(idListe)
2626

2727
if (listeDeDiffusion?.idConseiller === utilisateur.id) {

src/application/authorizers/rendezvous-authorizer.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import {
44
NonTrouveError
55
} from '../../building-blocks/types/domain-error'
66
import {
7-
Result,
87
emptySuccess,
9-
failure
8+
failure,
9+
Result
1010
} from '../../building-blocks/types/result'
1111
import { Authentification } from '../../domain/authentification'
12+
import { Jeune, JeuneRepositoryToken } from '../../domain/jeune/jeune'
1213
import {
1314
Conseiller,
1415
ConseillerRepositoryToken
1516
} from '../../domain/milo/conseiller'
16-
import { Jeune, JeuneRepositoryToken } from '../../domain/jeune/jeune'
1717
import {
1818
RendezVous,
1919
RendezVousRepositoryToken
@@ -61,7 +61,7 @@ export class RendezVousAuthorizer {
6161
idRendezVous: string,
6262
utilisateur: Authentification.Utilisateur
6363
): Promise<Result> {
64-
if (utilisateur.type === Authentification.Type.CONSEILLER) {
64+
if (Authentification.estConseiller(utilisateur.type)) {
6565
const rendezVous = await this.rendezVousRepository.get(idRendezVous)
6666
if (!rendezVous) {
6767
return failure(new NonTrouveError('RendezVous', idRendezVous))

src/application/commands/action/add-commentaire-action.command.handler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export class AddCommentaireActionCommandHandler extends CommandHandler<
6868
)
6969
await this.commentaireActionRepository.save(commentaire)
7070

71-
if (command.createur.type !== Authentification.Type.JEUNE) {
71+
if (!Authentification.estJeune(command.createur.type)) {
7272
await this.notifier(action)
7373
}
7474
return success(commentaire)
@@ -100,7 +100,7 @@ export class AddCommentaireActionCommandHandler extends CommandHandler<
100100
}
101101

102102
private getType(typeUtilisateur: Authentification.Type): Action.TypeCreateur {
103-
return typeUtilisateur === Authentification.Type.JEUNE
103+
return Authentification.estJeune(typeUtilisateur)
104104
? Action.TypeCreateur.JEUNE
105105
: Action.TypeCreateur.CONSEILLER
106106
}

src/application/commands/action/create-action.command.handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export class CreateActionCommandHandler extends CommandHandler<
8181
command: CreateActionCommand,
8282
utilisateur: Authentification.Utilisateur
8383
): Promise<Result> {
84-
if (utilisateur.type === Authentification.Type.JEUNE) {
84+
if (Authentification.estJeune(utilisateur.type)) {
8585
return this.jeuneAuthorizer.autoriserLeJeune(command.idJeune, utilisateur)
8686
} else {
8787
return this.conseillerAuthorizer.autoriserLeConseillerPourSonJeune(

src/application/commands/milo/autoinscrire-beneficiaire-session-milo.command.handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export default class AutoinscrireBeneficiaireSessionMiloCommandHandler extends C
113113
return failure(new NonTrouveError('Bénéficiaire', command.idBeneficiaire))
114114

115115
if (
116-
utilisateur.type !== Authentification.Type.JEUNE ||
116+
!Authentification.estJeune(utilisateur.type) ||
117117
aggregate.id !== utilisateur.id
118118
)
119119
return failure(new DroitsInsuffisants())

0 commit comments

Comments
 (0)