@solidxai/core 0.1.12-beta.0 → 0.1.12-beta.10

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 (208) hide show
  1. package/dist/commands/seed.command.d.ts.map +1 -1
  2. package/dist/commands/seed.command.js +10 -2
  3. package/dist/commands/seed.command.js.map +1 -1
  4. package/dist/constants/error-messages.d.ts +1 -0
  5. package/dist/constants/error-messages.d.ts.map +1 -1
  6. package/dist/constants/error-messages.js +1 -0
  7. package/dist/constants/error-messages.js.map +1 -1
  8. package/dist/constants/media-file-types.d.ts +5 -0
  9. package/dist/constants/media-file-types.d.ts.map +1 -0
  10. package/dist/constants/media-file-types.js +27 -0
  11. package/dist/constants/media-file-types.js.map +1 -0
  12. package/dist/controllers/media.controller.d.ts +14 -11
  13. package/dist/controllers/media.controller.d.ts.map +1 -1
  14. package/dist/controllers/media.controller.js +72 -33
  15. package/dist/controllers/media.controller.js.map +1 -1
  16. package/dist/dtos/create-chatter-message.dto.d.ts +1 -0
  17. package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -1
  18. package/dist/dtos/create-chatter-message.dto.js +7 -1
  19. package/dist/dtos/create-chatter-message.dto.js.map +1 -1
  20. package/dist/dtos/create-media.dto.d.ts +1 -0
  21. package/dist/dtos/create-media.dto.d.ts.map +1 -1
  22. package/dist/dtos/create-media.dto.js +7 -1
  23. package/dist/dtos/create-media.dto.js.map +1 -1
  24. package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
  25. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  26. package/dist/dtos/create-role-metadata.dto.js +3 -1
  27. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  28. package/dist/dtos/post-chatter-message.dto.d.ts +1 -0
  29. package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -1
  30. package/dist/dtos/post-chatter-message.dto.js +6 -1
  31. package/dist/dtos/post-chatter-message.dto.js.map +1 -1
  32. package/dist/dtos/update-chatter-message.dto.d.ts +1 -0
  33. package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -1
  34. package/dist/dtos/update-chatter-message.dto.js +8 -1
  35. package/dist/dtos/update-chatter-message.dto.js.map +1 -1
  36. package/dist/dtos/update-chatter-note-message.dto.d.ts +1 -0
  37. package/dist/dtos/update-chatter-note-message.dto.d.ts.map +1 -1
  38. package/dist/dtos/update-chatter-note-message.dto.js +7 -1
  39. package/dist/dtos/update-chatter-note-message.dto.js.map +1 -1
  40. package/dist/dtos/update-media.dto.d.ts +1 -0
  41. package/dist/dtos/update-media.dto.d.ts.map +1 -1
  42. package/dist/dtos/update-media.dto.js +7 -1
  43. package/dist/dtos/update-media.dto.js.map +1 -1
  44. package/dist/entities/chatter-message.entity.d.ts +1 -0
  45. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  46. package/dist/entities/chatter-message.entity.js +5 -1
  47. package/dist/entities/chatter-message.entity.js.map +1 -1
  48. package/dist/entities/media.entity.js.map +1 -1
  49. package/dist/enums/auth-type.enum.d.ts +2 -1
  50. package/dist/enums/auth-type.enum.d.ts.map +1 -1
  51. package/dist/enums/auth-type.enum.js +1 -0
  52. package/dist/enums/auth-type.enum.js.map +1 -1
  53. package/dist/guards/authentication.guard.d.ts +3 -1
  54. package/dist/guards/authentication.guard.d.ts.map +1 -1
  55. package/dist/guards/authentication.guard.js +5 -1
  56. package/dist/guards/authentication.guard.js.map +1 -1
  57. package/dist/guards/media-signed-url.guard.d.ts +9 -0
  58. package/dist/guards/media-signed-url.guard.d.ts.map +1 -0
  59. package/dist/guards/media-signed-url.guard.js +49 -0
  60. package/dist/guards/media-signed-url.guard.js.map +1 -0
  61. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
  62. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +10 -13
  63. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
  64. package/dist/helpers/solid-core-error-codes-provider.service.d.ts.map +1 -1
  65. package/dist/helpers/solid-core-error-codes-provider.service.js +9 -0
  66. package/dist/helpers/solid-core-error-codes-provider.service.js.map +1 -1
  67. package/dist/interfaces/chatter-mention-notification.interface.d.ts +27 -0
  68. package/dist/interfaces/chatter-mention-notification.interface.d.ts.map +1 -0
  69. package/dist/interfaces/chatter-mention-notification.interface.js +3 -0
  70. package/dist/interfaces/chatter-mention-notification.interface.js.map +1 -0
  71. package/dist/interfaces.d.ts +19 -1
  72. package/dist/interfaces.d.ts.map +1 -1
  73. package/dist/interfaces.js +2 -0
  74. package/dist/interfaces.js.map +1 -1
  75. package/dist/jobs/chatter-mention-notification-email-queue-handler.service.d.ts +17 -0
  76. package/dist/jobs/chatter-mention-notification-email-queue-handler.service.d.ts.map +1 -0
  77. package/dist/jobs/chatter-mention-notification-email-queue-handler.service.js +106 -0
  78. package/dist/jobs/chatter-mention-notification-email-queue-handler.service.js.map +1 -0
  79. package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.d.ts +12 -0
  80. package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.d.ts.map +1 -0
  81. package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.js +39 -0
  82. package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.js.map +1 -0
  83. package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.d.ts +8 -0
  84. package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.d.ts.map +1 -0
  85. package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.js +10 -0
  86. package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.js.map +1 -0
  87. package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.d.ts +20 -0
  88. package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.d.ts.map +1 -0
  89. package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.js +48 -0
  90. package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.js.map +1 -0
  91. package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.d.ts +12 -0
  92. package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.d.ts.map +1 -0
  93. package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.js +39 -0
  94. package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.js.map +1 -0
  95. package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.d.ts +8 -0
  96. package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.d.ts.map +1 -0
  97. package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.js +10 -0
  98. package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.js.map +1 -0
  99. package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.d.ts +18 -0
  100. package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.d.ts.map +1 -0
  101. package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.js +45 -0
  102. package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.js.map +1 -0
  103. package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.d.ts +12 -0
  104. package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.d.ts.map +1 -0
  105. package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.js +39 -0
  106. package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.js.map +1 -0
  107. package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.d.ts +8 -0
  108. package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.d.ts.map +1 -0
  109. package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.js +10 -0
  110. package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.js.map +1 -0
  111. package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.d.ts +18 -0
  112. package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.d.ts.map +1 -0
  113. package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.js +45 -0
  114. package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.js.map +1 -0
  115. package/dist/repository/media.repository.d.ts.map +1 -1
  116. package/dist/repository/media.repository.js.map +1 -1
  117. package/dist/seeders/module-metadata-seeder.service.d.ts +7 -1
  118. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  119. package/dist/seeders/module-metadata-seeder.service.js +87 -3
  120. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  121. package/dist/seeders/permission-metadata-seeder.service.d.ts +1 -0
  122. package/dist/seeders/permission-metadata-seeder.service.d.ts.map +1 -1
  123. package/dist/seeders/permission-metadata-seeder.service.js +6 -1
  124. package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
  125. package/dist/seeders/seed-data/solid-core-metadata.json +95 -13
  126. package/dist/services/authentication.service.d.ts +2 -2
  127. package/dist/services/authentication.service.d.ts.map +1 -1
  128. package/dist/services/authentication.service.js +52 -43
  129. package/dist/services/authentication.service.js.map +1 -1
  130. package/dist/services/chatter-message.service.d.ts +7 -1
  131. package/dist/services/chatter-message.service.d.ts.map +1 -1
  132. package/dist/services/chatter-message.service.js +85 -4
  133. package/dist/services/chatter-message.service.js.map +1 -1
  134. package/dist/services/media-download-url.service.d.ts +22 -0
  135. package/dist/services/media-download-url.service.d.ts.map +1 -0
  136. package/dist/services/media-download-url.service.js +70 -0
  137. package/dist/services/media-download-url.service.js.map +1 -0
  138. package/dist/services/media-storage.utils.d.ts +24 -0
  139. package/dist/services/media-storage.utils.d.ts.map +1 -0
  140. package/dist/services/media-storage.utils.js +73 -0
  141. package/dist/services/media-storage.utils.js.map +1 -0
  142. package/dist/services/media.service.d.ts +20 -4
  143. package/dist/services/media.service.d.ts.map +1 -1
  144. package/dist/services/media.service.js +155 -55
  145. package/dist/services/media.service.js.map +1 -1
  146. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +4 -4
  147. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
  148. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +34 -63
  149. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  150. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
  151. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  152. package/dist/services/mediaStorageProviders/file-storage-provider.js +34 -38
  153. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  154. package/dist/services/role-metadata.service.d.ts +1 -0
  155. package/dist/services/role-metadata.service.d.ts.map +1 -1
  156. package/dist/services/role-metadata.service.js +8 -5
  157. package/dist/services/role-metadata.service.js.map +1 -1
  158. package/dist/solid-core.module.d.ts.map +1 -1
  159. package/dist/solid-core.module.js +25 -1
  160. package/dist/solid-core.module.js.map +1 -1
  161. package/dist/subscribers/audit.subscriber.js +1 -1
  162. package/dist/subscribers/audit.subscriber.js.map +1 -1
  163. package/package.json +1 -1
  164. package/src/commands/seed.command.ts +12 -3
  165. package/src/constants/error-messages.ts +1 -0
  166. package/src/constants/media-file-types.ts +44 -0
  167. package/src/controllers/media.controller.ts +44 -24
  168. package/src/dtos/create-chatter-message.dto.ts +5 -0
  169. package/src/dtos/create-media.dto.ts +8 -3
  170. package/src/dtos/create-role-metadata.dto.ts +2 -0
  171. package/src/dtos/post-chatter-message.dto.ts +4 -0
  172. package/src/dtos/update-chatter-message.dto.ts +6 -0
  173. package/src/dtos/update-chatter-note-message.dto.ts +5 -0
  174. package/src/dtos/update-media.dto.ts +8 -3
  175. package/src/entities/chatter-message.entity.ts +3 -0
  176. package/src/entities/media.entity.ts +1 -1
  177. package/src/enums/auth-type.enum.ts +1 -0
  178. package/src/guards/authentication.guard.ts +3 -0
  179. package/src/guards/media-signed-url.guard.ts +41 -0
  180. package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +12 -24
  181. package/src/helpers/solid-core-error-codes-provider.service.ts +9 -0
  182. package/src/interfaces/chatter-mention-notification.interface.ts +29 -0
  183. package/src/interfaces.ts +20 -0
  184. package/src/jobs/chatter-mention-notification-email-queue-handler.service.ts +114 -0
  185. package/src/jobs/database/chatter-mention-notification-email-publisher-database.service.ts +23 -0
  186. package/src/jobs/database/chatter-mention-notification-email-queue-options-database.ts +9 -0
  187. package/src/jobs/database/chatter-mention-notification-email-subscriber-database.service.ts +32 -0
  188. package/src/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.ts +23 -0
  189. package/src/jobs/rabbitmq/chatter-mention-notification-email-queue-options.ts +9 -0
  190. package/src/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.ts +30 -0
  191. package/src/jobs/redis/chatter-mention-notification-email-publisher-redis.service.ts +23 -0
  192. package/src/jobs/redis/chatter-mention-notification-email-queue-options-redis.ts +9 -0
  193. package/src/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.ts +30 -0
  194. package/src/repository/media.repository.ts +1 -0
  195. package/src/seeders/module-metadata-seeder.service.ts +109 -3
  196. package/src/seeders/permission-metadata-seeder.service.ts +6 -1
  197. package/src/seeders/seed-data/email-templates/chatter-mention-notification.handlebars.html +200 -0
  198. package/src/seeders/seed-data/solid-core-metadata.json +95 -13
  199. package/src/services/authentication.service.ts +66 -55
  200. package/src/services/chatter-message.service.ts +97 -2
  201. package/src/services/media-download-url.service.ts +74 -0
  202. package/src/services/media-storage.utils.ts +70 -0
  203. package/src/services/media.service.ts +187 -59
  204. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +49 -76
  205. package/src/services/mediaStorageProviders/file-storage-provider.ts +41 -48
  206. package/src/services/role-metadata.service.ts +17 -5
  207. package/src/solid-core.module.ts +35 -2
  208. package/src/subscribers/audit.subscriber.ts +1 -1
@@ -6,6 +6,7 @@ export declare class PermissionMetadataSeederService {
6
6
  private readonly solidRegistry;
7
7
  private readonly roleService;
8
8
  private readonly logger;
9
+ private readonly adminPermissionExclusionPrefixes;
9
10
  constructor(permissionRepo: PermissionMetadataRepository, solidRegistry: SolidRegistry, roleService: RoleMetadataService);
10
11
  seed(): Promise<void>;
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permission-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,qBACa,+BAA+B;IAMxC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAR9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoD;gBAKxD,cAAc,EAAE,4BAA4B,EAC5C,aAAa,EAAE,aAAa,EAE5B,WAAW,EAAE,mBAAmB;IAG7C,IAAI;CA4CX"}
1
+ {"version":3,"file":"permission-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,qBACa,+BAA+B;IAWxC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAb9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoD;IAC3E,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAI/C;gBAKiB,cAAc,EAAE,4BAA4B,EAC5C,aAAa,EAAE,aAAa,EAE5B,WAAW,EAAE,mBAAmB;IAG7C,IAAI;CA4CX"}
@@ -24,6 +24,11 @@ let PermissionMetadataSeederService = PermissionMetadataSeederService_1 = class
24
24
  this.solidRegistry = solidRegistry;
25
25
  this.roleService = roleService;
26
26
  this.logger = new common_1.Logger(PermissionMetadataSeederService_1.name);
27
+ this.adminPermissionExclusionPrefixes = [
28
+ 'ImportTransactionController.',
29
+ 'ExportTemplateController.',
30
+ 'ExportTransactionController.',
31
+ ];
27
32
  }
28
33
  async seed() {
29
34
  const controllers = this.solidRegistry.getControllers();
@@ -55,7 +60,7 @@ let PermissionMetadataSeederService = PermissionMetadataSeederService_1 = class
55
60
  this.logger.error(error);
56
61
  }
57
62
  }
58
- await this.roleService.addAllPermissionsToRole("Admin");
63
+ await this.roleService.addAllPermissionsToRoleExceptPrefixes("Admin", this.adminPermissionExclusionPrefixes);
59
64
  }
60
65
  };
61
66
  exports.PermissionMetadataSeederService = PermissionMetadataSeederService;
@@ -1 +1 @@
1
- {"version":3,"file":"permission-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,8DAA2D;AAC3D,iGAA6F;AAC7F,6EAAwE;AAGjE,IAAM,+BAA+B,uCAArC,MAAM,+BAA+B;IAG1C,YAGmB,cAA4C,EAC5C,aAA4B,EAE7C,WAAiD;QAHhC,mBAAc,GAAd,cAAc,CAA8B;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAE5B,gBAAW,GAAX,WAAW,CAAqB;QARlC,WAAM,GAAG,IAAI,eAAM,CAAC,iCAA+B,CAAC,IAAI,CAAC,CAAC;IASvE,CAAC;IAEL,KAAK,CAAC,IAAI;QAER,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAGxD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;gBAGnC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;oBAE9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,cAAc,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;oBAE1D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;wBAC3D,KAAK,EAAE;4BACL,IAAI,EAAE,cAAc;yBACrB;qBACF,CAAC,CAAC;oBAEH,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,cAAc,kBAAkB,CAAC,CAAC;oBAClE,CAAC;yBACI,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,cAAc,gCAAgC,CAAC,CAAC;wBAE9E,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;4BAC/C,IAAI,EAAE,cAAc;yBACrB,CAAC,CAAC;wBACH,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEhD,CAAC;gBACH,CAAC;YAEH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAxDY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC,CAAC,CAAA;qCAFb,6DAA4B;QAC7B,8BAAa;QAEf,2CAAmB;GATxC,+BAA+B,CAwD3C","sourcesContent":["import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';\nimport { RoleMetadataService } from '../services/role-metadata.service';\n\n@Injectable()\nexport class PermissionMetadataSeederService {\n private readonly logger = new Logger(PermissionMetadataSeederService.name);\n\n constructor(\n // @InjectRepository(PermissionMetadata)\n // private readonly permissionRepo: Repository<PermissionMetadata>,\n private readonly permissionRepo: PermissionMetadataRepository,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => RoleMetadataService))\n private readonly roleService: RoleMetadataService,\n ) { }\n\n async seed() {\n\n const controllers = this.solidRegistry.getControllers();\n\n // Loop over the countries and create them.\n for (let id = 0; id < controllers.length; id++) {\n try {\n const controller = controllers[id];\n // this.logger.log(`Resolving controller: ${controller.name}`);\n\n const methods = controller.methods;\n for (let mId = 0; mId < methods.length; mId++) {\n\n const methodName = methods[mId];\n const permissionName = `${controller.name}.${methodName}`;\n\n const existingPermission = await this.permissionRepo.findOne({\n where: {\n name: permissionName\n }\n });\n\n if (existingPermission) {\n this.logger.log(`Permission ${permissionName} already exists.`);\n }\n else {\n this.logger.log(`Permission ${permissionName} does not exist, creating new.`);\n\n const newPermission = this.permissionRepo.create({\n name: permissionName\n });\n await this.permissionRepo.save(newPermission);\n\n }\n }\n\n } catch (error: any) {\n this.logger.error(error);\n }\n }\n\n // Associate the Admin role with all existing permissions. \n await this.roleService.addAllPermissionsToRole(\"Admin\");\n }\n}"]}
1
+ {"version":3,"file":"permission-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,8DAA2D;AAC3D,iGAA6F;AAC7F,6EAAwE;AAGjE,IAAM,+BAA+B,uCAArC,MAAM,+BAA+B;IAQ1C,YAGmB,cAA4C,EAC5C,aAA4B,EAE7C,WAAiD;QAHhC,mBAAc,GAAd,cAAc,CAA8B;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAE5B,gBAAW,GAAX,WAAW,CAAqB;QAblC,WAAM,GAAG,IAAI,eAAM,CAAC,iCAA+B,CAAC,IAAI,CAAC,CAAC;QAC1D,qCAAgC,GAAG;YAClD,8BAA8B;YAC9B,2BAA2B;YAC3B,8BAA8B;SAC/B,CAAC;IASE,CAAC;IAEL,KAAK,CAAC,IAAI;QAER,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAGxD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;gBAGnC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;oBAE9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,cAAc,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;oBAE1D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;wBAC3D,KAAK,EAAE;4BACL,IAAI,EAAE,cAAc;yBACrB;qBACF,CAAC,CAAC;oBAEH,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,cAAc,kBAAkB,CAAC,CAAC;oBAClE,CAAC;yBACI,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,cAAc,gCAAgC,CAAC,CAAC;wBAE9E,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;4BAC/C,IAAI,EAAE,cAAc;yBACrB,CAAC,CAAC;wBACH,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEhD,CAAC;gBACH,CAAC;YAEH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC/G,CAAC;CACF,CAAA;AA7DY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IAcR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC,CAAC,CAAA;qCAFb,6DAA4B;QAC7B,8BAAa;QAEf,2CAAmB;GAdxC,+BAA+B,CA6D3C","sourcesContent":["import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';\nimport { RoleMetadataService } from '../services/role-metadata.service';\n\n@Injectable()\nexport class PermissionMetadataSeederService {\n private readonly logger = new Logger(PermissionMetadataSeederService.name);\n private readonly adminPermissionExclusionPrefixes = [\n 'ImportTransactionController.',\n 'ExportTemplateController.',\n 'ExportTransactionController.',\n ];\n\n constructor(\n // @InjectRepository(PermissionMetadata)\n // private readonly permissionRepo: Repository<PermissionMetadata>,\n private readonly permissionRepo: PermissionMetadataRepository,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => RoleMetadataService))\n private readonly roleService: RoleMetadataService,\n ) { }\n\n async seed() {\n\n const controllers = this.solidRegistry.getControllers();\n\n // Loop over the countries and create them.\n for (let id = 0; id < controllers.length; id++) {\n try {\n const controller = controllers[id];\n // this.logger.log(`Resolving controller: ${controller.name}`);\n\n const methods = controller.methods;\n for (let mId = 0; mId < methods.length; mId++) {\n\n const methodName = methods[mId];\n const permissionName = `${controller.name}.${methodName}`;\n\n const existingPermission = await this.permissionRepo.findOne({\n where: {\n name: permissionName\n }\n });\n\n if (existingPermission) {\n this.logger.log(`Permission ${permissionName} already exists.`);\n }\n else {\n this.logger.log(`Permission ${permissionName} does not exist, creating new.`);\n\n const newPermission = this.permissionRepo.create({\n name: permissionName\n });\n await this.permissionRepo.save(newPermission);\n\n }\n }\n\n } catch (error: any) {\n this.logger.error(error);\n }\n }\n\n // Associate the Admin role with all existing permissions. \n await this.roleService.addAllPermissionsToRoleExceptPrefixes(\"Admin\", this.adminPermissionExclusionPrefixes);\n }\n}"]}
@@ -3911,6 +3911,18 @@
3911
3911
  "encrypt": false,
3912
3912
  "isSystem": false
3913
3913
  },
3914
+ {
3915
+ "name": "messageBodyMentions",
3916
+ "displayName": "Message Body Mentions",
3917
+ "type": "longText",
3918
+ "ormType": "text",
3919
+ "required": false,
3920
+ "unique": false,
3921
+ "index": false,
3922
+ "private": false,
3923
+ "encrypt": false,
3924
+ "isSystem": false
3925
+ },
3914
3926
  {
3915
3927
  "name": "coModelEntityId",
3916
3928
  "displayName": "CoModel Entity Id",
@@ -5294,6 +5306,9 @@
5294
5306
  "FieldMetadataController.getSelectionDynamicValues",
5295
5307
  "FieldMetadataController.getSelectionDynamicValue",
5296
5308
  "FieldMetadataController.findFieldDefaultMetaData",
5309
+ "MediaController.findMany",
5310
+ "MediaController.findOne",
5311
+ "MediaController.download",
5297
5312
  "SavedFiltersController.delete",
5298
5313
  "SavedFiltersController.deleteMany",
5299
5314
  "SavedFiltersController.findOne",
@@ -5309,14 +5324,6 @@
5309
5324
  "ChatterMessageController.findMany",
5310
5325
  "ChatterMessageController.markCompleted",
5311
5326
  "ChatterMessageController.updateCustomNoteMessage",
5312
- "ImportTransactionController.getImportTemplate",
5313
- "ImportTransactionController.getImportInstructions",
5314
- "ImportTransactionController.getImportMappingInfo",
5315
- "ImportTransactionController.startImportSync",
5316
- "ImportTransactionController.startImportAsync",
5317
- "ImportTransactionController.exportFailedImportedImports",
5318
- "ExportTemplateController.startExportSync",
5319
- "ExportTemplateController.startExportAsync",
5320
5327
  "ListOfValuesController.findMany",
5321
5328
  "ListOfValuesController.findOne",
5322
5329
  "SettingController.getAllSettings",
@@ -5336,6 +5343,31 @@
5336
5343
  "agent:invoke"
5337
5344
  ]
5338
5345
  },
5346
+ {
5347
+ "name": "Allowed To Import",
5348
+ "permissions": [
5349
+ "ImportTransactionController.create",
5350
+ "ImportTransactionController.delete",
5351
+ "ImportTransactionController.deleteMany",
5352
+ "ImportTransactionController.getImportTemplate",
5353
+ "ImportTransactionController.getImportInstructions",
5354
+ "ImportTransactionController.getImportMappingInfo",
5355
+ "ImportTransactionController.partialUpdate",
5356
+ "ImportTransactionController.startImportSync",
5357
+ "ImportTransactionController.startImportAsync",
5358
+ "ImportTransactionController.exportFailedImportedImports"
5359
+ ]
5360
+ },
5361
+ {
5362
+ "name": "Allowed To Export",
5363
+ "permissions": [
5364
+ "ExportTemplateController.create",
5365
+ "ExportTemplateController.delete",
5366
+ "ExportTemplateController.findMany",
5367
+ "ExportTemplateController.startExportSync",
5368
+ "ExportTemplateController.startExportAsync"
5369
+ ]
5370
+ },
5339
5371
  {
5340
5372
  "name": "Public",
5341
5373
  "permissions": [
@@ -8595,16 +8627,15 @@
8595
8627
  "attrs": {
8596
8628
  "name": "roles",
8597
8629
  "widget": "checkbox",
8598
- "inlineCreateAutoSave": "true",
8630
+ "inlineCreateAutoSave": "false",
8599
8631
  "renderModeCheckboxPreprocessor": "MenuItemMetadataRolesFormFieldPreprocessor",
8600
- "inlineCreate": "true",
8632
+ "inlineCreate": "false",
8601
8633
  "inlineCreateLayout": {
8602
8634
  "type": "form",
8603
8635
  "attrs": {
8604
8636
  "name": "form-1",
8605
8637
  "label": "User",
8606
- "className": "grid",
8607
- "width": "20vw"
8638
+ "className": "grid"
8608
8639
  },
8609
8640
  "children": [
8610
8641
  {
@@ -14461,6 +14492,15 @@
14461
14492
  "description": "Welcome email sent to users after signup.",
14462
14493
  "active": true,
14463
14494
  "type": "text"
14495
+ },
14496
+ {
14497
+ "name": "chatter-mention-notification",
14498
+ "displayName": "Default: Chatter Mention Notification",
14499
+ "body": "chatter-mention-notification.handlebars.html",
14500
+ "subject": "{{mentionedByDisplayName}} mentioned you in {{entityDisplayName}}",
14501
+ "description": "This template notifies users when they are mentioned in a custom chatter note.",
14502
+ "active": true,
14503
+ "type": "text"
14464
14504
  }
14465
14505
  ],
14466
14506
  "smsTemplates": [
@@ -14504,7 +14544,8 @@
14504
14544
  "mediaStorageProviders": [
14505
14545
  {
14506
14546
  "name": "default-filesystem",
14507
- "type": "filesystem"
14547
+ "type": "filesystem",
14548
+ "isPublic": true
14508
14549
  },
14509
14550
  {
14510
14551
  "name": "default-aws-s3",
@@ -14540,6 +14581,47 @@
14540
14581
  }
14541
14582
  }
14542
14583
  }
14584
+ },
14585
+ {
14586
+ "name": "model:Media-role:Internal User-own",
14587
+ "description": "Show Media records owned by the current user",
14588
+ "roleUserKey": "Internal User",
14589
+ "modelMetadataUserKey": "media",
14590
+ "securityRuleConfig": {
14591
+ "filters": {
14592
+ "createdBy": {
14593
+ "$eq": "$activeUserId"
14594
+ }
14595
+ }
14596
+ }
14597
+ },
14598
+ {
14599
+ "name": "model:Media-role:Internal User-public",
14600
+ "description": "Show public Media records",
14601
+ "roleUserKey": "Internal User",
14602
+ "modelMetadataUserKey": "media",
14603
+ "securityRuleConfig": {
14604
+ "filters": {
14605
+ "mediaStorageProviderMetadata": {
14606
+ "isPublic": {
14607
+ "$eq": true
14608
+ }
14609
+ }
14610
+ }
14611
+ }
14612
+ },
14613
+ {
14614
+ "name": "model:Media-role:Admin",
14615
+ "description": "Show All Media records",
14616
+ "roleUserKey": "Admin",
14617
+ "modelMetadataUserKey": "media",
14618
+ "securityRuleConfig": {
14619
+ "filters": {
14620
+ "id": {
14621
+ "$ne": "0"
14622
+ }
14623
+ }
14624
+ }
14543
14625
  }
14544
14626
  ],
14545
14627
  "modelSequences": [],
@@ -48,6 +48,7 @@ export declare class AuthenticationService {
48
48
  constructor(userService: UserService, userRepository: UserRepository, hashingService: HashingService, jwtService: JwtService, activeSessionStorage: ActiveSessionStorageService, refreshTokenIdsStorage: RefreshTokenIdsStorageService, httpService: HttpService, mailServiceFactory: MailFactory, smsFactory: SmsFactory, whatsAppFactory: WhatsAppFactory, eventEmitter: EventEmitter2, settingService: SettingService, roleMetadataService: RoleMetadataService, userActivityHistoryService: UserActivityHistoryService, ssoCodeStorage: SsoCodeStorageService, dataSource: DataSource, solidRegistry: SolidRegistry);
49
49
  private getCompanyLogo;
50
50
  resolveUser(username: string, email: string): Promise<User>;
51
+ private resolveUserForPasswordSignIn;
51
52
  updatePasswordDetails(user: User, newPassword: string): Promise<User>;
52
53
  resolveUserByVerificationToken(token: string): Promise<User>;
53
54
  private validateUserForPasswordLogin;
@@ -113,11 +114,10 @@ export declare class AuthenticationService {
113
114
  };
114
115
  }>;
115
116
  private resolveLoginType;
117
+ private resolveUserForOtpEmailSignIn;
116
118
  private findUserForLogin;
117
- private findUserForLoginOrNull;
118
119
  private assignLoginOtp;
119
120
  private buildLoginOtpResponse;
120
- private buildMaskedLoginIdentifier;
121
121
  private notifyUserOnOtpInititateLogin;
122
122
  otpConfirmLogin(confirmSignInDto: OTPConfirmOTPDto): Promise<{
123
123
  accessToken: string;
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.service.d.ts","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.service.d.ts","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAEL,6BAA6B,EAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAa3D,qBACa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAG/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAxBhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;gBAG9C,WAAW,EAAE,WAAW,EAExB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,2BAA2B,EACjD,sBAAsB,EAAE,6BAA6B,EACrD,WAAW,EAAE,WAAW,EAExB,kBAAkB,EAAE,WAAW,EAE/B,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,EACxC,0BAA0B,EAAE,0BAA0B,EACtD,cAAc,EAAE,qBAAqB,EAGrC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa;YAKjC,cAAc;IAItB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;YASnC,4BAA4B;IAoBpC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM;IAcrD,8BAA8B,CAAC,KAAK,EAAE,MAAM;YAOpC,4BAA4B;YAmB5B,wBAAwB;IAWtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAUpC;IAEG,MAAM,CACV,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1C,UAAU,GAAE,cAAqB,GAChC,OAAO,CAAC,IAAI,CAAC;YAuBF,aAAa;YA0Db,2BAA2B;IAqCnC,sBAAsB,CAAC,CAAC,SAAS,IAAI,EACzC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,EAChC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;YAKC,iBAAiB;YAmEjB,gBAAgB;IAkB9B,gBAAgB,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM;YAiB9B,+BAA+B;YAkC/B,qBAAqB;YAQrB,mBAAmB;YAQnB,kBAAkB;IAwD1B,uBAAuB,CAAC,SAAS,EAAE,YAAY;;;IAkCrD,OAAO,CAAC,4BAA4B;YAsBtB,4BAA4B;IAa1C,OAAO,CAAC,mCAAmC;YAM7B,4CAA4C;IAuB1D,OAAO,CAAC,UAAU;YAWJ,qBAAqB;YAqCrB,mCAAmC;IA+HjD,OAAO,CAAC,4BAA4B;YAkCtB,yBAAyB;IAajC,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB;;;;YAoCjD,gCAAgC;IAe9C,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,wBAAwB;YAMlB,uDAAuD;YAwBvD,GAAG;IAWjB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,gBAAgB;IAclB,MAAM,CAAC,SAAS,EAAE,SAAS;;;;;;;;;;;;IA6BjC,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,UAAU;IAWZ,gBAAgB,CAAC,SAAS,EAAE,YAAY;;;;;;;;;;IAmB9C,OAAO,CAAC,gBAAgB;YA2BV,4BAA4B;YAkB5B,gBAAgB;YAqBhB,cAAc;IAsB5B,OAAO,CAAC,qBAAqB;YAcf,6BAA6B;IAwHrC,eAAe,CAAC,gBAAgB,EAAE,gBAAgB;;;;;;;;;;;;IA2CxD,OAAO,CAAC,gBAAgB;YAqBV,aAAa;IA2B3B,OAAO,CAAC,gBAAgB;YAMV,uBAAuB;IAK/B,cAAc,CAClB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,cAAc;YA0Dd,2BAA2B;IAiBnC,sBAAsB,CAC1B,yBAAyB,EAAE,yBAAyB;;;;;;;;;;;YAsDxC,0BAA0B;IA8DlC,qBAAqB,CACzB,wBAAwB,EAAE,wBAAwB;;;;;;;YA6DtC,2BAA2B;IA8DnC,cAAc,CAAC,IAAI,EAAE,IAAI;;;;IAoBzB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM;IAuBlD,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE,MAAM;IAkB9D,aAAa,CAAC,eAAe,EAAE,eAAe;;;;YA4DtC,SAAS;IAuBjB,uBAAuB,CAAC,IAAI,EAAE,IAAI;IAyBlC,iBAAiB,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;IAqCpC,yBAAyB,CAAC,IAAI,EAAE,IAAI;IAiCpC,mBAAmB,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;IAoCtC,0BAA0B,CAAC,IAAI,EAAE,IAAI;IA0BrC,oBAAoB,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;IAoCvC,yCAAyC,CAAC,IAAI,EAAE,IAAI;IA0CpD,mCAAmC,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;IAoCtD,gBAAgB,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;YAkC3B,iCAAiC;IAO/C,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,mBAAmB;YAab,uBAAuB;YAQvB,mBAAmB;IAa3B,MAAM,CAAC,YAAY,EAAE,MAAM;;;IAwC3B,YAAY,CAAC,MAAM,EAAE,MAAM;IAS3B,EAAE,CAAC,UAAU,EAAE,cAAc;;;;;;;;;;IA+B7B,eAAe,CACnB,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBzB,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;CAYnC"}
@@ -79,6 +79,24 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
79
79
  },
80
80
  });
81
81
  }
82
+ async resolveUserForPasswordSignIn(username, email) {
83
+ const normalizedEmail = email?.trim().toLowerCase();
84
+ const query = (await this.userRepository
85
+ .createSecurityRuleAwareQueryBuilder("u"))
86
+ .leftJoinAndSelect("u.roles", "roles");
87
+ if (username) {
88
+ query.where("u.username = :username", { username });
89
+ }
90
+ if (normalizedEmail) {
91
+ if (username) {
92
+ query.orWhere("LOWER(u.email) = :email", { email: normalizedEmail });
93
+ }
94
+ else {
95
+ query.where("LOWER(u.email) = :email", { email: normalizedEmail });
96
+ }
97
+ }
98
+ return await query.getOne();
99
+ }
82
100
  async updatePasswordDetails(user, newPassword) {
83
101
  user.password = await this.hashingService.hash(newPassword);
84
102
  user.passwordScheme = this.hashingService.name();
@@ -123,18 +141,19 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
123
141
  }
124
142
  const entity = await provider.buildExtensionEntity(signUpDto);
125
143
  const effectiveDto = { ...signUpDto, roles: provider.roles(signUpDto) };
126
- return this.performSignUp(effectiveDto, entity, provider.repo);
144
+ return this.performSignUp(effectiveDto, entity, provider.repo, true);
127
145
  }
128
146
  return this.performSignUp(signUpDto, new user_entity_1.User(), this.userRepository);
129
147
  }
130
- async performSignUp(signUpDto, entity, repo) {
148
+ async performSignUp(signUpDto, entity, repo, preferEntityApiKeyFlag = false) {
131
149
  try {
132
150
  const onForcePasswordChange = this.settingService.getConfigValue("forceChangePasswordOnFirstLogin");
133
151
  const activateUserOnRegistration = this.settingService.getConfigValue("activateUserOnRegistration");
134
152
  const defaultRole = this.settingService.getConfigValue("defaultRole");
135
153
  var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(entity, signUpDto, activateUserOnRegistration, onForcePasswordChange);
136
154
  const privateDto = signUpDto;
137
- if (privateDto.isAllowedToGenerateApiKeys !== undefined) {
155
+ if (!preferEntityApiKeyFlag &&
156
+ privateDto.isAllowedToGenerateApiKeys !== undefined) {
138
157
  user.isAllowedToGenerateApiKeys = privateDto.isAllowedToGenerateApiKeys;
139
158
  }
140
159
  const savedUser = await repo.save(user);
@@ -590,7 +609,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
590
609
  .filter(Boolean));
591
610
  }
592
611
  async signIn(signInDto) {
593
- const user = await this.resolveUser(signInDto.username, signInDto.email);
612
+ const user = await this.resolveUserForPasswordSignIn(signInDto.username, signInDto.email);
594
613
  if (!user) {
595
614
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_CREDENTIALS);
596
615
  }
@@ -637,15 +656,13 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
637
656
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.PASSWORDLESS_REGISTRATION_DISABLED);
638
657
  }
639
658
  const type = this.resolveLoginType(signInDto);
640
- const user = await this.findUserForLoginOrNull(type, signInDto.identifier);
641
- if (user) {
642
- const dummyOtp = this.getDummyOtpForUser(user);
643
- if (!dummyOtp) {
644
- await this.assignLoginOtp(user, type);
645
- await this.notifyUserOnOtpInititateLogin(user, type);
646
- }
659
+ const user = await this.findUserForLogin(type, signInDto.identifier);
660
+ const dummyOtp = this.getDummyOtpForUser(user);
661
+ if (!dummyOtp) {
662
+ await this.assignLoginOtp(user, type);
663
+ await this.notifyUserOnOtpInititateLogin(user, type);
647
664
  }
648
- return this.buildLoginOtpResponse(type, signInDto.identifier, user);
665
+ return this.buildLoginOtpResponse(user, type);
649
666
  }
650
667
  resolveLoginType(signInDto) {
651
668
  const setting = this.settingService.getConfigValue("passwordlessLoginValidateWhat");
@@ -662,14 +679,25 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
662
679
  }
663
680
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.INVALID_VERIFICATION_TYPE);
664
681
  }
682
+ async resolveUserForOtpEmailSignIn(identifier, options = {}) {
683
+ const normalizedEmail = identifier?.trim().toLowerCase();
684
+ const query = await this.userRepository.createSecurityRuleAwareQueryBuilder("u");
685
+ if (options.withRoles) {
686
+ query.leftJoinAndSelect("u.roles", "roles");
687
+ }
688
+ query.where("u.username = :username", { username: identifier });
689
+ if (normalizedEmail) {
690
+ query.orWhere("LOWER(u.email) = :email", { email: normalizedEmail });
691
+ }
692
+ return await query.getOne();
693
+ }
665
694
  async findUserForLogin(type, identifier, options = {}) {
666
- const typeWhere = type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
667
- ? { email: identifier }
668
- : { mobile: identifier };
669
- const user = await this.userRepository.findOne({
670
- where: [{ username: identifier }, typeWhere],
671
- ...(options.withRoles ? { relations: { roles: true } } : {}),
672
- });
695
+ const user = type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
696
+ ? await this.resolveUserForOtpEmailSignIn(identifier, options)
697
+ : await this.userRepository.findOne({
698
+ where: [{ username: identifier }, { mobile: identifier }],
699
+ ...(options.withRoles ? { relations: { roles: true } } : {}),
700
+ });
673
701
  if (!user) {
674
702
  throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
675
703
  }
@@ -678,19 +706,6 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
678
706
  }
679
707
  return user;
680
708
  }
681
- async findUserForLoginOrNull(type, identifier, options = {}) {
682
- try {
683
- return await this.findUserForLogin(type, identifier, options);
684
- }
685
- catch (error) {
686
- if (error instanceof common_1.UnauthorizedException &&
687
- (error.message === error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND ||
688
- error.message === error_messages_1.ERROR_MESSAGES.USER_INACTIVE)) {
689
- return null;
690
- }
691
- throw error;
692
- }
693
- }
694
709
  async assignLoginOtp(user, type) {
695
710
  const { token, expiresAt } = await this.otp();
696
711
  if (type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL) {
@@ -710,18 +725,15 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
710
725
  });
711
726
  }
712
727
  }
713
- buildLoginOtpResponse(type, identifier, user) {
714
- const maskedIdentifier = this.buildMaskedLoginIdentifier(type, user?.email ?? user?.mobile ?? identifier);
728
+ buildLoginOtpResponse(user, type) {
729
+ const maskedIdentifier = type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
730
+ ? { email: this.maskEmail(user.email) }
731
+ : { mobile: this.maskMobile(user.mobile) };
715
732
  return {
716
733
  message: success_messages_1.SUCCESS_MESSAGES.OTP_SENT_SUCCESS_LOGIN,
717
734
  user: maskedIdentifier,
718
735
  };
719
736
  }
720
- buildMaskedLoginIdentifier(type, identifier) {
721
- return type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
722
- ? { email: this.maskEmail(identifier) }
723
- : { mobile: this.maskMobile(identifier) };
724
- }
725
737
  async notifyUserOnOtpInititateLogin(user, loginType) {
726
738
  const companyLogo = await this.getCompanyLogo();
727
739
  const dummyOtp = this.getDummyOtpForUser(user);
@@ -798,12 +810,9 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
798
810
  type !== constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
799
811
  throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.INVALID_VERIFICATION_TYPE);
800
812
  }
801
- const user = await this.findUserForLoginOrNull(type, identifier, {
813
+ const user = await this.findUserForLogin(type, identifier, {
802
814
  withRoles: true,
803
815
  });
804
- if (!user) {
805
- throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_OTP);
806
- }
807
816
  this.checkAccountBlocked(user);
808
817
  const dummyOtp = this.getDummyOtpForUser(user);
809
818
  if (dummyOtp) {