ldap-rest 0.17.0 → 0.18.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/twakePlugin.js +1 -1
- package/dist/bin/index.js +1 -1
- package/dist/config/args.js +1 -1
- package/dist/config/schema.js +1 -1
- package/dist/lib/ldapActions.js +1 -1
- package/dist/plugins/ldap/enterpriseRules.js +1 -1
- package/dist/plugins/ldap/groups.js +1 -1
- package/dist/plugins/ldap/onChange.js +1 -1
- package/dist/plugins/ldap/organizations.js +1 -1
- package/dist/plugins/twake/james.js +1 -1
- package/dist/src/abstract/ldapFlat.d.ts +9 -11
- package/dist/src/abstract/twakePlugin.d.ts +18 -1
- package/dist/src/bin/index.d.ts +10 -0
- package/dist/src/browser/ldap-group-editor/types.d.ts +2 -1
- package/dist/src/browser/ldap-resource-editor/types.d.ts +3 -2
- package/dist/src/browser/ldap-unit-editor/types.d.ts +2 -1
- package/dist/src/browser/ldap-user-editor/types.d.ts +3 -2
- package/dist/src/browser/shared/types/index.d.ts +7 -1
- package/dist/src/browser/shared/utils/schema.d.ts +20 -1
- package/dist/src/config/args.d.ts +2 -0
- package/dist/src/config/schema.d.ts +27 -4
- package/dist/src/hooks.d.ts +3 -1
- package/dist/src/plugins/ldap/organizations.d.ts +0 -8
- package/dist/src/plugins/twake/james.d.ts +12 -74
- package/docs/client-development/api/reference.md +1 -1
- package/docs/client-development/api/rest-api.md +11 -1
- package/docs/client-development/schemas/README.md +18 -13
- package/docs/plugin-development/dependencies.md +7 -3
- package/docs/presentations/en.md +0 -28
- package/docs/presentations/fr.md +0 -28
- package/docs/usage/configuration.md +14 -10
- package/docs/usage/plugins/integrations/james-mail.md +51 -115
- package/docs/usage/plugins/integrations/james-mailboxes.md +58 -78
- package/docs/usage/plugins/ldap/flat-generic.md +23 -5
- package/docs/usage/plugins/ldap/on-change.md +6 -0
- package/docs/usage/plugins/utilities/weblogs.md +1 -1
- package/docs/usage/upgrading.md +30 -0
- package/package.json +1 -1
- package/static/browser/ldap-resource-editor/api/ResourceApiClient.js +2 -1
- package/static/browser/ldap-resource-editor/api/ResourceApiClient.js.map +1 -1
- package/static/browser/ldap-user-editor/api/UserApiClient.js +2 -1
- package/static/browser/ldap-user-editor/api/UserApiClient.js.map +1 -1
- package/static/browser/ldap-user-editor/components/UserEditor.js +11 -8
- package/static/browser/ldap-user-editor/components/UserEditor.js.map +1 -1
- package/static/browser/ldap-user-editor/components/UserList.js +3 -1
- package/static/browser/ldap-user-editor/components/UserList.js.map +1 -1
- package/static/browser/ldap-user-editor.esm.js +52 -10
- package/static/browser/ldap-user-editor.esm.js.map +1 -1
- package/static/browser/ldap-user-editor.js +52 -10
- package/static/browser/ldap-user-editor.js.map +1 -1
- package/static/browser/ldap-user-editor.min.js +1 -1
- package/static/browser/ldap-user-editor.min.js.map +1 -1
- package/static/browser/shared/index.js +1 -1
- package/static/browser/shared/types/index.js.map +1 -1
- package/static/browser/shared/utils/form.js +2 -1
- package/static/browser/shared/utils/form.js.map +1 -1
- package/static/browser/shared/utils/schema.js +33 -1
- package/static/browser/shared/utils/schema.js.map +1 -1
- package/static/browser/shared.esm.js +153 -121
- package/static/browser/shared.esm.js.map +1 -1
- package/static/browser/shared.js +154 -120
- package/static/browser/shared.js.map +1 -1
- package/static/browser/shared.min.js +1 -1
- package/static/browser/shared.min.js.map +1 -1
- package/static/schemas/standard/groups.json +1 -1
- package/static/schemas/twake/groups.json +25 -7
- package/static/schemas/twake/nomenclature/twakeAccountStatus.json +10 -2
- package/static/schemas/twake/nomenclature/twakeDeliveryMode.json +10 -2
- package/static/schemas/twake/nomenclature/twakeDomain.json +9 -3
- package/static/schemas/twake/nomenclature/twakeListType.json +10 -2
- package/static/schemas/twake/nomenclature/twakeMailboxType.json +10 -2
- package/static/schemas/twake/nomenclature/twakeTitle.json +10 -2
- package/static/schemas/twake/organizations.json +4 -1
- package/static/schemas/twake/positions.json +4 -1
- package/static/schemas/twake/users.json +36 -9
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# James Team Mailboxes
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`twake/james` creates James/TMail team mailboxes from LDAP groups. Team mailboxes are shared mailboxes with IMAP access, as opposed to mailing lists which only distribute emails to members, and which `twake/james` leaves to Twake Mail: see [Mailing lists](#mailing-lists).
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
7
|
Groups in LDAP can now have three different mailbox types:
|
|
8
8
|
|
|
9
9
|
- **group**: Simple group without mail functionality (default if no mail attribute)
|
|
10
|
-
- **mailingList**:
|
|
10
|
+
- **mailingList**: Mailing list, read from LDAP by Twake Mail; nothing is created in James
|
|
11
11
|
- **teamMailbox**: Shared team mailbox (shared IMAP mailbox via James `/domains/{domain}/team-mailboxes/` API)
|
|
12
12
|
|
|
13
13
|
## Configuration
|
|
@@ -46,7 +46,7 @@ This creates three nomenclature entries:
|
|
|
46
46
|
Add to your ldap-rest configuration:
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
# Optional:
|
|
49
|
+
# Optional: branches holding mailing lists, where team mailboxes are refused
|
|
50
50
|
--james-mailing-list-branches "ou=lists,dc=example,dc=com"
|
|
51
51
|
|
|
52
52
|
# Optional: Custom mailbox type attribute (default: twakeMailboxType)
|
|
@@ -60,7 +60,20 @@ DM_JAMES_MAILING_LIST_BRANCHES="ou=lists,dc=example,dc=com"
|
|
|
60
60
|
DM_JAMES_MAILBOX_TYPE_ATTRIBUTE="mailboxType"
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
If `james-mailing-list-branches` is empty (default),
|
|
63
|
+
If `james-mailing-list-branches` is empty (default), team mailboxes can be created anywhere.
|
|
64
|
+
|
|
65
|
+
## Mailing lists
|
|
66
|
+
|
|
67
|
+
`twake/james` creates nothing in James for a mailing list: a group with a
|
|
68
|
+
`mail` whose `twakeMailboxType` is `mailingList`, or is not set. Twake Mail
|
|
69
|
+
reads the list from LDAP when a mail reaches it, with its `LDAPMailingList`
|
|
70
|
+
mailet: a member change applies at once, and the list type held in
|
|
71
|
+
`businessCategory` (open, members only, owners only…) decides who may write
|
|
72
|
+
to it.
|
|
73
|
+
|
|
74
|
+
James address groups (`/address/groups`) are not used: they cannot restrict
|
|
75
|
+
senders, so anyone, external senders included, could write through one to a
|
|
76
|
+
members-only list.
|
|
64
77
|
|
|
65
78
|
## Usage
|
|
66
79
|
|
|
@@ -105,10 +118,7 @@ await dm.ldap.add('cn=announce,ou=lists,dc=example,dc=com', {
|
|
|
105
118
|
});
|
|
106
119
|
```
|
|
107
120
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
1. Validate the group is in an allowed branch (if `--james-mailing-list-branches` is configured)
|
|
111
|
-
2. Create the mailing list via `PUT /address/groups/announce@example.com/{member-email}` for each member
|
|
121
|
+
Nothing is sent to James: Twake Mail reads the list from LDAP.
|
|
112
122
|
|
|
113
123
|
### Creating a Simple Group (no mailbox)
|
|
114
124
|
|
|
@@ -126,6 +136,25 @@ await dm.ldap.add('cn=developers,ou=groups,dc=example,dc=com', {
|
|
|
126
136
|
|
|
127
137
|
This creates a simple group without any James integration (no mail attribute, no mailbox).
|
|
128
138
|
|
|
139
|
+
## Following the group
|
|
140
|
+
|
|
141
|
+
`twake/james` compares a team mailbox group before and after each write made
|
|
142
|
+
through LDAP-Rest, whatever made it: the groups API, its `/members` routes,
|
|
143
|
+
or any other write to the entry.
|
|
144
|
+
|
|
145
|
+
- A member added or removed is added to or removed from the mailbox.
|
|
146
|
+
- A group created as a team mailbox, or that becomes one, gets the mailbox
|
|
147
|
+
created with all its members.
|
|
148
|
+
- A group that stops being one (another type, no `mail`, moved into a mailing
|
|
149
|
+
list branch, or deleted) leaves its mailbox in James with no member. The
|
|
150
|
+
mailbox is never deleted: it may hold mail.
|
|
151
|
+
- A new `mail` empties the mailbox of the old address and creates the one of
|
|
152
|
+
the new address.
|
|
153
|
+
|
|
154
|
+
The writes to one group reach James one after the other. A deleted
|
|
155
|
+
user stays in the team mailboxes it belonged to: once its entry is gone, its
|
|
156
|
+
address cannot be read.
|
|
157
|
+
|
|
129
158
|
## API Endpoints Used
|
|
130
159
|
|
|
131
160
|
### Team Mailboxes
|
|
@@ -133,29 +162,14 @@ This creates a simple group without any James integration (no mail attribute, no
|
|
|
133
162
|
- **Create**: `PUT /domains/{domain}/team-mailboxes/{teamMailbox}`
|
|
134
163
|
- **Add member**: `PUT /domains/{domain}/team-mailboxes/{teamMailbox}/members/{memberEmail}`
|
|
135
164
|
- **Delete member**: `DELETE /domains/{domain}/team-mailboxes/{teamMailbox}/members/{memberEmail}`
|
|
136
|
-
- **Delete**: `DELETE /domains/{domain}/team-mailboxes/{teamMailbox}`
|
|
137
|
-
|
|
138
|
-
### Mailing Lists
|
|
139
|
-
|
|
140
|
-
- **Add member**: `PUT /address/groups/{groupMail}/{memberEmail}`
|
|
141
|
-
- **Delete member**: `DELETE /address/groups/{groupMail}/{memberEmail}`
|
|
142
|
-
- **Delete**: `DELETE /address/groups/{groupMail}`
|
|
143
165
|
|
|
144
166
|
## Validation Rules
|
|
145
167
|
|
|
146
168
|
### Branch Restrictions
|
|
147
169
|
|
|
148
|
-
When `--james-mailing-list-branches` is configured,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
- ✅ **MUST** be located within one of the specified branches
|
|
152
|
-
- ❌ **CANNOT** be created outside these branches
|
|
153
|
-
- If `--james-mailing-list-branches` is empty, no location restriction applies
|
|
154
|
-
|
|
155
|
-
2. **Team Mailboxes**:
|
|
156
|
-
- ✅ **MUST NOT** be located within mailing list branches
|
|
157
|
-
- ❌ **CANNOT** be created in branches reserved for mailing lists
|
|
158
|
-
- ✅ **CAN** be created anywhere else in the LDAP tree
|
|
170
|
+
When `--james-mailing-list-branches` is configured, a team mailbox is not
|
|
171
|
+
created in James when the group is within one of these branches. It can be
|
|
172
|
+
created anywhere else in the LDAP tree.
|
|
159
173
|
|
|
160
174
|
**Example Configuration:**
|
|
161
175
|
|
|
@@ -165,32 +179,27 @@ When `--james-mailing-list-branches` is configured, strict branch separation is
|
|
|
165
179
|
|
|
166
180
|
**Allowed:**
|
|
167
181
|
|
|
168
|
-
- `cn=sales-list,ou=lists,dc=example,dc=com` with `twakeMailboxType=mailingList` ✅
|
|
169
182
|
- `cn=sales-team,ou=teams,dc=example,dc=com` with `twakeMailboxType=teamMailbox` ✅
|
|
170
183
|
- `cn=sales-team,ou=groups,dc=example,dc=com` with `twakeMailboxType=teamMailbox` ✅
|
|
171
184
|
|
|
172
185
|
**Rejected:**
|
|
173
186
|
|
|
174
|
-
- `cn=sales-list,ou=teams,dc=example,dc=com` with `twakeMailboxType=mailingList` ❌ (wrong branch)
|
|
175
187
|
- `cn=sales-team,ou=lists,dc=example,dc=com` with `twakeMailboxType=teamMailbox` ❌ (reserved for lists)
|
|
176
188
|
|
|
177
|
-
**Validation Points:**
|
|
178
|
-
|
|
179
|
-
- Group creation (`ldapgroupadddone`)
|
|
180
|
-
- Mailbox type transitions (`handleMailboxTypeTransition`)
|
|
189
|
+
**Validation Points:** every write to the group. A team mailbox in these
|
|
190
|
+
branches gets no member either.
|
|
181
191
|
|
|
182
192
|
**Error Handling:**
|
|
183
193
|
|
|
184
194
|
- Validation failures are logged as errors
|
|
185
|
-
- Group is created in LDAP but
|
|
195
|
+
- Group is created in LDAP but the team mailbox is NOT created in James
|
|
186
196
|
- No exception thrown (silent failure with error log)
|
|
187
197
|
|
|
188
198
|
### Mailbox Type Defaults
|
|
189
199
|
|
|
190
200
|
3. **Mailbox Type**:
|
|
191
|
-
- If `twakeMailboxType` is not set and the group has a `mail` attribute, it
|
|
201
|
+
- If `twakeMailboxType` is not set and the group has a `mail` attribute, it is a mailing list
|
|
192
202
|
- If `twakeMailboxType` is not set and the group has no `mail` attribute, it's a simple group (no James integration)
|
|
193
|
-
- Default behavior is subject to branch validation rules
|
|
194
203
|
|
|
195
204
|
## Mailbox Type Transitions
|
|
196
205
|
|
|
@@ -211,9 +220,8 @@ await dm.ldap.modify('cn=sales,ou=groups,dc=example,dc=com', {
|
|
|
211
220
|
|
|
212
221
|
**What happens:**
|
|
213
222
|
|
|
214
|
-
1.
|
|
215
|
-
2.
|
|
216
|
-
3. Adds all current members to the team mailbox
|
|
223
|
+
1. Creates the team mailbox (`PUT /domains/{domain}/team-mailboxes/{mail}`)
|
|
224
|
+
2. Adds all current members to the team mailbox
|
|
217
225
|
|
|
218
226
|
#### teamMailbox → mailingList
|
|
219
227
|
|
|
@@ -230,8 +238,6 @@ await dm.ldap.modify('cn=sales,ou=groups,dc=example,dc=com', {
|
|
|
230
238
|
|
|
231
239
|
1. Removes all members from the team mailbox (`DELETE /domains/{domain}/team-mailboxes/{mail}/members/{member}`)
|
|
232
240
|
2. **Preserves the team mailbox** (does NOT delete it - can be recovered later)
|
|
233
|
-
3. Creates the mailing list (`PUT /address/groups/{mail}/{member}`)
|
|
234
|
-
4. Adds all current members to the mailing list
|
|
235
241
|
|
|
236
242
|
#### group → mailingList or teamMailbox
|
|
237
243
|
|
|
@@ -251,8 +257,7 @@ await dm.ldap.modify('cn=developers,ou=groups,dc=example,dc=com', {
|
|
|
251
257
|
**What happens:**
|
|
252
258
|
|
|
253
259
|
1. No cleanup needed (was a simple group)
|
|
254
|
-
2.
|
|
255
|
-
3. Adds all current members
|
|
260
|
+
2. For a team mailbox: creates it and adds all current members; nothing is sent to James for a mailing list
|
|
256
261
|
|
|
257
262
|
#### mailingList or teamMailbox → group
|
|
258
263
|
|
|
@@ -267,9 +272,8 @@ await dm.ldap.modify('cn=sales,ou=groups,dc=example,dc=com', {
|
|
|
267
272
|
|
|
268
273
|
**What happens:**
|
|
269
274
|
|
|
270
|
-
1. If
|
|
271
|
-
2.
|
|
272
|
-
3. Group becomes a simple group without mail functionality
|
|
275
|
+
1. If team mailbox: removes all members (preserves mailbox)
|
|
276
|
+
2. Group becomes a simple group without mail functionality
|
|
273
277
|
|
|
274
278
|
### Deleting Groups with Team Mailboxes
|
|
275
279
|
|
|
@@ -287,10 +291,6 @@ await dm.ldap.delete('cn=sales,ou=groups,dc=example,dc=com');
|
|
|
287
291
|
|
|
288
292
|
**Rationale:** Team mailboxes may contain important emails and should not be automatically deleted. Administrators can manually delete them through James WebAdmin if needed.
|
|
289
293
|
|
|
290
|
-
## Backward Compatibility
|
|
291
|
-
|
|
292
|
-
Existing groups with `mail` attribute but no `twakeMailboxType` will continue to work as mailing lists (backward compatible behavior).
|
|
293
|
-
|
|
294
294
|
## Testing
|
|
295
295
|
|
|
296
296
|
Tests require the LDAP schema amendment to be applied first:
|
|
@@ -303,39 +303,19 @@ ldapmodify -Y EXTERNAL -H ldapi:/// -f docs/examples/twake-mailbox-type-schema-a
|
|
|
303
303
|
sed 's/{ldap_base}/dc=example,dc=com/g' docs/examples/twake-mailbox-type-nomenclature.ldif | \
|
|
304
304
|
ldapadd -x -D "cn=admin,dc=example,dc=com" -W
|
|
305
305
|
|
|
306
|
-
# Run
|
|
307
|
-
npm run test:one test/plugins/twake/
|
|
308
|
-
|
|
309
|
-
# Run mailbox type transition tests
|
|
310
|
-
npm run test:one test/plugins/twake/jamesMailboxTypeTransitions.test.ts
|
|
306
|
+
# Run the group tests
|
|
307
|
+
npm run test:one test/plugins/twake/jamesGroups.test.ts
|
|
311
308
|
```
|
|
312
309
|
|
|
313
310
|
### Test Coverage
|
|
314
311
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
- Transition from mailingList to teamMailbox
|
|
323
|
-
- Transition from teamMailbox to mailingList
|
|
324
|
-
- Transition from group to teamMailbox
|
|
325
|
-
- Transition from teamMailbox to group
|
|
326
|
-
- Transition from group to mailingList
|
|
327
|
-
- Transition from mailingList to group
|
|
328
|
-
- Delete group with teamMailbox (removes members only)
|
|
329
|
-
|
|
330
|
-
- **jamesBranchValidation.test.ts** (8 tests):
|
|
331
|
-
- Allow mailing list in allowed branch
|
|
332
|
-
- Reject mailing list outside allowed branch
|
|
333
|
-
- Allow team mailbox outside mailing list branch
|
|
334
|
-
- Reject team mailbox inside mailing list branch
|
|
335
|
-
- Reject transition to mailing list outside allowed branch
|
|
336
|
-
- Reject transition to team mailbox inside mailing list branch
|
|
337
|
-
- Allow mailing lists anywhere when restrictions disabled
|
|
338
|
-
- Allow team mailboxes anywhere when restrictions disabled
|
|
312
|
+
**jamesGroups.test.ts** drives the groups API and records every call made to
|
|
313
|
+
James:
|
|
314
|
+
|
|
315
|
+
- Mailing lists, typed or not: no address group, from creation to deletion
|
|
316
|
+
- A group without mail: no call
|
|
317
|
+
- Team mailboxes: creation, the `/members` routes, a `replace` of the
|
|
318
|
+
members, deletion, type changes, a new address, a mailing list branch
|
|
339
319
|
|
|
340
320
|
## References
|
|
341
321
|
|
|
@@ -141,9 +141,10 @@ Fixed attributes:
|
|
|
141
141
|
|
|
142
142
|
### Naming things, in the reader's language
|
|
143
143
|
|
|
144
|
-
`label` is what a client shows instead of the attribute name,
|
|
145
|
-
|
|
146
|
-
|
|
144
|
+
`label` is what a client shows instead of the attribute name, `group` the form
|
|
145
|
+
section it shows the attribute in, and `entity.label` / `entity.singularLabel`
|
|
146
|
+
are what it calls the collection and one of its entries. Each, and `hint`
|
|
147
|
+
below, may be a plain string, or a map keyed by language tag:
|
|
147
148
|
|
|
148
149
|
```json
|
|
149
150
|
{
|
|
@@ -159,6 +160,11 @@ entries. Each may be a plain string, or a map keyed by language tag:
|
|
|
159
160
|
"type": "pointer",
|
|
160
161
|
"role": "organizationLink",
|
|
161
162
|
"label": { "en": "Department", "fr": "Organisation" }
|
|
163
|
+
},
|
|
164
|
+
"mailQuotaSize": {
|
|
165
|
+
"type": "string",
|
|
166
|
+
"group": { "en": "Mailbox Settings", "fr": "Paramètres de messagerie" },
|
|
167
|
+
"label": { "en": "Mailbox size", "fr": "Taille de boîte" }
|
|
162
168
|
}
|
|
163
169
|
}
|
|
164
170
|
}
|
|
@@ -202,14 +208,19 @@ type, before they get it wrong:
|
|
|
202
208
|
"telephoneNumber": {
|
|
203
209
|
"type": "string",
|
|
204
210
|
"test": "^\\(\\+99\\)\\s\\d{3}\\s\\d{4}$",
|
|
205
|
-
"hint":
|
|
211
|
+
"hint": {
|
|
212
|
+
"en": "Expected pattern (+99) 999 9999",
|
|
213
|
+
"fr": "Format attendu : (+99) 999 9999"
|
|
214
|
+
}
|
|
206
215
|
}
|
|
207
216
|
}
|
|
208
217
|
```
|
|
209
218
|
|
|
210
219
|
The hint travels with the schema, so a client shows it under the field and the
|
|
211
220
|
server repeats it when it rejects a value — the pattern and its explanation
|
|
212
|
-
cannot drift apart, and neither is hardcoded in the interface.
|
|
221
|
+
cannot drift apart, and neither is hardcoded in the interface. A translated
|
|
222
|
+
hint is picked like a label; the server's messages are in English, so it
|
|
223
|
+
quotes the English text.
|
|
213
224
|
|
|
214
225
|
### Attributes a client may not send
|
|
215
226
|
|
|
@@ -221,6 +232,13 @@ cannot drift apart, and neither is hardcoded in the interface.
|
|
|
221
232
|
Both restrict the **request body** only: the core and its plugins still write
|
|
222
233
|
these attributes.
|
|
223
234
|
|
|
235
|
+
The read of one entry (`GET /api/v1/ldap/{resource}/{id}`) asks the directory
|
|
236
|
+
for every attribute the schema declares besides the usual ones, so an
|
|
237
|
+
operational attribute such as `memberOf` is returned when the directory
|
|
238
|
+
computes it — with OpenLDAP, when the `memberof` overlay is configured for the
|
|
239
|
+
group class and member attribute in use (`groupOfNames` and `member` for the
|
|
240
|
+
Twake schemas). Lists return the usual attributes only.
|
|
241
|
+
|
|
224
242
|
### Attributes a client never receives
|
|
225
243
|
|
|
226
244
|
`neverReturn` strips an attribute from every API answer while leaving it
|
|
@@ -46,6 +46,12 @@ The other hooks are derived from it:
|
|
|
46
46
|
| `onLdapDriveQuotaChange` | `--drive-quota-attribute` changed | `(dn, oldQuota, newQuota)` |
|
|
47
47
|
| `onLdapDisplayNameChange` | the name from `--display-name-attribute`, else `cn`, else `givenName` and `sn`, changed | `(dn, oldName, newName)` |
|
|
48
48
|
|
|
49
|
+
A delete fires `onLdapChange` and `onLdapMailChange`, whose `newMail` is
|
|
50
|
+
`null`, and none of the others: the entry has nothing left to apply, and the
|
|
51
|
+
services fed by these hooks keep the data of a deleted user. The hooks given a
|
|
52
|
+
`mail` fire only while the entry has one: a write removing the mail attribute
|
|
53
|
+
does not fire them.
|
|
54
|
+
|
|
49
55
|
`changes` maps each attribute that changed to `[oldValues, newValues]`, the
|
|
50
56
|
full values on each side, `null` where the attribute is absent:
|
|
51
57
|
|
|
@@ -168,7 +168,7 @@ Shows 4xx and 5xx responses:
|
|
|
168
168
|
|
|
169
169
|
```
|
|
170
170
|
[info] GET /api/v1/ldap/users/notfound 404 12ms
|
|
171
|
-
[info] POST /api/v1/ldap/users 400 8ms {"error":"
|
|
171
|
+
[info] POST /api/v1/ldap/users 400 8ms {"error":"Attribute \"cn\" is required"}
|
|
172
172
|
[info] GET /api/v1/ldap/users 500 234ms {"error":"LDAP connection timeout"}
|
|
173
173
|
```
|
|
174
174
|
|
package/docs/usage/upgrading.md
CHANGED
|
@@ -4,6 +4,36 @@ What to check before deploying, newest first. Only releases that need a
|
|
|
4
4
|
decision or a configuration change appear here; see the
|
|
5
5
|
[CHANGELOG](../../CHANGELOG.md) for everything else.
|
|
6
6
|
|
|
7
|
+
## To 0.18.0
|
|
8
|
+
|
|
9
|
+
### Mailing lists are no longer copied to James
|
|
10
|
+
|
|
11
|
+
**Who is affected:** a deployment that loads `twake/james`.
|
|
12
|
+
|
|
13
|
+
`twake/james` no longer creates, fills or deletes James address groups
|
|
14
|
+
(`/address/groups`) for mailing lists, the groups with a `mail` whose
|
|
15
|
+
`twakeMailboxType` is `mailingList` or is not set. Twake Mail must read them
|
|
16
|
+
from LDAP with its `LDAPMailingList` mailet: without it, a mail sent to a
|
|
17
|
+
list address is no longer delivered to its members.
|
|
18
|
+
|
|
19
|
+
The address groups already created for these lists stay in James. Delete
|
|
20
|
+
them: `GET /address/groups` lists the address groups,
|
|
21
|
+
`DELETE /address/groups/{group}` deletes one.
|
|
22
|
+
|
|
23
|
+
`--james-mailing-list-branches` now only keeps team mailboxes out of these
|
|
24
|
+
branches.
|
|
25
|
+
|
|
26
|
+
### The Twake schemas translate their hints and form sections
|
|
27
|
+
|
|
28
|
+
**Who is affected:** a deployment serving the shipped Twake schemas
|
|
29
|
+
(`twake/*.json`, or a schema extending one) to a client that reads `hint` or
|
|
30
|
+
`group` as a plain string.
|
|
31
|
+
|
|
32
|
+
These are now maps keyed by language tag, as `label` already was:
|
|
33
|
+
`{ "en": "Mailbox Settings", "fr": "Paramètres de messagerie" }`. Such a client
|
|
34
|
+
shows them as `[object Object]`, or not at all: upgrade it along with the
|
|
35
|
+
server.
|
|
36
|
+
|
|
7
37
|
## To 0.17.0
|
|
8
38
|
|
|
9
39
|
### The quota attribute defaults to `mailQuotaSize`
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CacheManager } from '../cache/CacheManager.js';
|
|
2
|
+
import { hasRole } from '../../shared/utils/schema.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* LDAP Resource Editor - Generic API Client
|
|
@@ -164,7 +165,7 @@ class ResourceApiClient {
|
|
|
164
165
|
if (resource.schemaUrl) {
|
|
165
166
|
try {
|
|
166
167
|
const schema = await this.getSchema(resource.schemaUrl);
|
|
167
|
-
const displayField = Object.entries(schema.attributes).find(([, attr]) => attr
|
|
168
|
+
const displayField = Object.entries(schema.attributes).find(([, attr]) => hasRole(attr, 'displayName'));
|
|
168
169
|
if (displayField) {
|
|
169
170
|
displayNameField = displayField[0];
|
|
170
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceApiClient.js","sources":["../../../../../src/browser/ldap-resource-editor/api/ResourceApiClient.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ResourceApiClient.js","sources":["../../../../../src/browser/ldap-resource-editor/api/ResourceApiClient.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CacheManager } from '../cache/CacheManager.js';
|
|
2
|
+
import { hasRole } from '../../shared/utils/schema.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* LDAP User Editor - API Client
|
|
@@ -149,7 +150,7 @@ class UserApiClient {
|
|
|
149
150
|
try {
|
|
150
151
|
const schema = await this.getSchema(resource.schemaUrl);
|
|
151
152
|
// Find field with displayName role
|
|
152
|
-
const displayField = Object.entries(schema.attributes).find(([, attr]) => attr
|
|
153
|
+
const displayField = Object.entries(schema.attributes).find(([, attr]) => hasRole(attr, 'displayName'));
|
|
153
154
|
if (displayField) {
|
|
154
155
|
displayNameField = displayField[0];
|
|
155
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserApiClient.js","sources":["../../../../../src/browser/ldap-user-editor/api/UserApiClient.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserApiClient.js","sources":["../../../../../src/browser/ldap-user-editor/api/UserApiClient.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PointerField } from './PointerField.js';
|
|
2
2
|
import { MoveUserModal } from './MoveUserModal.js';
|
|
3
|
+
import { hasRole, localizedText } from '../../shared/utils/schema.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* LDAP User Editor - User Editor Component
|
|
@@ -101,7 +102,7 @@ class UserEditor {
|
|
|
101
102
|
getFieldByRole(role) {
|
|
102
103
|
if (!this.schema || !this.user)
|
|
103
104
|
return '';
|
|
104
|
-
const field = Object.entries(this.schema.attributes).find(([, attr]) => attr
|
|
105
|
+
const field = Object.entries(this.schema.attributes).find(([, attr]) => hasRole(attr, role));
|
|
105
106
|
if (!field)
|
|
106
107
|
return '';
|
|
107
108
|
const [fieldName] = field;
|
|
@@ -158,11 +159,12 @@ class UserEditor {
|
|
|
158
159
|
// Skip objectClass (it's fixed)
|
|
159
160
|
if (fieldName === 'objectClass')
|
|
160
161
|
continue;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
const group = localizedText(attr.group);
|
|
163
|
+
if (group) {
|
|
164
|
+
if (!groupedFields[group]) {
|
|
165
|
+
groupedFields[group] = [];
|
|
164
166
|
}
|
|
165
|
-
groupedFields[
|
|
167
|
+
groupedFields[group].push(fieldName);
|
|
166
168
|
}
|
|
167
169
|
else {
|
|
168
170
|
ungroupedFields.push(fieldName);
|
|
@@ -207,11 +209,12 @@ class UserEditor {
|
|
|
207
209
|
return '';
|
|
208
210
|
}
|
|
209
211
|
// Hide organizationLink and organizationPath fields - use Move button instead
|
|
210
|
-
if (attr
|
|
212
|
+
if (hasRole(attr, 'organizationLink') ||
|
|
213
|
+
hasRole(attr, 'organizationPath')) {
|
|
211
214
|
return '';
|
|
212
215
|
}
|
|
213
216
|
// Show identifier fields as disabled
|
|
214
|
-
if (attr
|
|
217
|
+
if (hasRole(attr, 'identifier')) {
|
|
215
218
|
return this.renderIdentifierField(fieldName);
|
|
216
219
|
}
|
|
217
220
|
// Pointer fields
|
|
@@ -494,7 +497,7 @@ class UserEditor {
|
|
|
494
497
|
if (!this.user || !this.schema)
|
|
495
498
|
return;
|
|
496
499
|
// Find the organizationLink field to get current organization
|
|
497
|
-
const orgLinkField = Object.entries(this.schema.attributes).find(([, attr]) => attr
|
|
500
|
+
const orgLinkField = Object.entries(this.schema.attributes).find(([, attr]) => hasRole(attr, 'organizationLink'));
|
|
498
501
|
if (!orgLinkField) {
|
|
499
502
|
alert('This user type does not support moving between organizations');
|
|
500
503
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserEditor.js","sources":["../../../../../src/browser/ldap-user-editor/components/UserEditor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserEditor.js","sources":["../../../../../src/browser/ldap-user-editor/components/UserEditor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|