@solidxai/core 0.1.9-beta.7 → 0.1.9-beta.8

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 (172) hide show
  1. package/dist/constants/chatter-message.constants.d.ts +6 -0
  2. package/dist/constants/chatter-message.constants.d.ts.map +1 -1
  3. package/dist/constants/chatter-message.constants.js +7 -1
  4. package/dist/constants/chatter-message.constants.js.map +1 -1
  5. package/dist/controllers/authentication.controller.d.ts +12 -0
  6. package/dist/controllers/authentication.controller.d.ts.map +1 -1
  7. package/dist/controllers/authentication.controller.js +13 -0
  8. package/dist/controllers/authentication.controller.js.map +1 -1
  9. package/dist/controllers/chatter-message.controller.d.ts +1 -0
  10. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  11. package/dist/controllers/chatter-message.controller.js +12 -0
  12. package/dist/controllers/chatter-message.controller.js.map +1 -1
  13. package/dist/controllers/facebook-authentication.controller.d.ts +27 -0
  14. package/dist/controllers/facebook-authentication.controller.d.ts.map +1 -0
  15. package/dist/controllers/facebook-authentication.controller.js +117 -0
  16. package/dist/controllers/facebook-authentication.controller.js.map +1 -0
  17. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -0
  18. package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
  19. package/dist/controllers/menu-item-metadata.controller.js +15 -0
  20. package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
  21. package/dist/controllers/microsoft-authentication.controller.d.ts +27 -0
  22. package/dist/controllers/microsoft-authentication.controller.d.ts.map +1 -0
  23. package/dist/controllers/microsoft-authentication.controller.js +118 -0
  24. package/dist/controllers/microsoft-authentication.controller.js.map +1 -0
  25. package/dist/controllers/setting.controller.d.ts +2 -2
  26. package/dist/controllers/setting.controller.js +2 -2
  27. package/dist/decorators/auth.decorator.d.ts.map +1 -1
  28. package/dist/decorators/computed-field-provider.decorator.d.ts.map +1 -1
  29. package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +1 -1
  30. package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +1 -1
  31. package/dist/decorators/disallow-in-production.decorator.d.ts.map +1 -1
  32. package/dist/decorators/error-codes-provider.decorator.d.ts.map +1 -1
  33. package/dist/decorators/extension-user-creation-provider.decorator.d.ts.map +1 -1
  34. package/dist/decorators/is-not-in-enum.decorator.d.ts.map +1 -1
  35. package/dist/decorators/mail-provider.decorator.d.ts.map +1 -1
  36. package/dist/decorators/roles.decorator.d.ts.map +1 -1
  37. package/dist/decorators/scheduled-job-provider.decorator.d.ts.map +1 -1
  38. package/dist/decorators/security-rule-config-provider.decorator.d.ts.map +1 -1
  39. package/dist/decorators/selection-provider.decorator.d.ts.map +1 -1
  40. package/dist/decorators/sms-provider.decorator.d.ts.map +1 -1
  41. package/dist/decorators/solid-database-module.decorator.d.ts.map +1 -1
  42. package/dist/decorators/whatsapp-provider.decorator.d.ts.map +1 -1
  43. package/dist/dtos/create-chatter-message.dto.d.ts +1 -0
  44. package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -1
  45. package/dist/dtos/create-chatter-message.dto.js +7 -1
  46. package/dist/dtos/create-chatter-message.dto.js.map +1 -1
  47. package/dist/dtos/post-chatter-message.dto.d.ts +1 -0
  48. package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -1
  49. package/dist/dtos/post-chatter-message.dto.js +6 -1
  50. package/dist/dtos/post-chatter-message.dto.js.map +1 -1
  51. package/dist/dtos/update-chatter-message.dto.d.ts +1 -0
  52. package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -1
  53. package/dist/dtos/update-chatter-message.dto.js +7 -1
  54. package/dist/dtos/update-chatter-message.dto.js.map +1 -1
  55. package/dist/entities/chatter-message.entity.d.ts +1 -0
  56. package/dist/entities/chatter-message.entity.d.ts.map +1 -1
  57. package/dist/entities/chatter-message.entity.js +5 -1
  58. package/dist/entities/chatter-message.entity.js.map +1 -1
  59. package/dist/entities/user.entity.d.ts +8 -0
  60. package/dist/entities/user.entity.d.ts.map +1 -1
  61. package/dist/entities/user.entity.js +33 -1
  62. package/dist/entities/user.entity.js.map +1 -1
  63. package/dist/helpers/cors.helper.js +1 -1
  64. package/dist/helpers/cors.helper.js.map +1 -1
  65. package/dist/helpers/facebook-oauth.helper.d.ts +8 -0
  66. package/dist/helpers/facebook-oauth.helper.d.ts.map +1 -0
  67. package/dist/helpers/facebook-oauth.helper.js +11 -0
  68. package/dist/helpers/facebook-oauth.helper.js.map +1 -0
  69. package/dist/helpers/microsoft-oauth.helper.d.ts +9 -0
  70. package/dist/helpers/microsoft-oauth.helper.d.ts.map +1 -0
  71. package/dist/helpers/microsoft-oauth.helper.js +12 -0
  72. package/dist/helpers/microsoft-oauth.helper.js.map +1 -0
  73. package/dist/helpers/security.helper.d.ts.map +1 -1
  74. package/dist/helpers/string.helper.d.ts.map +1 -1
  75. package/dist/helpers/user-helper.d.ts.map +1 -1
  76. package/dist/helpers/user-helper.js +4 -0
  77. package/dist/helpers/user-helper.js.map +1 -1
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +2 -0
  81. package/dist/index.js.map +1 -1
  82. package/dist/interfaces.d.ts +19 -0
  83. package/dist/interfaces.d.ts.map +1 -1
  84. package/dist/interfaces.js.map +1 -1
  85. package/dist/passport-strategies/facebook-oauth.strategy.d.ts +14 -0
  86. package/dist/passport-strategies/facebook-oauth.strategy.d.ts.map +1 -0
  87. package/dist/passport-strategies/facebook-oauth.strategy.js +73 -0
  88. package/dist/passport-strategies/facebook-oauth.strategy.js.map +1 -0
  89. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts +14 -0
  90. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts.map +1 -0
  91. package/dist/passport-strategies/microsoft-oauth.strategy.js +77 -0
  92. package/dist/passport-strategies/microsoft-oauth.strategy.js.map +1 -0
  93. package/dist/seeders/seed-data/solid-core-metadata.json +27 -58
  94. package/dist/services/api-key.service.d.ts +17 -1
  95. package/dist/services/api-key.service.d.ts.map +1 -1
  96. package/dist/services/api-key.service.js +38 -2
  97. package/dist/services/api-key.service.js.map +1 -1
  98. package/dist/services/authentication.service.d.ts +51 -16
  99. package/dist/services/authentication.service.d.ts.map +1 -1
  100. package/dist/services/authentication.service.js +318 -150
  101. package/dist/services/authentication.service.js.map +1 -1
  102. package/dist/services/chatter-message.service.d.ts +1 -0
  103. package/dist/services/chatter-message.service.d.ts.map +1 -1
  104. package/dist/services/chatter-message.service.js +24 -7
  105. package/dist/services/chatter-message.service.js.map +1 -1
  106. package/dist/services/crud-helper.service.d.ts.map +1 -1
  107. package/dist/services/model-metadata.service.js +1 -1
  108. package/dist/services/model-metadata.service.js.map +1 -1
  109. package/dist/services/setting.service.d.ts +5 -2
  110. package/dist/services/setting.service.d.ts.map +1 -1
  111. package/dist/services/setting.service.js +51 -6
  112. package/dist/services/setting.service.js.map +1 -1
  113. package/dist/services/settings/default-settings-provider.service.d.ts +830 -0
  114. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  115. package/dist/services/settings/default-settings-provider.service.js +1033 -117
  116. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  117. package/dist/services/user.service.d.ts +2 -0
  118. package/dist/services/user.service.d.ts.map +1 -1
  119. package/dist/services/user.service.js +72 -0
  120. package/dist/services/user.service.js.map +1 -1
  121. package/dist/solid-core.module.d.ts.map +1 -1
  122. package/dist/solid-core.module.js +11 -3
  123. package/dist/solid-core.module.js.map +1 -1
  124. package/dist/transformers/array-transformer.d.ts.map +1 -1
  125. package/dist/transformers/boolean-transformer.d.ts.map +1 -1
  126. package/dist/transformers/datetime-transformer.d.ts.map +1 -1
  127. package/dist/transformers/integer-transformer.d.ts.map +1 -1
  128. package/dist/validators/is-parsable-int.d.ts.map +1 -1
  129. package/dist-tests/api/authenticate.spec.js +119 -0
  130. package/dist-tests/api/authenticate.spec.js.map +1 -0
  131. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
  132. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
  133. package/dist-tests/api/ping.spec.js +21 -0
  134. package/dist-tests/api/ping.spec.js.map +1 -0
  135. package/dist-tests/helpers/auth.js +41 -0
  136. package/dist-tests/helpers/auth.js.map +1 -0
  137. package/dist-tests/helpers/env.js +11 -0
  138. package/dist-tests/helpers/env.js.map +1 -0
  139. package/docs/java-spring/README.md +3 -0
  140. package/docs/java-spring/solid-core-module-deep-dive-report.md +1317 -0
  141. package/nest +0 -0
  142. package/package.json +7 -1
  143. package/src/constants/chatter-message.constants.ts +7 -0
  144. package/src/controllers/authentication.controller.ts +8 -1
  145. package/src/controllers/chatter-message.controller.ts +6 -0
  146. package/src/controllers/facebook-authentication.controller.ts +113 -0
  147. package/src/controllers/menu-item-metadata.controller.ts +21 -15
  148. package/src/controllers/microsoft-authentication.controller.ts +116 -0
  149. package/src/dtos/create-chatter-message.dto.ts +11 -0
  150. package/src/dtos/post-chatter-message.dto.ts +4 -0
  151. package/src/dtos/update-chatter-message.dto.ts +13 -1
  152. package/src/entities/chatter-message.entity.ts +4 -1
  153. package/src/entities/user.entity.ts +32 -0
  154. package/src/helpers/cors.helper.ts +1 -1
  155. package/src/helpers/facebook-oauth.helper.ts +17 -0
  156. package/src/helpers/microsoft-oauth.helper.ts +19 -0
  157. package/src/helpers/user-helper.ts +4 -0
  158. package/src/index.ts +2 -0
  159. package/src/interfaces.ts +32 -1
  160. package/src/passport-strategies/facebook-oauth.strategy.ts +64 -0
  161. package/src/passport-strategies/microsoft-oauth.strategy.ts +70 -0
  162. package/src/seeders/seed-data/solid-core-metadata.json +27 -58
  163. package/src/services/api-key.service.ts +77 -35
  164. package/src/services/authentication.service.ts +1717 -1278
  165. package/src/services/chatter-message.service.ts +23 -3
  166. package/src/services/model-metadata.service.ts +1 -1
  167. package/src/services/setting.service.ts +64 -8
  168. package/src/services/settings/default-settings-provider.service.ts +1104 -155
  169. package/src/services/user.service.ts +87 -0
  170. package/src/solid-core.module.ts +25 -8
  171. package/.claude/settings.local.json +0 -15
  172. package/src/services/1.js +0 -6
@@ -239,6 +239,93 @@ export class UserService extends CRUDService<User> {
239
239
  return user;
240
240
  }
241
241
 
242
+ async resolveUserOnOauthFacebook(oauthUserDto: OauthUserDto): Promise<User> {
243
+ const user = await this.repo.findOne({
244
+ where: {
245
+ email: oauthUserDto.email,
246
+ },
247
+ relations: {
248
+ roles: true,
249
+ },
250
+ });
251
+
252
+ if (!user) {
253
+ const newUser = new User();
254
+ newUser.username = oauthUserDto.email;
255
+ newUser.email = oauthUserDto.email;
256
+ newUser.fullName = oauthUserDto.name;
257
+ newUser.lastLoginProvider = oauthUserDto.provider;
258
+ newUser.accessCode = oauthUserDto.accessCode;
259
+ newUser.facebookAccessToken = oauthUserDto.accessToken;
260
+ newUser.facebookId = oauthUserDto.providerId;
261
+ newUser.facebookProfilePicture = oauthUserDto.picture;
262
+
263
+ const savedUser = await this.repo.save(newUser);
264
+
265
+ await this.initializeRolesForNewUser(
266
+ [this.settingService.getConfigValue<SolidCoreSetting>('defaultRole')],
267
+ savedUser,
268
+ );
269
+ return savedUser;
270
+ } else {
271
+ const entity = await this.repo.preload({
272
+ id: user.id,
273
+ lastLoginProvider: oauthUserDto.provider,
274
+ accessCode: oauthUserDto.accessCode,
275
+ facebookAccessToken: oauthUserDto.accessToken,
276
+ facebookId: oauthUserDto.providerId,
277
+ facebookProfilePicture: oauthUserDto.picture,
278
+ });
279
+
280
+ await this.repo.save(entity);
281
+ return entity;
282
+ }
283
+ }
284
+
285
+
286
+ async resolveUserOnOauthMicrosoft(oauthUserDto: OauthUserDto): Promise<User> {
287
+ const user = await this.repo.findOne({
288
+ where: {
289
+ email: oauthUserDto.email,
290
+ },
291
+ relations: {
292
+ roles: true,
293
+ },
294
+ });
295
+
296
+ if (!user) {
297
+ const newUser = new User();
298
+ newUser.username = oauthUserDto.email;
299
+ newUser.email = oauthUserDto.email;
300
+ newUser.fullName = oauthUserDto.name;
301
+ newUser.lastLoginProvider = oauthUserDto.provider;
302
+ newUser.accessCode = oauthUserDto.accessCode;
303
+ newUser.microsoftAccessToken = oauthUserDto.accessToken;
304
+ newUser.microsoftId = oauthUserDto.providerId;
305
+ newUser.microsoftProfilePicture = oauthUserDto.picture;
306
+
307
+ const savedUser = await this.repo.save(newUser);
308
+
309
+ await this.initializeRolesForNewUser(
310
+ [this.settingService.getConfigValue<SolidCoreSetting>('defaultRole')],
311
+ savedUser,
312
+ );
313
+ return savedUser;
314
+ } else {
315
+ const entity = await this.repo.preload({
316
+ id: user.id,
317
+ lastLoginProvider: oauthUserDto.provider,
318
+ accessCode: oauthUserDto.accessCode,
319
+ microsoftAccessToken: oauthUserDto.accessToken,
320
+ microsoftId: oauthUserDto.providerId,
321
+ microsoftProfilePicture: oauthUserDto.picture,
322
+ });
323
+
324
+ await this.repo.save(entity);
325
+ return entity;
326
+ }
327
+ }
328
+
242
329
  async findUsersByRole(roleName: string, relations: any = {}): Promise<User[]> {
243
330
  return await this.repo.find({
244
331
  where: {
@@ -26,7 +26,7 @@ import { ModuleMetadata } from './entities/module-metadata.entity';
26
26
  import { CommandService } from './helpers/command.service';
27
27
  import { SchematicService } from './helpers/schematic.service';
28
28
  import { ListOfValuesSelectionProvider } from './services/selection-providers/list-of-values-selection-providers.service';
29
- import { PseudoForeignKeySelectionProvider } from './services/selection-providers/pseudo-foreign-key-selection-provider.service'
29
+ import { PseudoForeignKeySelectionProvider } from './services/selection-providers/pseudo-foreign-key-selection-provider.service';
30
30
  import { ModuleMetadataSeederService } from './seeders/module-metadata-seeder.service';
31
31
  import { ModuleTestDataService } from './seeders/module-test-data.service';
32
32
  import { CrudHelperService } from './services/crud-helper.service';
@@ -55,6 +55,11 @@ import { ActionMetadataController } from './controllers/action-metadata.controll
55
55
  import { ActionMetadata } from './entities/action-metadata.entity';
56
56
  import { ActionMetadataService } from './services/action-metadata.service';
57
57
 
58
+ import { FacebookAuthenticationController } from './controllers/facebook-authentication.controller';
59
+ import { MicrosoftAuthenticationController } from './controllers/microsoft-authentication.controller';
60
+ import { FacebookOAuthStrategy } from './passport-strategies/facebook-oauth.strategy';
61
+ import { MicrosoftOAuthStrategy } from './passport-strategies/microsoft-oauth.strategy';
62
+
58
63
  import { HttpModule } from '@nestjs/axios';
59
64
  import { JwtModule } from '@nestjs/jwt';
60
65
  import { SeedCommand } from './commands/seed.command';
@@ -133,7 +138,14 @@ import { BcryptService } from './services/bcrypt.service';
133
138
  import { UuidExternalIdEntityComputedFieldProvider } from './services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service';
134
139
  import { UuidExternalIdComputedFieldProvider } from './services/computed-fields/uuid-external-id-computed-field-provider.service';
135
140
  import { EmailTemplateService } from './services/email-template.service';
136
- import { DiskFileService, S3FileService, FileServiceFactory, DiskStoragePathBuilder, S3StoragePathBuilder, StoragePathBuilderFactory } from './services/file';
141
+ import {
142
+ DiskFileService,
143
+ S3FileService,
144
+ FileServiceFactory,
145
+ DiskStoragePathBuilder,
146
+ S3StoragePathBuilder,
147
+ StoragePathBuilderFactory,
148
+ } from './services/file';
137
149
  import { HashingService } from './services/hashing.service';
138
150
  import { ElasticEmailService } from './services/mail/elastic-email.service';
139
151
  import { SMTPEMailService } from './services/mail/smtp-email.service';
@@ -229,7 +241,6 @@ import { SmtpEmailQueueSubscriberDatabase } from './jobs/database/smtp-email-sub
229
241
  import { TwilioSmsQueuePublisherDatabase } from './jobs/database/twilio-sms-publisher-database.service';
230
242
  import { TwilioSmsQueueSubscriberDatabase } from './jobs/database/twilio-sms-subscriber-database.service';
231
243
 
232
-
233
244
  // import { ThrottlerModule } from '@nestjs/throttler';
234
245
  import { IngestCommand } from './commands/ingest.command';
235
246
  import { MailFactory } from './factories/mail.factory';
@@ -380,7 +391,6 @@ import { InfoCommand } from './commands/info.command';
380
391
  import { ListOfRolesSelectionProvider } from './services/selection-providers/list-of-roles-selectionproviders.service';
381
392
  import { Entity } from 'typeorm';
382
393
 
383
-
384
394
  @Global()
385
395
  @Module({
386
396
  imports: [
@@ -442,12 +452,12 @@ import { Entity } from 'typeorm';
442
452
  // you can also expose CORS here (not needed for simple <img>):
443
453
  // res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
444
454
  },
445
- }
455
+ },
446
456
  }),
447
457
  MulterModule.registerAsync({
448
458
  imports: [ConfigModule],
449
459
  useFactory: async (configService: ConfigService) => ({
450
- dest: process.env.AB_MEDIA_UPLOAD_DIR ?? "media-uploads",
460
+ dest: process.env.AB_MEDIA_UPLOAD_DIR ?? 'media-uploads',
451
461
  }),
452
462
  inject: [ConfigService],
453
463
  }),
@@ -474,6 +484,8 @@ import { Entity } from 'typeorm';
474
484
  ExportTransactionController,
475
485
  FieldMetadataController,
476
486
  GoogleAuthenticationController,
487
+ FacebookAuthenticationController,
488
+ MicrosoftAuthenticationController,
477
489
  ImportTransactionController,
478
490
  ImportTransactionErrorLogController,
479
491
  ListOfValuesController,
@@ -524,7 +536,7 @@ import { Entity } from 'typeorm';
524
536
  },
525
537
  {
526
538
  provide: APP_FILTER,
527
- useClass: HttpExceptionFilter
539
+ useClass: HttpExceptionFilter,
528
540
  },
529
541
  ModuleMetadataService,
530
542
  ModuleMetadataHelperService,
@@ -640,6 +652,8 @@ import { Entity } from 'typeorm';
640
652
  RefreshTokenIdsStorageService,
641
653
  SsoCodeStorageService,
642
654
  GoogleOauthStrategy,
655
+ FacebookOAuthStrategy,
656
+ MicrosoftOAuthStrategy,
643
657
  UserRegistrationListener,
644
658
  TestQueuePublisher,
645
659
  TestQueueSubscriber,
@@ -873,7 +887,10 @@ import { Entity } from 'typeorm';
873
887
  export class SolidCoreModule implements NestModule {
874
888
  configure(consumer: MiddlewareConsumer) {
875
889
  consumer
876
- .apply(express.json({ limit: '10mb' }), express.urlencoded({ limit: '10mb', extended: true }))
890
+ .apply(
891
+ express.json({ limit: '10mb' }),
892
+ express.urlencoded({ limit: '10mb', extended: true }),
893
+ )
877
894
  .forRoutes('*');
878
895
  }
879
896
  }
@@ -1,15 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(node -e:*)",
5
- "WebFetch(domain:docs.solidxai.com)",
6
- "WebFetch(domain:github.com)",
7
- "Read(//Users/oswald/projects/Solid_Starters/solidctl/**)",
8
- "Read(//Users/oswald/projects/Solid_Starters/**)",
9
- "Bash(find /Users/oswald/projects/Solid_Starters/solid-core-module -type d -name migration* -o -name *database*)"
10
- ],
11
- "additionalDirectories": [
12
- "/Users/oswald/projects/Solid_Starters/solidctl"
13
- ]
14
- }
15
- }
package/src/services/1.js DELETED
@@ -1,6 +0,0 @@
1
- 1. Do i need to create a storeStreams method for aws service too?
2
- - Handle later
3
- 2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
4
- - startExport should either return the data or return the transaction id
5
- 3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
6
- - show the userKey