-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathcommon-builder.js
108 lines (98 loc) · 3.31 KB
/
common-builder.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import { PIX_ADMIN } from '../../../../src/authorization/domain/constants.js';
import { DEFAULT_PASSWORD, PIX_PUBLIC_TARGET_PROFILE_ID, REAL_PIX_SUPER_ADMIN_ID } from './constants.js';
import { createTargetProfile } from './tooling/target-profile-tooling.js';
const { ROLES } = PIX_ADMIN;
export const commonBuilder = async function ({ databaseBuilder }) {
// admin account
_createSuperAdmin(databaseBuilder);
_createCertifAdmin(databaseBuilder);
_createSupportAdmin(databaseBuilder);
_createMetierAdmin(databaseBuilder);
createClientApplications(databaseBuilder);
await _createPublicTargetProfile(databaseBuilder);
await databaseBuilder.commit();
};
function _createSuperAdmin(databaseBuilder) {
databaseBuilder.factory.buildUser.withRawPassword({
id: REAL_PIX_SUPER_ADMIN_ID,
firstName: 'Admin',
lastName: 'Admin',
email: 'superadmin@example.net',
rawPassword: DEFAULT_PASSWORD,
});
databaseBuilder.factory.buildPixAdminRole({ userId: REAL_PIX_SUPER_ADMIN_ID, role: ROLES.SUPER_ADMIN });
}
function _createMetierAdmin(databaseBuilder) {
databaseBuilder.factory.buildUser.withRawPassword({
id: REAL_PIX_SUPER_ADMIN_ID + 1,
firstName: 'Admin',
lastName: 'Metier',
email: 'metieradmin@example.net',
rawPassword: DEFAULT_PASSWORD,
});
databaseBuilder.factory.buildPixAdminRole({ userId: REAL_PIX_SUPER_ADMIN_ID + 1, role: ROLES.METIER });
}
function _createSupportAdmin(databaseBuilder) {
databaseBuilder.factory.buildUser.withRawPassword({
id: REAL_PIX_SUPER_ADMIN_ID + 2,
firstName: 'Admin',
lastName: 'Support',
email: 'supportadmin@example.net',
rawPassword: DEFAULT_PASSWORD,
});
databaseBuilder.factory.buildPixAdminRole({ userId: REAL_PIX_SUPER_ADMIN_ID + 2, role: ROLES.SUPPORT });
}
function _createCertifAdmin(databaseBuilder) {
databaseBuilder.factory.buildUser.withRawPassword({
id: REAL_PIX_SUPER_ADMIN_ID + 3,
firstName: 'Admin',
lastName: 'Certif',
email: 'certifadmin@example.net',
rawPassword: DEFAULT_PASSWORD,
});
databaseBuilder.factory.buildPixAdminRole({ userId: REAL_PIX_SUPER_ADMIN_ID + 3, role: ROLES.CERTIF });
}
function createClientApplications(databaseBuilder) {
databaseBuilder.factory.buildClientApplication({
name: 'livretScolaire',
clientId: 'livretScolaire',
clientSecret: 'livretScolaireSecret',
scopes: ['organizations-certifications-result'],
});
databaseBuilder.factory.buildClientApplication({
name: 'poleEmploi',
clientId: 'poleEmploi',
clientSecret: 'poleemploisecret',
scopes: ['pole-emploi-participants-result'],
});
databaseBuilder.factory.buildClientApplication({
name: 'pixData',
clientId: 'pixData',
clientSecret: 'pixdatasecret',
scopes: ['statistics'],
});
databaseBuilder.factory.buildClientApplication({
name: 'parcoursup',
clientId: 'parcoursup',
clientSecret: 'parcoursupsecret',
scopes: ['parcoursup'],
});
}
function _createPublicTargetProfile(databaseBuilder) {
return createTargetProfile({
databaseBuilder,
targetProfileId: PIX_PUBLIC_TARGET_PROFILE_ID,
ownerOrganizationId: null,
name: 'Profil Cible',
configTargetProfile: {
frameworks: [
{
chooseCoreFramework: true,
countTubes: 2,
minLevel: 2,
maxLevel: 3,
},
],
},
});
}