@solidxai/core 0.1.17-beta.0 → 0.1.17-beta.2

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +1330 -0
  2. package/CLAUDE.md +26 -0
  3. package/dist/constants/media-file-types.d.ts +2 -2
  4. package/dist/constants/media-file-types.d.ts.map +1 -1
  5. package/dist/constants/media-file-types.js +24 -10
  6. package/dist/constants/media-file-types.js.map +1 -1
  7. package/dist/controllers/media.controller.d.ts.map +1 -1
  8. package/dist/controllers/media.controller.js +7 -2
  9. package/dist/controllers/media.controller.js.map +1 -1
  10. package/dist/controllers/user.controller.d.ts +1 -0
  11. package/dist/controllers/user.controller.d.ts.map +1 -1
  12. package/dist/controllers/user.controller.js +18 -2
  13. package/dist/controllers/user.controller.js.map +1 -1
  14. package/dist/services/authentication.service.d.ts +2 -4
  15. package/dist/services/authentication.service.d.ts.map +1 -1
  16. package/dist/services/authentication.service.js +8 -16
  17. package/dist/services/authentication.service.js.map +1 -1
  18. package/dist/services/settings/default-settings-provider.service.d.ts +20 -0
  19. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  20. package/dist/services/settings/default-settings-provider.service.js +12 -0
  21. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  22. package/dist/services/user.service.d.ts +2 -0
  23. package/dist/services/user.service.d.ts.map +1 -1
  24. package/dist/services/user.service.js +58 -44
  25. package/dist/services/user.service.js.map +1 -1
  26. package/dist/solid-core.module.d.ts.map +1 -1
  27. package/dist/solid-core.module.js +5 -1
  28. package/dist/solid-core.module.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/constants/media-file-types.ts +76 -24
  31. package/src/controllers/media.controller.ts +18 -3
  32. package/src/controllers/user.controller.ts +37 -3
  33. package/src/services/authentication.service.ts +21 -19
  34. package/src/services/settings/default-settings-provider.service.ts +12 -0
  35. package/src/services/user.service.ts +101 -47
  36. package/src/solid-core.module.ts +12 -2
@@ -43,7 +43,6 @@ const metadata_validation_service_1 = require("./metadata-validation.service");
43
43
  const user_service_1 = require("./user.service");
44
44
  const sms_factory_1 = require("../factories/sms.factory");
45
45
  const whatsapp_factory_1 = require("../factories/whatsapp.factory");
46
- const solid_registry_1 = require("../helpers/solid-registry");
47
46
  var LoginProvider;
48
47
  (function (LoginProvider) {
49
48
  LoginProvider["LOCAL"] = "local";
@@ -71,7 +70,7 @@ const SIGNUP_POLICY = {
71
70
  },
72
71
  };
73
72
  let AuthenticationService = AuthenticationService_1 = class AuthenticationService {
74
- constructor(userService, userRepository, hashingService, jwtService, activeSessionStorage, accessTokenDenylist, refreshTokenIdsStorage, httpService, mailServiceFactory, smsFactory, whatsAppFactory, eventEmitter, settingService, roleMetadataService, userActivityHistoryService, ssoCodeStorage, metadataValidationService, dataSource, solidRegistry) {
73
+ constructor(userService, userRepository, hashingService, jwtService, activeSessionStorage, accessTokenDenylist, refreshTokenIdsStorage, httpService, mailServiceFactory, smsFactory, whatsAppFactory, eventEmitter, settingService, roleMetadataService, userActivityHistoryService, ssoCodeStorage, metadataValidationService, dataSource) {
75
74
  this.userService = userService;
76
75
  this.userRepository = userRepository;
77
76
  this.hashingService = hashingService;
@@ -90,7 +89,6 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
90
89
  this.ssoCodeStorage = ssoCodeStorage;
91
90
  this.metadataValidationService = metadataValidationService;
92
91
  this.dataSource = dataSource;
93
- this.solidRegistry = solidRegistry;
94
92
  this.logger = new common_1.Logger(AuthenticationService_1.name);
95
93
  }
96
94
  async getCompanyLogo() {
@@ -175,9 +173,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
175
173
  }
176
174
  switch (source) {
177
175
  case RolesSource.Provider:
178
- return (this.solidRegistry
179
- .getExtensionUserCreationProvider()
180
- ?.roles(dto) ?? []);
176
+ return this.userService.resolveProviderRoles(dto);
181
177
  case RolesSource.Caller:
182
178
  return dto.roles ?? [];
183
179
  case RolesSource.Default:
@@ -406,7 +402,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
406
402
  throw new common_1.ConflictException(error_messages_1.ERROR_MESSAGES.USER_ALREADY_EXISTS);
407
403
  }
408
404
  try {
409
- const user = await this.upsertUserWithRegistrationVerificationTokens(existingUser, signUpDto, validationSource);
405
+ const user = await this.resolveUserForOtpRegistration(existingUser, signUpDto, validationSource);
410
406
  await this.notifyUserOnOtpInitiateRegistration(user, validationSource);
411
407
  }
412
408
  catch (err) {
@@ -439,19 +435,16 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
439
435
  resolvePasswordlessValidationSource() {
440
436
  return this.settingService.getConfigValue("passwordlessRegistrationValidateWhat");
441
437
  }
442
- async upsertUserWithRegistrationVerificationTokens(existingUser, signUpDto, validationSource) {
438
+ async resolveUserForOtpRegistration(existingUser, signUpDto, validationSource) {
443
439
  if ((0, class_validator_1.isEmpty)(existingUser)) {
444
440
  const roles = this.resolveSignupRoles(signUpDto, SIGNUP_POLICY[signup_intent_enum_1.SignupIntent.SelfRegistration].rolesSource);
445
441
  const { entity: user, repo } = await this.createUser(signUpDto);
446
442
  user.active = false;
447
443
  await this.assignRegistrationOtp(validationSource, user);
448
444
  await repo.save(user);
449
- if (roles.length) {
450
- await this.userService.addRolesToUser(user.username, roles);
451
- }
452
- else {
453
- await this.userService.addRoleToUser(user.username, this.settingService.getConfigValue("defaultRole"));
454
- }
445
+ const defaultRole = this.settingService.getConfigValue("defaultRole");
446
+ const effectiveRoles = roles.length ? roles : [defaultRole].filter(Boolean);
447
+ await this.userService.initializeRolesForNewUser(effectiveRoles, user);
455
448
  return user;
456
449
  }
457
450
  const user = existingUser;
@@ -1679,8 +1672,7 @@ exports.AuthenticationService = AuthenticationService = AuthenticationService_1
1679
1672
  user_activity_history_service_1.UserActivityHistoryService,
1680
1673
  sso_code_storage_service_1.SsoCodeStorageService,
1681
1674
  metadata_validation_service_1.MetadataValidationService,
1682
- typeorm_2.DataSource,
1683
- solid_registry_1.SolidRegistry])
1675
+ typeorm_2.DataSource])
1684
1676
  ], AuthenticationService);
1685
1677
  function parseUniqueConstraintError(detail) {
1686
1678
  const match = detail.match(/Key \(([^)]+)\)=\(([^)]+)\) already exists\./);