ldap-rest 0.6.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abstract/ldapFlat.js +1 -1
- package/dist/abstract/plugin.js +1 -1
- package/dist/bin/index.js +1 -1
- package/dist/config/args.js +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/lib/expressFormatedResponses.js +1 -1
- package/dist/lib/ldapActions.js +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/plugins/auth/authzScope.js +1 -0
- package/dist/plugins/auth/llng.js +1 -1
- package/dist/plugins/ldap/accountLifecycle.js +1 -0
- package/dist/plugins/ldap/bulkImport.js +1 -1
- package/dist/plugins/ldap/departmentSync.js +1 -1
- package/dist/plugins/ldap/enterpriseRules.js +1 -0
- package/dist/plugins/ldap/externalUsersInGroups.js +1 -1
- package/dist/plugins/ldap/flatGeneric.js +1 -1
- package/dist/plugins/ldap/groups.js +1 -1
- package/dist/plugins/ldap/organizations.js +1 -1
- package/dist/plugins/scim/bulk.js +1 -1
- package/dist/plugins/scim/errors.js +1 -1
- package/dist/plugins/scim/filter.js +1 -1
- package/dist/plugins/scim/groups.js +1 -1
- package/dist/plugins/scim/list.js +1 -1
- package/dist/plugins/scim/mapping.js +1 -1
- package/dist/plugins/scim/patch.js +1 -1
- package/dist/plugins/scim/projection.js +1 -0
- package/dist/plugins/scim/scim.js +1 -1
- package/dist/plugins/scim/users.js +1 -1
- package/dist/plugins/twake/calendar.js +1 -0
- package/dist/plugins/twake/calendarResources.js +1 -1
- package/dist/plugins/twake/james.js +1 -1
- package/dist/src/abstract/ldapFlat.d.ts +159 -1
- package/dist/src/abstract/plugin.d.ts +13 -0
- package/dist/src/config/args.d.ts +5 -0
- package/dist/src/config/schema.d.ts +382 -12
- package/dist/src/lib/expressFormatedResponses.d.ts +14 -0
- package/dist/src/lib/ldapActions.d.ts +59 -6
- package/dist/src/lib/utils.d.ts +65 -0
- package/dist/src/plugins/auth/authzScope.d.ts +53 -0
- package/dist/src/plugins/auth/llng.d.ts +30 -1
- package/dist/src/plugins/ldap/accountLifecycle.d.ts +56 -0
- package/dist/src/plugins/ldap/departmentSync.d.ts +43 -0
- package/dist/src/plugins/ldap/enterpriseRules.d.ts +436 -0
- package/dist/src/plugins/ldap/flatGeneric.d.ts +29 -0
- package/dist/src/plugins/ldap/groups.d.ts +22 -0
- package/dist/src/plugins/ldap/organizations.d.ts +25 -4
- package/dist/src/plugins/scim/errors.d.ts +17 -4
- package/dist/src/plugins/scim/filter.d.ts +11 -1
- package/dist/src/plugins/scim/groups.d.ts +2 -0
- package/dist/src/plugins/scim/list.d.ts +3 -5
- package/dist/src/plugins/scim/mapping.d.ts +90 -9
- package/dist/src/plugins/scim/patch.d.ts +16 -1
- package/dist/src/plugins/scim/projection.d.ts +15 -0
- package/dist/src/plugins/scim/scim.d.ts +5 -0
- package/dist/src/plugins/scim/users.d.ts +21 -0
- package/dist/src/plugins/twake/calendar.d.ts +113 -0
- package/dist/src/plugins/twake/calendarResources.d.ts +9 -58
- package/docs/README.md +2 -0
- package/docs/client-development/api/openapi.md +1 -1
- package/docs/client-development/browser/libraries.md +1 -1
- package/docs/plugin-development/README.md +22 -0
- package/docs/plugin-development/dependencies.md +10 -7
- package/docs/presentations/en.md +1 -1
- package/docs/presentations/fr.md +1 -1
- package/docs/usage/README.md +2 -0
- package/docs/usage/configuration.md +35 -15
- package/docs/usage/directory-audit.md +105 -0
- package/docs/usage/plugins/README.md +6 -6
- package/docs/usage/plugins/auth/README.md +6 -5
- package/docs/usage/plugins/auth/authz-scope.md +103 -0
- package/docs/usage/plugins/auth/llng.md +17 -0
- package/docs/usage/plugins/integrations/README.md +5 -5
- package/docs/usage/plugins/integrations/{calendar-resources.md → calendar.md} +70 -13
- package/docs/usage/plugins/integrations/scim.md +147 -38
- package/docs/usage/plugins/ldap/README.md +13 -11
- package/docs/usage/plugins/ldap/account-lifecycle.md +129 -0
- package/docs/usage/plugins/ldap/bulk-import.md +8 -1
- package/docs/usage/plugins/ldap/enterprise-rules.md +167 -0
- package/docs/usage/plugins/ldap/flat-generic.md +172 -0
- package/docs/usage/plugins/ldap/groups.md +10 -4
- package/docs/usage/plugins/ldap/organizations.md +59 -33
- package/docs/usage/upgrading.md +444 -0
- package/package.json +54 -5
- package/static/schemas/example/README.md +36 -0
- package/static/schemas/example/groups.json +94 -0
- package/static/schemas/example/nomenclature/domains.json +49 -0
- package/static/schemas/example/organizations.json +106 -0
- package/static/schemas/example/positions.json +35 -0
- package/static/schemas/example/users.json +246 -0
- package/static/schemas/twake/groups.json +81 -15
- package/static/schemas/twake/nomenclature/twakeAccountStatus.json +26 -0
- package/static/schemas/twake/nomenclature/twakeDeliveryMode.json +22 -0
- package/static/schemas/twake/nomenclature/twakeDomain.json +60 -0
- package/static/schemas/twake/nomenclature/twakeListType.json +22 -0
- package/static/schemas/twake/nomenclature/twakeMailboxType.json +22 -0
- package/static/schemas/twake/nomenclature/twakeTitle.json +42 -0
- package/static/schemas/twake/organizations.json +92 -12
- package/static/schemas/twake/positions.json +22 -4
- package/static/schemas/twake/users.json +269 -32
|
@@ -5,6 +5,32 @@
|
|
|
5
5
|
"objectClass": ["top", "applicationProcess"],
|
|
6
6
|
"singularName": "accountStatus",
|
|
7
7
|
"pluralName": "accountStatuses",
|
|
8
|
+
"label": {
|
|
9
|
+
"en": "Account states",
|
|
10
|
+
"fr": "États de compte"
|
|
11
|
+
},
|
|
12
|
+
"singularLabel": {
|
|
13
|
+
"en": "account state",
|
|
14
|
+
"fr": "état de compte"
|
|
15
|
+
},
|
|
16
|
+
"valueLabels": {
|
|
17
|
+
"active": {
|
|
18
|
+
"en": "Active",
|
|
19
|
+
"fr": "Actif"
|
|
20
|
+
},
|
|
21
|
+
"disabled": {
|
|
22
|
+
"en": "Disabled",
|
|
23
|
+
"fr": "Désactivé"
|
|
24
|
+
},
|
|
25
|
+
"noaccess": {
|
|
26
|
+
"en": "No access",
|
|
27
|
+
"fr": "Sans accès"
|
|
28
|
+
},
|
|
29
|
+
"todelete": {
|
|
30
|
+
"en": "To delete",
|
|
31
|
+
"fr": "À supprimer"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
8
34
|
"base": "ou=twakeAccountStatus,ou=nomenclature,{ldap_base}"
|
|
9
35
|
},
|
|
10
36
|
"strict": true,
|
|
@@ -5,6 +5,28 @@
|
|
|
5
5
|
"objectClass": ["top", "applicationProcess"],
|
|
6
6
|
"singularName": "deliveryMode",
|
|
7
7
|
"pluralName": "deliveryModes",
|
|
8
|
+
"label": {
|
|
9
|
+
"en": "Delivery modes",
|
|
10
|
+
"fr": "Modes de distribution"
|
|
11
|
+
},
|
|
12
|
+
"singularLabel": {
|
|
13
|
+
"en": "delivery mode",
|
|
14
|
+
"fr": "mode de distribution"
|
|
15
|
+
},
|
|
16
|
+
"valueLabels": {
|
|
17
|
+
"normal": {
|
|
18
|
+
"en": "Normal",
|
|
19
|
+
"fr": "Normale"
|
|
20
|
+
},
|
|
21
|
+
"forward": {
|
|
22
|
+
"en": "Forwarded",
|
|
23
|
+
"fr": "Transférée"
|
|
24
|
+
},
|
|
25
|
+
"localDelivery": {
|
|
26
|
+
"en": "Forwarded, local copy kept",
|
|
27
|
+
"fr": "Transférée, copie locale conservée"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
8
30
|
"base": "ou=twakeDeliveryMode,ou=nomenclature,{ldap_base}"
|
|
9
31
|
},
|
|
10
32
|
"strict": true,
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"entity": {
|
|
3
|
+
"name": "twakeDomain",
|
|
4
|
+
"mainAttribute": "dc",
|
|
5
|
+
"objectClass": ["top", "domain", "domainRelatedObject"],
|
|
6
|
+
"singularName": "domain",
|
|
7
|
+
"pluralName": "domains",
|
|
8
|
+
"base": "ou=domains,ou=nomenclature,{ldap_base}",
|
|
9
|
+
"label": {
|
|
10
|
+
"en": "Mail domains",
|
|
11
|
+
"fr": "Domaines de messagerie"
|
|
12
|
+
},
|
|
13
|
+
"singularLabel": {
|
|
14
|
+
"en": "domain",
|
|
15
|
+
"fr": "domaine"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"strict": true,
|
|
19
|
+
"attributes": {
|
|
20
|
+
"objectClass": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"default": ["top", "domain", "domainRelatedObject"],
|
|
26
|
+
"required": true,
|
|
27
|
+
"fixed": true
|
|
28
|
+
},
|
|
29
|
+
"dc": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"test": "^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
|
|
32
|
+
"hint": "A single domain label: letters, digits and hyphens, e.g. example",
|
|
33
|
+
"required": true,
|
|
34
|
+
"role": "identifier",
|
|
35
|
+
"label": {
|
|
36
|
+
"en": "Identifier",
|
|
37
|
+
"fr": "Identifiant"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"associatedDomain": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"test": "^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$|^\\*$",
|
|
43
|
+
"hint": "A fully qualified domain name (example.org), or * to allow every domain",
|
|
44
|
+
"required": true,
|
|
45
|
+
"role": "domainName",
|
|
46
|
+
"label": {
|
|
47
|
+
"en": "Mail domain",
|
|
48
|
+
"fr": "Domaine de messagerie"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"description": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"required": false,
|
|
54
|
+
"label": {
|
|
55
|
+
"en": "Description",
|
|
56
|
+
"fr": "Description"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -5,6 +5,28 @@
|
|
|
5
5
|
"objectClass": ["top", "applicationProcess"],
|
|
6
6
|
"singularName": "listType",
|
|
7
7
|
"pluralName": "listTypes",
|
|
8
|
+
"label": {
|
|
9
|
+
"en": "List types",
|
|
10
|
+
"fr": "Types de liste"
|
|
11
|
+
},
|
|
12
|
+
"singularLabel": {
|
|
13
|
+
"en": "list type",
|
|
14
|
+
"fr": "type de liste"
|
|
15
|
+
},
|
|
16
|
+
"valueLabels": {
|
|
17
|
+
"openList": {
|
|
18
|
+
"en": "Open to all",
|
|
19
|
+
"fr": "Ouverte à tous"
|
|
20
|
+
},
|
|
21
|
+
"memberRestrictedList": {
|
|
22
|
+
"en": "Members only",
|
|
23
|
+
"fr": "Réservée aux membres"
|
|
24
|
+
},
|
|
25
|
+
"ownerRestrictedList": {
|
|
26
|
+
"en": "Owners only",
|
|
27
|
+
"fr": "Réservée aux propriétaires"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
8
30
|
"base": "ou=twakeListType,ou=nomenclature,{ldap_base}"
|
|
9
31
|
},
|
|
10
32
|
"strict": true,
|
|
@@ -5,6 +5,28 @@
|
|
|
5
5
|
"objectClass": ["top", "applicationProcess"],
|
|
6
6
|
"singularName": "mailboxType",
|
|
7
7
|
"pluralName": "mailboxTypes",
|
|
8
|
+
"label": {
|
|
9
|
+
"en": "Group types",
|
|
10
|
+
"fr": "Types de groupe"
|
|
11
|
+
},
|
|
12
|
+
"singularLabel": {
|
|
13
|
+
"en": "group type",
|
|
14
|
+
"fr": "type de groupe"
|
|
15
|
+
},
|
|
16
|
+
"valueLabels": {
|
|
17
|
+
"group": {
|
|
18
|
+
"en": "Group",
|
|
19
|
+
"fr": "Groupe"
|
|
20
|
+
},
|
|
21
|
+
"mailingList": {
|
|
22
|
+
"en": "Distribution list",
|
|
23
|
+
"fr": "Liste de diffusion"
|
|
24
|
+
},
|
|
25
|
+
"teamMailbox": {
|
|
26
|
+
"en": "Shared mailbox",
|
|
27
|
+
"fr": "Boîte partagée"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
8
30
|
"base": "ou=twakeMailboxType,ou=nomenclature,{ldap_base}"
|
|
9
31
|
},
|
|
10
32
|
"strict": true,
|
|
@@ -5,6 +5,48 @@
|
|
|
5
5
|
"objectClass": ["top", "applicationProcess"],
|
|
6
6
|
"singularName": "title",
|
|
7
7
|
"pluralName": "titles",
|
|
8
|
+
"label": {
|
|
9
|
+
"en": "Titles",
|
|
10
|
+
"fr": "Civilités"
|
|
11
|
+
},
|
|
12
|
+
"singularLabel": {
|
|
13
|
+
"en": "title",
|
|
14
|
+
"fr": "civilité"
|
|
15
|
+
},
|
|
16
|
+
"valueLabels": {
|
|
17
|
+
"Dr": {
|
|
18
|
+
"en": "Dr",
|
|
19
|
+
"fr": "Dr"
|
|
20
|
+
},
|
|
21
|
+
"Mr": {
|
|
22
|
+
"en": "Mr",
|
|
23
|
+
"fr": "M."
|
|
24
|
+
},
|
|
25
|
+
"Mrs": {
|
|
26
|
+
"en": "Mrs",
|
|
27
|
+
"fr": "Mme"
|
|
28
|
+
},
|
|
29
|
+
"Miss": {
|
|
30
|
+
"en": "Miss",
|
|
31
|
+
"fr": "Mlle"
|
|
32
|
+
},
|
|
33
|
+
"Ms": {
|
|
34
|
+
"en": "Ms",
|
|
35
|
+
"fr": "Mme"
|
|
36
|
+
},
|
|
37
|
+
"Prof": {
|
|
38
|
+
"en": "Prof.",
|
|
39
|
+
"fr": "Pr"
|
|
40
|
+
},
|
|
41
|
+
"Hon": {
|
|
42
|
+
"en": "Hon.",
|
|
43
|
+
"fr": "Honorable"
|
|
44
|
+
},
|
|
45
|
+
"Excellence": {
|
|
46
|
+
"en": "Excellency",
|
|
47
|
+
"fr": "Excellence"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
8
50
|
"base": "ou=twakeTitle,ou=nomenclature,{ldap_base}"
|
|
9
51
|
},
|
|
10
52
|
"strict": true,
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
+
"entity": {
|
|
3
|
+
"label": {
|
|
4
|
+
"en": "Organizations",
|
|
5
|
+
"fr": "Organisations"
|
|
6
|
+
},
|
|
7
|
+
"singularLabel": {
|
|
8
|
+
"en": "organization",
|
|
9
|
+
"fr": "organisation"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
2
12
|
"strict": true,
|
|
3
13
|
"attributes": {
|
|
4
14
|
"objectClass": {
|
|
@@ -13,40 +23,110 @@
|
|
|
13
23
|
},
|
|
14
24
|
"ou": {
|
|
15
25
|
"type": "string",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
26
|
+
"searchable": true,
|
|
27
|
+
"test": "^[A-Za-zÀ-ÖØ-öø-ÿ0-9][A-Za-zÀ-ÖØ-öø-ÿ0-9 ()&/,.'’_-]{0,254}$",
|
|
28
|
+
"hint": "Letters, digits, spaces and ( ) & / , . ' - _, starting with a letter or a digit",
|
|
29
|
+
"required": true,
|
|
30
|
+
"unique": true,
|
|
31
|
+
"role": "identifier",
|
|
32
|
+
"label": {
|
|
33
|
+
"en": "Name",
|
|
34
|
+
"fr": "Nom"
|
|
35
|
+
}
|
|
18
36
|
},
|
|
19
37
|
"description": {
|
|
20
38
|
"type": "string",
|
|
21
|
-
"
|
|
39
|
+
"searchable": true,
|
|
40
|
+
"required": false,
|
|
41
|
+
"label": {
|
|
42
|
+
"en": "Description",
|
|
43
|
+
"fr": "Description"
|
|
44
|
+
}
|
|
22
45
|
},
|
|
23
46
|
"telephoneNumber": {
|
|
24
|
-
"type": "
|
|
25
|
-
"
|
|
47
|
+
"type": "array",
|
|
48
|
+
"items": {
|
|
49
|
+
"type": "string"
|
|
50
|
+
},
|
|
51
|
+
"required": false,
|
|
52
|
+
"label": {
|
|
53
|
+
"en": "Phone",
|
|
54
|
+
"fr": "Téléphone"
|
|
55
|
+
}
|
|
26
56
|
},
|
|
27
57
|
"facsimileTelephoneNumber": {
|
|
28
58
|
"type": "string",
|
|
29
|
-
"required": false
|
|
59
|
+
"required": false,
|
|
60
|
+
"label": {
|
|
61
|
+
"en": "Fax",
|
|
62
|
+
"fr": "Fax"
|
|
63
|
+
}
|
|
30
64
|
},
|
|
31
65
|
"l": {
|
|
32
66
|
"type": "string",
|
|
33
|
-
"required": false
|
|
67
|
+
"required": false,
|
|
68
|
+
"label": {
|
|
69
|
+
"en": "Locality",
|
|
70
|
+
"fr": "Commune"
|
|
71
|
+
}
|
|
34
72
|
},
|
|
35
73
|
"postalAddress": {
|
|
36
74
|
"type": "string",
|
|
37
|
-
"required": false
|
|
75
|
+
"required": false,
|
|
76
|
+
"label": {
|
|
77
|
+
"en": "Address",
|
|
78
|
+
"fr": "Adresse"
|
|
79
|
+
}
|
|
38
80
|
},
|
|
39
81
|
"twakeDepartmentPath": {
|
|
40
82
|
"type": "string",
|
|
41
|
-
"test": "^[\\
|
|
42
|
-
"required": true
|
|
83
|
+
"test": "^[^\\r\\n]{1,4096}$",
|
|
84
|
+
"required": true,
|
|
85
|
+
"generated": true,
|
|
86
|
+
"role": "organizationPath",
|
|
87
|
+
"label": {
|
|
88
|
+
"en": "Path",
|
|
89
|
+
"fr": "Chemin"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"twakeManagerLink": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"items": {
|
|
95
|
+
"type": "pointer",
|
|
96
|
+
"branch": ["ou=users,__LDAP_BASE__"]
|
|
97
|
+
},
|
|
98
|
+
"required": false,
|
|
99
|
+
"role": "managers",
|
|
100
|
+
"label": {
|
|
101
|
+
"en": "Managers",
|
|
102
|
+
"fr": "Responsables"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"twakeDomainLink": {
|
|
106
|
+
"type": "array",
|
|
107
|
+
"items": {
|
|
108
|
+
"type": "pointer",
|
|
109
|
+
"branch": ["ou=domains,ou=nomenclature,__LDAP_BASE__"]
|
|
110
|
+
},
|
|
111
|
+
"required": false,
|
|
112
|
+
"role": "domainLink",
|
|
113
|
+
"label": {
|
|
114
|
+
"en": "Mail domains",
|
|
115
|
+
"fr": "Domaines de messagerie"
|
|
116
|
+
}
|
|
43
117
|
},
|
|
44
118
|
"twakeLocalAdminLink": {
|
|
45
119
|
"type": "array",
|
|
46
120
|
"items": {
|
|
47
|
-
"type": "
|
|
121
|
+
"type": "pointer",
|
|
122
|
+
"branch": ["ou=users,__LDAP_BASE__"]
|
|
48
123
|
},
|
|
49
|
-
"required": false
|
|
124
|
+
"required": false,
|
|
125
|
+
"role": "localAdmins",
|
|
126
|
+
"label": {
|
|
127
|
+
"en": "Local administrators",
|
|
128
|
+
"fr": "Administrateurs locaux"
|
|
129
|
+
}
|
|
50
130
|
}
|
|
51
131
|
}
|
|
52
132
|
}
|
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
"objectClass": ["top", "twakePosition"],
|
|
6
6
|
"singularName": "position",
|
|
7
7
|
"pluralName": "positions",
|
|
8
|
-
"base": "ou=positions,{ldap_base}"
|
|
8
|
+
"base": "ou=positions,{ldap_base}",
|
|
9
|
+
"label": {
|
|
10
|
+
"en": "Positions",
|
|
11
|
+
"fr": "Postes"
|
|
12
|
+
},
|
|
13
|
+
"singularLabel": {
|
|
14
|
+
"en": "position",
|
|
15
|
+
"fr": "poste"
|
|
16
|
+
}
|
|
9
17
|
},
|
|
10
18
|
"strict": true,
|
|
11
19
|
"attributes": {
|
|
@@ -21,12 +29,22 @@
|
|
|
21
29
|
},
|
|
22
30
|
"cn": {
|
|
23
31
|
"type": "string",
|
|
24
|
-
"test": "^[
|
|
25
|
-
"
|
|
32
|
+
"test": "^[A-Za-zÀ-ÖØ-öø-ÿ0-9][A-Za-zÀ-ÖØ-öø-ÿ0-9 &/,.'’-]*$",
|
|
33
|
+
"hint": "Letters, digits, spaces and & / , . ' -, starting with a letter or a digit",
|
|
34
|
+
"required": true,
|
|
35
|
+
"role": "identifier",
|
|
36
|
+
"label": {
|
|
37
|
+
"en": "Name",
|
|
38
|
+
"fr": "Nom"
|
|
39
|
+
}
|
|
26
40
|
},
|
|
27
41
|
"description": {
|
|
28
42
|
"type": "string",
|
|
29
|
-
"required": false
|
|
43
|
+
"required": false,
|
|
44
|
+
"label": {
|
|
45
|
+
"en": "Description",
|
|
46
|
+
"fr": "Description"
|
|
47
|
+
}
|
|
30
48
|
}
|
|
31
49
|
}
|
|
32
50
|
}
|