@nymphjs/tilmeld 1.0.0-alpha.2 → 1.0.0-alpha.6

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.
@@ -1,12 +1,12 @@
1
+ import { nymphJoiProps } from '@nymphjs/nymph';
1
2
  import path from 'path';
2
3
  import jwt from 'jsonwebtoken';
3
4
  import { nanoid } from 'nanoid';
4
- import Email, { EmailOptions } from 'email-templates';
5
+ import Email from 'email-templates';
5
6
  import Joi from 'joi';
6
7
 
7
- import Tilmeld from '../Tilmeld';
8
8
  import { Config } from './d';
9
- import User, { UserData } from '../User';
9
+ import User from '../User';
10
10
  import Group from '../Group';
11
11
 
12
12
  export default {
@@ -21,6 +21,9 @@ export default {
21
21
  allowUsernameChange: true,
22
22
  enableUserSearch: false,
23
23
  enableGroupSearch: false,
24
+ clientReadableUIDs: [],
25
+ clientEnabledUIDs: [],
26
+ clientSetabledUIDs: [],
24
27
  userFields: ['name', 'email', 'phone'],
25
28
  regFields: ['name', 'email'],
26
29
  verifyEmail: true,
@@ -155,28 +158,7 @@ export default {
155
158
  Joi.attempt(
156
159
  group.$getValidatable(),
157
160
  Joi.object().keys({
158
- guid: Joi.alternatives()
159
- .try(
160
- Joi.any().only().allow(null),
161
- Joi.string().trim(false).length(24).hex()
162
- )
163
- .required(),
164
- cdate: Joi.alternatives()
165
- .try(Joi.any().only().allow(null), Joi.number())
166
- .required(),
167
- mdate: Joi.alternatives()
168
- .try(Joi.any().only().allow(null), Joi.number())
169
- .required(),
170
- tags: Joi.array()
171
- .items(
172
- Joi.string()
173
- .pattern(/[\x01-\x1F\x7F]/, {
174
- name: 'control characters',
175
- invert: true,
176
- })
177
- .min(1)
178
- )
179
- .required(),
161
+ ...nymphJoiProps,
180
162
  groupname: Joi.string().trim(false).min(1).required(),
181
163
  enabled: Joi.boolean().required(),
182
164
  email: Joi.string()
@@ -226,28 +208,7 @@ export default {
226
208
  Joi.attempt(
227
209
  user.$getValidatable(),
228
210
  Joi.object().keys({
229
- guid: Joi.alternatives()
230
- .try(
231
- Joi.any().only().allow(null),
232
- Joi.string().trim(false).length(24).hex()
233
- )
234
- .required(),
235
- cdate: Joi.alternatives()
236
- .try(Joi.any().only().allow(null), Joi.number())
237
- .required(),
238
- mdate: Joi.alternatives()
239
- .try(Joi.any().only().allow(null), Joi.number())
240
- .required(),
241
- tags: Joi.array()
242
- .items(
243
- Joi.string()
244
- .pattern(/[\x01-\x1F\x7F]/, {
245
- name: 'control characters',
246
- invert: true,
247
- })
248
- .min(1)
249
- )
250
- .required(),
211
+ ...nymphJoiProps,
251
212
  username: Joi.string().trim(false).min(1).required(),
252
213
  enabled: Joi.boolean().required(),
253
214
  email: Joi.string()
package/src/index.ts CHANGED
@@ -11,10 +11,12 @@ export { Group };
11
11
 
12
12
  import Tilmeld from './Tilmeld';
13
13
  export { Tilmeld };
14
- export default Tilmeld;
15
14
 
16
15
  export * from './Tilmeld.types';
17
16
 
17
+ import tilmeldJoiProps from './tilmeldJoiProps';
18
+ export { tilmeldJoiProps };
19
+
18
20
  export * from './User';
19
21
  import User from './User';
20
22
  export { User };
@@ -0,0 +1,46 @@
1
+ import { TilmeldAccessLevels } from '@nymphjs/nymph';
2
+ import Joi from 'joi';
3
+
4
+ import User from './User';
5
+ import Group from './Group';
6
+
7
+ export default {
8
+ user: Joi.object().instance(User),
9
+ group: Joi.object().instance(Group),
10
+ acUser: Joi.number().valid(
11
+ TilmeldAccessLevels.NO_ACCESS,
12
+ TilmeldAccessLevels.READ_ACCESS,
13
+ TilmeldAccessLevels.WRITE_ACCESS,
14
+ TilmeldAccessLevels.FULL_ACCESS
15
+ ),
16
+ acGroup: Joi.number().valid(
17
+ TilmeldAccessLevels.NO_ACCESS,
18
+ TilmeldAccessLevels.READ_ACCESS,
19
+ TilmeldAccessLevels.WRITE_ACCESS,
20
+ TilmeldAccessLevels.FULL_ACCESS
21
+ ),
22
+ acOther: Joi.number().valid(
23
+ TilmeldAccessLevels.NO_ACCESS,
24
+ TilmeldAccessLevels.READ_ACCESS,
25
+ TilmeldAccessLevels.WRITE_ACCESS,
26
+ TilmeldAccessLevels.FULL_ACCESS
27
+ ),
28
+ acRead: Joi.array().items(
29
+ Joi.alternatives().try(
30
+ Joi.object().instance(User),
31
+ Joi.object().instance(Group)
32
+ )
33
+ ),
34
+ acWrite: Joi.array().items(
35
+ Joi.alternatives().try(
36
+ Joi.object().instance(User),
37
+ Joi.object().instance(Group)
38
+ )
39
+ ),
40
+ acFull: Joi.array().items(
41
+ Joi.alternatives().try(
42
+ Joi.object().instance(User),
43
+ Joi.object().instance(Group)
44
+ )
45
+ ),
46
+ };