@modular-rest/server 1.13.2 → 1.13.4

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/README.md CHANGED
@@ -58,7 +58,7 @@ createRest({
58
58
  - Event system
59
59
  - Extensible architecture
60
60
 
61
- ## TypeScript Support
61
+ ## TypeScript Support
62
62
 
63
63
  This package includes full TypeScript type definitions for all API components. The entire codebase is written in TypeScript, providing:
64
64
 
@@ -358,16 +358,20 @@ class UserManager {
358
358
  return reject(new Error('User model not found'));
359
359
  }
360
360
  try {
361
- // Create anonymous user document
362
- const anonymousUserDoc = await userModel.create({
363
- type: 'anonymous',
364
- permissionGroup: (0, permissionManager_1.getDefaultAnonymousPermissionGroup)().title,
365
- phone: '',
366
- email: '',
367
- password: '',
368
- });
361
+ // Check if anonymous user already exists
362
+ let anonymousUser = await userModel.findOne({ type: 'anonymous' }).exec();
363
+ if (!anonymousUser) {
364
+ // Create anonymous user document
365
+ anonymousUser = await userModel.create({
366
+ type: 'anonymous',
367
+ permissionGroup: (0, permissionManager_1.getDefaultAnonymousPermissionGroup)().title,
368
+ phone: '',
369
+ email: 'anonymous',
370
+ password: '',
371
+ });
372
+ }
369
373
  // Load user from document
370
- const user = await user_1.User.loadFromModel(anonymousUserDoc);
374
+ const user = await user_1.User.loadFromModel(anonymousUser);
371
375
  // Get token payload
372
376
  const payload = user.getBrief();
373
377
  // Generate json web token
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modular-rest/server",
3
- "version": "1.13.2",
3
+ "version": "1.13.4",
4
4
  "description": "TypeScript version of a nodejs module based on KOAJS for developing Rest-APIs in a modular solution.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -391,17 +391,22 @@ class UserManager {
391
391
  }
392
392
 
393
393
  try {
394
- // Create anonymous user document
395
- const anonymousUserDoc = await userModel.create({
396
- type: 'anonymous',
397
- permissionGroup: getDefaultAnonymousPermissionGroup().title,
398
- phone: '',
399
- email: '',
400
- password: '',
401
- });
394
+ // Check if anonymous user already exists
395
+ let anonymousUser = await userModel.findOne({ type: 'anonymous' }).exec();
396
+
397
+ if (!anonymousUser) {
398
+ // Create anonymous user document
399
+ anonymousUser = await userModel.create({
400
+ type: 'anonymous',
401
+ permissionGroup: getDefaultAnonymousPermissionGroup().title,
402
+ phone: '',
403
+ email: 'anonymous',
404
+ password: '',
405
+ });
406
+ }
402
407
 
403
408
  // Load user from document
404
- const user = await User.loadFromModel(anonymousUserDoc);
409
+ const user = await User.loadFromModel(anonymousUser);
405
410
 
406
411
  // Get token payload
407
412
  const payload = user.getBrief();