@nymphjs/tilmeld 1.0.0-alpha.8 → 1.0.0-beta.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/CHANGELOG.md +174 -0
- package/dist/Group.d.ts +1 -1
- package/dist/Group.js +27 -26
- package/dist/Group.js.map +1 -1
- package/dist/Tilmeld.js +100 -37
- package/dist/Tilmeld.js.map +1 -1
- package/dist/Tilmeld.types.d.ts +1 -1
- package/dist/User.d.ts +41 -3
- package/dist/User.js +139 -38
- package/dist/User.js.map +1 -1
- package/dist/conf/d.d.ts +2 -1
- package/dist/conf/defaults.js +13 -19
- package/dist/conf/defaults.js.map +1 -1
- package/dist/errors/index.js +5 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/tilmeldJoiProps.d.ts +6 -6
- package/jest.config.js +1 -1
- package/package.json +20 -22
- package/src/Group.ts +7 -6
- package/src/Tilmeld.ts +136 -43
- package/src/User.ts +236 -23
- package/src/conf/d.ts +13 -1
- package/src/conf/defaults.ts +14 -18
package/src/conf/defaults.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { nymphJoiProps } from '@nymphjs/nymph';
|
|
2
1
|
import path from 'path';
|
|
3
2
|
import jwt from 'jsonwebtoken';
|
|
4
|
-
import { nanoid } from 'nanoid';
|
|
5
3
|
import Email from 'email-templates';
|
|
6
4
|
import Joi from 'joi';
|
|
5
|
+
import { nanoid } from '@nymphjs/guid';
|
|
6
|
+
import { nymphJoiProps } from '@nymphjs/nymph';
|
|
7
7
|
|
|
8
8
|
import { Config } from './d';
|
|
9
9
|
import User from '../User';
|
|
@@ -107,16 +107,21 @@ export default {
|
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
emailTemplateDir: path.join(__dirname, '..', '..', 'emails'),
|
|
110
|
-
|
|
110
|
+
configEmail: async (tilmeld, _options, _user) => {
|
|
111
111
|
const appUrl = new URL(tilmeld.config.appUrl);
|
|
112
|
-
|
|
112
|
+
return {
|
|
113
113
|
message: {
|
|
114
114
|
from: {
|
|
115
115
|
name: tilmeld.config.appName,
|
|
116
116
|
address: `noreply@${appUrl.hostname}`,
|
|
117
117
|
},
|
|
118
118
|
},
|
|
119
|
-
}
|
|
119
|
+
};
|
|
120
|
+
},
|
|
121
|
+
sendEmail: async (tilmeld, options, user) => {
|
|
122
|
+
const email = new Email(
|
|
123
|
+
await tilmeld.config.configEmail(tilmeld, options, user)
|
|
124
|
+
);
|
|
120
125
|
try {
|
|
121
126
|
const result = await email.send({
|
|
122
127
|
...options,
|
|
@@ -159,7 +164,7 @@ export default {
|
|
|
159
164
|
group.$getValidatable(),
|
|
160
165
|
Joi.object().keys({
|
|
161
166
|
...nymphJoiProps,
|
|
162
|
-
groupname: Joi.string().trim(false).
|
|
167
|
+
groupname: Joi.string().trim(false).required(),
|
|
163
168
|
enabled: Joi.boolean().required(),
|
|
164
169
|
email: Joi.string()
|
|
165
170
|
.trim(false)
|
|
@@ -171,7 +176,6 @@ export default {
|
|
|
171
176
|
name: 'control characters',
|
|
172
177
|
invert: true,
|
|
173
178
|
})
|
|
174
|
-
.min(1)
|
|
175
179
|
.max(512)
|
|
176
180
|
.required(),
|
|
177
181
|
avatar: Joi.string()
|
|
@@ -181,7 +185,6 @@ export default {
|
|
|
181
185
|
name: 'control characters',
|
|
182
186
|
invert: true,
|
|
183
187
|
})
|
|
184
|
-
.min(1)
|
|
185
188
|
.max(1024),
|
|
186
189
|
phone: Joi.string()
|
|
187
190
|
.trim(false)
|
|
@@ -194,7 +197,6 @@ export default {
|
|
|
194
197
|
name: 'control characters',
|
|
195
198
|
invert: true,
|
|
196
199
|
})
|
|
197
|
-
.min(1)
|
|
198
200
|
.max(256)
|
|
199
201
|
),
|
|
200
202
|
defaultPrimary: Joi.boolean(),
|
|
@@ -209,7 +211,7 @@ export default {
|
|
|
209
211
|
user.$getValidatable(),
|
|
210
212
|
Joi.object().keys({
|
|
211
213
|
...nymphJoiProps,
|
|
212
|
-
username: Joi.string().trim(false).
|
|
214
|
+
username: Joi.string().trim(false).required(),
|
|
213
215
|
enabled: Joi.boolean().required(),
|
|
214
216
|
email: Joi.string()
|
|
215
217
|
.trim(false)
|
|
@@ -221,7 +223,6 @@ export default {
|
|
|
221
223
|
name: 'control characters',
|
|
222
224
|
invert: true,
|
|
223
225
|
})
|
|
224
|
-
.min(1)
|
|
225
226
|
.max(512)
|
|
226
227
|
.required(),
|
|
227
228
|
nameMiddle: Joi.string()
|
|
@@ -230,7 +231,6 @@ export default {
|
|
|
230
231
|
name: 'control characters',
|
|
231
232
|
invert: true,
|
|
232
233
|
})
|
|
233
|
-
.min(1)
|
|
234
234
|
.max(512),
|
|
235
235
|
nameLast: Joi.string()
|
|
236
236
|
.trim(false)
|
|
@@ -238,7 +238,6 @@ export default {
|
|
|
238
238
|
name: 'control characters',
|
|
239
239
|
invert: true,
|
|
240
240
|
})
|
|
241
|
-
.min(1)
|
|
242
241
|
.max(512),
|
|
243
242
|
name: Joi.string()
|
|
244
243
|
.trim(false)
|
|
@@ -246,7 +245,6 @@ export default {
|
|
|
246
245
|
name: 'control characters',
|
|
247
246
|
invert: true,
|
|
248
247
|
})
|
|
249
|
-
.min(1)
|
|
250
248
|
.max(512)
|
|
251
249
|
.required(),
|
|
252
250
|
avatar: Joi.string()
|
|
@@ -256,7 +254,6 @@ export default {
|
|
|
256
254
|
name: 'control characters',
|
|
257
255
|
invert: true,
|
|
258
256
|
})
|
|
259
|
-
.min(1)
|
|
260
257
|
.max(1024),
|
|
261
258
|
phone: Joi.string()
|
|
262
259
|
.trim(false)
|
|
@@ -269,7 +266,6 @@ export default {
|
|
|
269
266
|
name: 'control characters',
|
|
270
267
|
invert: true,
|
|
271
268
|
})
|
|
272
|
-
.min(1)
|
|
273
269
|
.max(256)
|
|
274
270
|
),
|
|
275
271
|
inheritAbilities: Joi.boolean(),
|
|
@@ -309,8 +305,8 @@ export default {
|
|
|
309
305
|
})
|
|
310
306
|
.length(10),
|
|
311
307
|
recoverSecretDate: Joi.number(),
|
|
312
|
-
salt: Joi.string().trim(false)
|
|
313
|
-
password: Joi.string().trim(false).
|
|
308
|
+
salt: Joi.string().trim(false),
|
|
309
|
+
password: Joi.string().trim(false).required(),
|
|
314
310
|
}),
|
|
315
311
|
'Invalid User: '
|
|
316
312
|
);
|