@solidxai/core 0.1.9-beta.6 → 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 (254) 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/field-crud-managers/ManyToManyRelationFieldCrudManager.js +5 -5
  70. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  71. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
  72. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +2 -2
  73. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
  74. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +5 -5
  75. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  76. package/dist/helpers/microsoft-oauth.helper.d.ts +9 -0
  77. package/dist/helpers/microsoft-oauth.helper.d.ts.map +1 -0
  78. package/dist/helpers/microsoft-oauth.helper.js +12 -0
  79. package/dist/helpers/microsoft-oauth.helper.js.map +1 -0
  80. package/dist/helpers/module-metadata-helper.service.js +3 -3
  81. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  82. package/dist/helpers/security.helper.d.ts.map +1 -1
  83. package/dist/helpers/string.helper.d.ts +1 -0
  84. package/dist/helpers/string.helper.d.ts.map +1 -1
  85. package/dist/helpers/string.helper.js +4 -1
  86. package/dist/helpers/string.helper.js.map +1 -1
  87. package/dist/helpers/user-helper.d.ts.map +1 -1
  88. package/dist/helpers/user-helper.js +4 -0
  89. package/dist/helpers/user-helper.js.map +1 -1
  90. package/dist/index.d.ts +2 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +2 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/interfaces.d.ts +19 -0
  95. package/dist/interfaces.d.ts.map +1 -1
  96. package/dist/interfaces.js.map +1 -1
  97. package/dist/passport-strategies/facebook-oauth.strategy.d.ts +14 -0
  98. package/dist/passport-strategies/facebook-oauth.strategy.d.ts.map +1 -0
  99. package/dist/passport-strategies/facebook-oauth.strategy.js +73 -0
  100. package/dist/passport-strategies/facebook-oauth.strategy.js.map +1 -0
  101. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts +14 -0
  102. package/dist/passport-strategies/microsoft-oauth.strategy.d.ts.map +1 -0
  103. package/dist/passport-strategies/microsoft-oauth.strategy.js +77 -0
  104. package/dist/passport-strategies/microsoft-oauth.strategy.js.map +1 -0
  105. package/dist/repository/chatter-message-details.repository.d.ts.map +1 -1
  106. package/dist/repository/chatter-message-details.repository.js +7 -6
  107. package/dist/repository/chatter-message-details.repository.js.map +1 -1
  108. package/dist/repository/chatter-message.repository.d.ts.map +1 -1
  109. package/dist/repository/chatter-message.repository.js +4 -4
  110. package/dist/repository/chatter-message.repository.js.map +1 -1
  111. package/dist/repository/solid-base.repository.js +2 -2
  112. package/dist/repository/solid-base.repository.js.map +1 -1
  113. package/dist/seeders/module-test-data.service.js +4 -4
  114. package/dist/seeders/module-test-data.service.js.map +1 -1
  115. package/dist/seeders/seed-data/solid-core-metadata.json +27 -58
  116. package/dist/services/api-key.service.d.ts +17 -1
  117. package/dist/services/api-key.service.d.ts.map +1 -1
  118. package/dist/services/api-key.service.js +38 -2
  119. package/dist/services/api-key.service.js.map +1 -1
  120. package/dist/services/authentication.service.d.ts +51 -16
  121. package/dist/services/authentication.service.d.ts.map +1 -1
  122. package/dist/services/authentication.service.js +318 -150
  123. package/dist/services/authentication.service.js.map +1 -1
  124. package/dist/services/chatter-message.service.d.ts +1 -0
  125. package/dist/services/chatter-message.service.d.ts.map +1 -1
  126. package/dist/services/chatter-message.service.js +17 -0
  127. package/dist/services/chatter-message.service.js.map +1 -1
  128. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -1
  129. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +2 -2
  130. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -1
  131. package/dist/services/crud-helper.service.d.ts.map +1 -1
  132. package/dist/services/crud-helper.service.js +9 -9
  133. package/dist/services/crud-helper.service.js.map +1 -1
  134. package/dist/services/export-transaction.service.d.ts.map +1 -1
  135. package/dist/services/export-transaction.service.js +4 -3
  136. package/dist/services/export-transaction.service.js.map +1 -1
  137. package/dist/services/field-metadata.service.d.ts.map +1 -1
  138. package/dist/services/field-metadata.service.js +7 -7
  139. package/dist/services/field-metadata.service.js.map +1 -1
  140. package/dist/services/fixtures.service.js +2 -2
  141. package/dist/services/fixtures.service.js.map +1 -1
  142. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +1 -1
  143. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +2 -2
  144. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +1 -1
  145. package/dist/services/import-transaction.service.d.ts.map +1 -1
  146. package/dist/services/import-transaction.service.js +2 -2
  147. package/dist/services/import-transaction.service.js.map +1 -1
  148. package/dist/services/menu-item-metadata.service.js +2 -2
  149. package/dist/services/menu-item-metadata.service.js.map +1 -1
  150. package/dist/services/model-metadata.service.d.ts.map +1 -1
  151. package/dist/services/model-metadata.service.js +12 -11
  152. package/dist/services/model-metadata.service.js.map +1 -1
  153. package/dist/services/module-metadata.service.d.ts.map +1 -1
  154. package/dist/services/module-metadata.service.js +2 -2
  155. package/dist/services/module-metadata.service.js.map +1 -1
  156. package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
  157. package/dist/services/queues/publisher-factory.service.js +2 -2
  158. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  159. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +3 -3
  160. package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -1
  161. package/dist/services/setting.service.d.ts +5 -2
  162. package/dist/services/setting.service.d.ts.map +1 -1
  163. package/dist/services/setting.service.js +51 -6
  164. package/dist/services/setting.service.js.map +1 -1
  165. package/dist/services/settings/default-settings-provider.service.d.ts +830 -0
  166. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  167. package/dist/services/settings/default-settings-provider.service.js +1033 -117
  168. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  169. package/dist/services/solid-introspect.service.js +2 -2
  170. package/dist/services/solid-introspect.service.js.map +1 -1
  171. package/dist/services/user.service.d.ts +2 -0
  172. package/dist/services/user.service.d.ts.map +1 -1
  173. package/dist/services/user.service.js +72 -0
  174. package/dist/services/user.service.js.map +1 -1
  175. package/dist/services/view-metadata.service.d.ts.map +1 -1
  176. package/dist/services/view-metadata.service.js +2 -2
  177. package/dist/services/view-metadata.service.js.map +1 -1
  178. package/dist/solid-core.module.d.ts.map +1 -1
  179. package/dist/solid-core.module.js +11 -3
  180. package/dist/solid-core.module.js.map +1 -1
  181. package/dist/subscribers/computed-entity-field.subscriber.js +6 -6
  182. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  183. package/dist/transformers/array-transformer.d.ts.map +1 -1
  184. package/dist/transformers/boolean-transformer.d.ts.map +1 -1
  185. package/dist/transformers/datetime-transformer.d.ts.map +1 -1
  186. package/dist/transformers/integer-transformer.d.ts.map +1 -1
  187. package/dist/validators/is-parsable-int.d.ts.map +1 -1
  188. package/dist-tests/api/authenticate.spec.js +119 -0
  189. package/dist-tests/api/authenticate.spec.js.map +1 -0
  190. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
  191. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
  192. package/dist-tests/api/ping.spec.js +21 -0
  193. package/dist-tests/api/ping.spec.js.map +1 -0
  194. package/dist-tests/helpers/auth.js +41 -0
  195. package/dist-tests/helpers/auth.js.map +1 -0
  196. package/dist-tests/helpers/env.js +11 -0
  197. package/dist-tests/helpers/env.js.map +1 -0
  198. package/docs/java-spring/README.md +3 -0
  199. package/docs/java-spring/solid-core-module-deep-dive-report.md +1317 -0
  200. package/nest +0 -0
  201. package/package.json +7 -2
  202. package/src/constants/chatter-message.constants.ts +7 -0
  203. package/src/controllers/authentication.controller.ts +8 -1
  204. package/src/controllers/chatter-message.controller.ts +6 -0
  205. package/src/controllers/facebook-authentication.controller.ts +113 -0
  206. package/src/controllers/menu-item-metadata.controller.ts +21 -15
  207. package/src/controllers/microsoft-authentication.controller.ts +116 -0
  208. package/src/dtos/create-chatter-message.dto.ts +11 -0
  209. package/src/dtos/post-chatter-message.dto.ts +4 -0
  210. package/src/dtos/update-chatter-message.dto.ts +13 -1
  211. package/src/entities/chatter-message.entity.ts +4 -1
  212. package/src/entities/user.entity.ts +32 -0
  213. package/src/helpers/cors.helper.ts +1 -1
  214. package/src/helpers/facebook-oauth.helper.ts +17 -0
  215. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +1 -1
  216. package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +1 -2
  217. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +1 -1
  218. package/src/helpers/microsoft-oauth.helper.ts +19 -0
  219. package/src/helpers/module-metadata-helper.service.ts +3 -3
  220. package/src/helpers/string.helper.ts +3 -0
  221. package/src/helpers/user-helper.ts +4 -0
  222. package/src/index.ts +2 -0
  223. package/src/interfaces.ts +32 -1
  224. package/src/passport-strategies/facebook-oauth.strategy.ts +64 -0
  225. package/src/passport-strategies/microsoft-oauth.strategy.ts +70 -0
  226. package/src/repository/chatter-message-details.repository.ts +4 -3
  227. package/src/repository/chatter-message.repository.ts +4 -4
  228. package/src/repository/solid-base.repository.ts +2 -2
  229. package/src/seeders/module-test-data.service.ts +1 -1
  230. package/src/seeders/seed-data/solid-core-metadata.json +27 -58
  231. package/src/services/api-key.service.ts +77 -35
  232. package/src/services/authentication.service.ts +1717 -1278
  233. package/src/services/chatter-message.service.ts +22 -4
  234. package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +1 -2
  235. package/src/services/crud-helper.service.ts +1 -4
  236. package/src/services/export-transaction.service.ts +3 -4
  237. package/src/services/field-metadata.service.ts +1 -4
  238. package/src/services/fixtures.service.ts +1 -1
  239. package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +1 -2
  240. package/src/services/import-transaction.service.ts +1 -1
  241. package/src/services/menu-item-metadata.service.ts +2 -2
  242. package/src/services/model-metadata.service.ts +11 -13
  243. package/src/services/module-metadata.service.ts +1 -2
  244. package/src/services/queues/publisher-factory.service.ts +1 -2
  245. package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +1 -1
  246. package/src/services/setting.service.ts +64 -8
  247. package/src/services/settings/default-settings-provider.service.ts +1104 -155
  248. package/src/services/solid-introspect.service.ts +1 -1
  249. package/src/services/user.service.ts +87 -0
  250. package/src/services/view-metadata.service.ts +1 -5
  251. package/src/solid-core.module.ts +25 -8
  252. package/src/subscribers/computed-entity-field.subscriber.ts +6 -6
  253. package/.claude/settings.local.json +0 -15
  254. package/src/services/1.js +0 -6
@@ -1,4 +1,4 @@
1
- import { classify } from '@angular-devkit/core/src/utils/strings';
1
+ import { classify } from '../helpers/string.helper';
2
2
  import { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';
3
3
  import { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';
4
4
  import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
@@ -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: {
@@ -4,8 +4,7 @@ import { InjectEntityManager } from '@nestjs/typeorm';
4
4
  import { CRUDService } from 'src/services/crud.service';
5
5
  import { EntityManager } from 'typeorm';
6
6
 
7
-
8
- import { classify } from '@angular-devkit/core/src/utils/strings';
7
+ import { classify } from '../helpers/string.helper';
9
8
  import { Locale } from 'src/entities/locale.entity';
10
9
  import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
11
10
  import { SolidRegistry } from 'src/helpers/solid-registry';
@@ -111,7 +110,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
111
110
  async getLayout(query, activeUser) {
112
111
  let { modelName, moduleName, viewType, id, populate, menuItemId, menuItemName, actionId, actionName } = query;
113
112
 
114
-
115
113
  // 1. Fetch the action based on actionId.
116
114
  const solidRequestContext = {
117
115
  activeUser: activeUser
@@ -156,7 +154,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
156
154
  }));
157
155
  }
158
156
 
159
-
160
157
  const viewId = action?.view?.id
161
158
  // 3. Fetch the view based on module, model & view name.
162
159
  const entity = await this.repo.findOne({
@@ -203,7 +200,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
203
200
  entity.layout = JSON.parse(entity.layout);
204
201
  }
205
202
 
206
-
207
203
  // 6. We are resolving the create & edit actions if specified in the layout.
208
204
  if (entity?.layout?.attrs?.createAction) {
209
205
  const actionName: string = entity.layout.attrs.createAction;
@@ -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,4 +1,4 @@
1
- import { camelize } from "@angular-devkit/core/src/utils/strings";
1
+ import { camelCase } from 'lodash';
2
2
  import { Delete } from "@aws-sdk/client-s3";
3
3
  import { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from "@nestjs/common";
4
4
  import { model } from "mongoose";
@@ -35,33 +35,33 @@ export class ComputedEntityFieldSubscriber implements EntitySubscriberInterface
35
35
  }
36
36
 
37
37
  async beforeInsert(event: InsertEvent<any>): Promise<any> {
38
- const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
38
+ const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
39
39
  const eventContext = this.sanitizeEventContext(event, 'beforeInsert');
40
40
  await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);
41
41
  }
42
42
 
43
43
  async beforeUpdate(event: UpdateEvent<any>): Promise<any> {
44
- const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
44
+ const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
45
45
  const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');
46
46
  // await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);
47
47
  await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);
48
48
  }
49
49
 
50
50
  afterInsert(event: InsertEvent<any>) {
51
- const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
51
+ const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
52
52
  const eventContext = this.sanitizeEventContext(event, 'afterInsert');
53
53
  this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);
54
54
  }
55
55
 
56
56
  afterUpdate(event: UpdateEvent<any>) {
57
- const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
57
+ const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
58
58
  const eventContext = this.sanitizeEventContext(event, 'afterUpdate');
59
59
  // this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);
60
60
  this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);
61
61
  }
62
62
 
63
63
  afterRemove(event: RemoveEvent<any>) {
64
- const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
64
+ const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
65
65
  const eventContext = this.sanitizeEventContext(event, 'afterRemove');
66
66
  this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);
67
67
  }
@@ -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