@solidstarters/solid-core 1.2.201 → 1.2.202

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 (224) hide show
  1. package/dist/config/cache.options.d.ts +1 -1
  2. package/dist/config/cache.options.d.ts.map +1 -1
  3. package/dist/config/cache.options.js +2 -2
  4. package/dist/config/cache.options.js.map +1 -1
  5. package/dist/config/iam.config.d.ts +4 -0
  6. package/dist/config/iam.config.d.ts.map +1 -1
  7. package/dist/config/iam.config.js +2 -0
  8. package/dist/config/iam.config.js.map +1 -1
  9. package/dist/controllers/model-metadata.controller.d.ts +25 -0
  10. package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
  11. package/dist/controllers/model-metadata.controller.js +23 -0
  12. package/dist/controllers/model-metadata.controller.js.map +1 -1
  13. package/dist/controllers/setting.controller.d.ts +1 -2
  14. package/dist/controllers/setting.controller.d.ts.map +1 -1
  15. package/dist/controllers/setting.controller.js +21 -42
  16. package/dist/controllers/setting.controller.js.map +1 -1
  17. package/dist/decorators/sms-provider.decorator.d.ts +3 -0
  18. package/dist/decorators/sms-provider.decorator.d.ts.map +1 -0
  19. package/dist/decorators/sms-provider.decorator.js +11 -0
  20. package/dist/decorators/sms-provider.decorator.js.map +1 -0
  21. package/dist/dtos/navigation.dto.d.ts +6 -0
  22. package/dist/dtos/navigation.dto.d.ts.map +1 -0
  23. package/dist/dtos/navigation.dto.js +33 -0
  24. package/dist/dtos/navigation.dto.js.map +1 -0
  25. package/dist/dtos/sign-in.dto.js +3 -3
  26. package/dist/dtos/sign-in.dto.js.map +1 -1
  27. package/dist/entities/common.entity.js +5 -4
  28. package/dist/entities/common.entity.js.map +1 -1
  29. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  30. package/dist/entities/field-metadata.entity.js +2 -1
  31. package/dist/entities/field-metadata.entity.js.map +1 -1
  32. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  33. package/dist/entities/legacy-common.entity.js +5 -4
  34. package/dist/entities/legacy-common.entity.js.map +1 -1
  35. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  36. package/dist/entities/model-metadata.entity.js +5 -1
  37. package/dist/entities/model-metadata.entity.js.map +1 -1
  38. package/dist/factories/mail.factory.d.ts.map +1 -1
  39. package/dist/factories/mail.factory.js.map +1 -1
  40. package/dist/factories/sms.factory.d.ts +14 -0
  41. package/dist/factories/sms.factory.d.ts.map +1 -0
  42. package/dist/factories/sms.factory.js +53 -0
  43. package/dist/factories/sms.factory.js.map +1 -0
  44. package/dist/helpers/date.helper.d.ts.map +1 -1
  45. package/dist/helpers/date.helper.js +13 -4
  46. package/dist/helpers/date.helper.js.map +1 -1
  47. package/dist/helpers/solid-registry.d.ts +3 -0
  48. package/dist/helpers/solid-registry.d.ts.map +1 -1
  49. package/dist/helpers/solid-registry.js +7 -0
  50. package/dist/helpers/solid-registry.js.map +1 -1
  51. package/dist/index.d.ts +9 -6
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +9 -6
  54. package/dist/index.js.map +1 -1
  55. package/dist/jobs/database/{sms-publisher-database.service.d.ts → msg91-sms-publisher-database.service.d.ts} +2 -2
  56. package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts.map +1 -0
  57. package/dist/jobs/database/{sms-publisher-database.service.js → msg91-sms-publisher-database.service.js} +8 -8
  58. package/dist/jobs/database/msg91-sms-publisher-database.service.js.map +1 -0
  59. package/dist/jobs/database/{sms-queue-database-options.d.ts → msg91-sms-queue-database-options.d.ts} +1 -1
  60. package/dist/jobs/database/msg91-sms-queue-database-options.d.ts.map +1 -0
  61. package/dist/jobs/database/{sms-queue-database-options.js → msg91-sms-queue-database-options.js} +1 -1
  62. package/dist/jobs/database/msg91-sms-queue-database-options.js.map +1 -0
  63. package/dist/jobs/database/{sms-subscriber-database.service.d.ts → msg91-sms-subscriber-database.service.d.ts} +5 -5
  64. package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts.map +1 -0
  65. package/dist/jobs/database/{sms-subscriber-database.service.js → msg91-sms-subscriber-database.service.js} +14 -12
  66. package/dist/jobs/database/msg91-sms-subscriber-database.service.js.map +1 -0
  67. package/dist/jobs/database/otp-subscriber-database.service.d.ts +4 -4
  68. package/dist/jobs/database/otp-subscriber-database.service.d.ts.map +1 -1
  69. package/dist/jobs/database/otp-subscriber-database.service.js +6 -4
  70. package/dist/jobs/database/otp-subscriber-database.service.js.map +1 -1
  71. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +3 -3
  72. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts.map +1 -1
  73. package/dist/jobs/database/twilio-sms-subscriber-database.service.js +6 -4
  74. package/dist/jobs/database/twilio-sms-subscriber-database.service.js.map +1 -1
  75. package/dist/jobs/{sms-publisher.service.d.ts → msg91-otp-publisher.service.d.ts} +2 -2
  76. package/dist/jobs/msg91-otp-publisher.service.d.ts.map +1 -0
  77. package/dist/jobs/{sms-publisher.service.js → msg91-otp-publisher.service.js} +8 -8
  78. package/dist/jobs/msg91-otp-publisher.service.js.map +1 -0
  79. package/dist/jobs/{sms-queue-options.d.ts → msg91-otp-queue-options.d.ts} +1 -1
  80. package/dist/jobs/msg91-otp-queue-options.d.ts.map +1 -0
  81. package/dist/jobs/{otp-queue-options.js → msg91-otp-queue-options.js} +1 -1
  82. package/dist/jobs/msg91-otp-queue-options.js.map +1 -0
  83. package/dist/jobs/{sms-subscriber.service.d.ts → msg91-otp-subscriber.service.d.ts} +6 -6
  84. package/dist/jobs/msg91-otp-subscriber.service.d.ts.map +1 -0
  85. package/dist/jobs/{otp-subscriber.service.js → msg91-otp-subscriber.service.js} +14 -12
  86. package/dist/jobs/msg91-otp-subscriber.service.js.map +1 -0
  87. package/dist/jobs/{otp-publisher.service.d.ts → msg91-sms-publisher.service.d.ts} +2 -2
  88. package/dist/jobs/msg91-sms-publisher.service.d.ts.map +1 -0
  89. package/dist/jobs/{otp-publisher.service.js → msg91-sms-publisher.service.js} +8 -8
  90. package/dist/jobs/msg91-sms-publisher.service.js.map +1 -0
  91. package/dist/jobs/{otp-queue-options.d.ts → msg91-sms-queue-options.d.ts} +1 -1
  92. package/dist/jobs/msg91-sms-queue-options.d.ts.map +1 -0
  93. package/dist/jobs/{sms-queue-options.js → msg91-sms-queue-options.js} +1 -1
  94. package/dist/jobs/msg91-sms-queue-options.js.map +1 -0
  95. package/dist/jobs/{otp-subscriber.service.d.ts → msg91-sms-subscriber.service.d.ts} +7 -7
  96. package/dist/jobs/msg91-sms-subscriber.service.d.ts.map +1 -0
  97. package/dist/jobs/{sms-subscriber.service.js → msg91-sms-subscriber.service.js} +14 -12
  98. package/dist/jobs/msg91-sms-subscriber.service.js.map +1 -0
  99. package/dist/jobs/twilio-sms-subscriber.service.d.ts +3 -3
  100. package/dist/jobs/twilio-sms-subscriber.service.d.ts.map +1 -1
  101. package/dist/jobs/twilio-sms-subscriber.service.js +6 -4
  102. package/dist/jobs/twilio-sms-subscriber.service.js.map +1 -1
  103. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  104. package/dist/seeders/module-metadata-seeder.service.js +23 -1
  105. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  106. package/dist/seeders/seed-data/solid-core-metadata.json +30 -25
  107. package/dist/seeders/user-seeder.service.d.ts.map +1 -1
  108. package/dist/seeders/user-seeder.service.js +5 -4
  109. package/dist/seeders/user-seeder.service.js.map +1 -1
  110. package/dist/services/authentication.service.d.ts +6 -3
  111. package/dist/services/authentication.service.d.ts.map +1 -1
  112. package/dist/services/authentication.service.js +48 -13
  113. package/dist/services/authentication.service.js.map +1 -1
  114. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  115. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  116. package/dist/services/crud.service.d.ts +1 -2
  117. package/dist/services/crud.service.d.ts.map +1 -1
  118. package/dist/services/crud.service.js.map +1 -1
  119. package/dist/services/excel.service.d.ts +1 -0
  120. package/dist/services/excel.service.d.ts.map +1 -1
  121. package/dist/services/excel.service.js +4 -0
  122. package/dist/services/excel.service.js.map +1 -1
  123. package/dist/services/model-metadata.service.d.ts +28 -1
  124. package/dist/services/model-metadata.service.d.ts.map +1 -1
  125. package/dist/services/model-metadata.service.js +109 -2
  126. package/dist/services/model-metadata.service.js.map +1 -1
  127. package/dist/services/setting.service.d.ts.map +1 -1
  128. package/dist/services/setting.service.js +3 -45
  129. package/dist/services/setting.service.js.map +1 -1
  130. package/dist/services/sms/Msg91BaseSMSService.js +6 -6
  131. package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
  132. package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
  133. package/dist/services/sms/Msg91OTPService.js +3 -1
  134. package/dist/services/sms/Msg91OTPService.js.map +1 -1
  135. package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
  136. package/dist/services/sms/Msg91SMSService.js +3 -1
  137. package/dist/services/sms/Msg91SMSService.js.map +1 -1
  138. package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
  139. package/dist/services/sms/TwilioSMSService.js +2 -0
  140. package/dist/services/sms/TwilioSMSService.js.map +1 -1
  141. package/dist/services/solid-introspect.service.d.ts +1 -0
  142. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  143. package/dist/services/solid-introspect.service.js +14 -0
  144. package/dist/services/solid-introspect.service.js.map +1 -1
  145. package/dist/solid-core-cli.module.js +1 -1
  146. package/dist/solid-core-cli.module.js.map +1 -1
  147. package/dist/solid-core.module.d.ts.map +1 -1
  148. package/dist/solid-core.module.js +22 -13
  149. package/dist/solid-core.module.js.map +1 -1
  150. package/dist/subscribers/scheduled-job.subscriber.d.ts.map +1 -1
  151. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  152. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  153. package/dist/transformers/typeorm/local-date-time-transformer.d.ts +2 -2
  154. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -1
  155. package/dist/transformers/typeorm/local-date-time-transformer.js +28 -6
  156. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -1
  157. package/dist/tsconfig.tsbuildinfo +1 -1
  158. package/package.json +1 -1
  159. package/src/config/cache.options.ts +6 -3
  160. package/src/config/iam.config.ts +2 -1
  161. package/src/controllers/model-metadata.controller.ts +21 -1
  162. package/src/controllers/setting.controller.ts +32 -36
  163. package/src/decorators/sms-provider.decorator.ts +7 -0
  164. package/src/dtos/navigation.dto.ts +14 -0
  165. package/src/dtos/sign-in.dto.ts +3 -3
  166. package/src/entities/common.entity.ts +7 -7
  167. package/src/entities/field-metadata.entity.ts +1 -1
  168. package/src/entities/legacy-common.entity.ts +6 -5
  169. package/src/entities/model-metadata.entity.ts +1 -1
  170. package/src/factories/mail.factory.ts +0 -1
  171. package/src/factories/sms.factory.ts +43 -0
  172. package/src/helpers/date.helper.ts +38 -9
  173. package/src/helpers/solid-registry.ts +9 -0
  174. package/src/index.ts +9 -6
  175. package/src/jobs/database/{sms-publisher-database.service.ts → msg91-sms-publisher-database.service.ts} +2 -2
  176. package/src/jobs/database/{sms-subscriber-database.service.ts → msg91-sms-subscriber-database.service.ts} +9 -4
  177. package/src/jobs/database/otp-subscriber-database.service.ts +8 -2
  178. package/src/jobs/database/twilio-sms-subscriber-database.service.ts +5 -2
  179. package/src/jobs/{otp-publisher.service.ts → msg91-otp-publisher.service.ts} +2 -2
  180. package/src/jobs/{otp-subscriber.service.ts → msg91-otp-subscriber.service.ts} +10 -4
  181. package/src/jobs/{sms-publisher.service.ts → msg91-sms-publisher.service.ts} +2 -2
  182. package/src/jobs/{sms-subscriber.service.ts → msg91-sms-subscriber.service.ts} +9 -4
  183. package/src/jobs/twilio-sms-subscriber.service.ts +6 -2
  184. package/src/seeders/module-metadata-seeder.service.ts +30 -5
  185. package/src/seeders/seed-data/email-templates/email-on-signup.handlebars.html +155 -0
  186. package/src/seeders/seed-data/sms-templates/text-on-signup.handlebars.txt +10 -0
  187. package/src/seeders/seed-data/solid-core-metadata.json +31 -26
  188. package/src/seeders/user-seeder.service.ts +5 -4
  189. package/src/services/authentication.service.ts +73 -10
  190. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +1 -2
  191. package/src/services/crud.service.ts +17 -18
  192. package/src/services/excel.service.ts +6 -0
  193. package/src/services/model-metadata.service.ts +151 -0
  194. package/src/services/setting.service.ts +12 -52
  195. package/src/services/sms/Msg91BaseSMSService.ts +6 -6
  196. package/src/services/sms/Msg91OTPService.ts +3 -2
  197. package/src/services/sms/Msg91SMSService.ts +3 -1
  198. package/src/services/sms/TwilioSMSService.ts +3 -3
  199. package/src/services/solid-introspect.service.ts +22 -0
  200. package/src/solid-core-cli.module.ts +2 -2
  201. package/src/solid-core.module.ts +24 -13
  202. package/src/subscribers/scheduled-job.subscriber.ts +9 -2
  203. package/src/transformers/typeorm/local-date-time-transformer.ts +38 -13
  204. package/dist/jobs/database/sms-publisher-database.service.d.ts.map +0 -1
  205. package/dist/jobs/database/sms-publisher-database.service.js.map +0 -1
  206. package/dist/jobs/database/sms-queue-database-options.d.ts.map +0 -1
  207. package/dist/jobs/database/sms-queue-database-options.js.map +0 -1
  208. package/dist/jobs/database/sms-subscriber-database.service.d.ts.map +0 -1
  209. package/dist/jobs/database/sms-subscriber-database.service.js.map +0 -1
  210. package/dist/jobs/otp-publisher.service.d.ts.map +0 -1
  211. package/dist/jobs/otp-publisher.service.js.map +0 -1
  212. package/dist/jobs/otp-queue-options.d.ts.map +0 -1
  213. package/dist/jobs/otp-queue-options.js.map +0 -1
  214. package/dist/jobs/otp-subscriber.service.d.ts.map +0 -1
  215. package/dist/jobs/otp-subscriber.service.js.map +0 -1
  216. package/dist/jobs/sms-publisher.service.d.ts.map +0 -1
  217. package/dist/jobs/sms-publisher.service.js.map +0 -1
  218. package/dist/jobs/sms-queue-options.d.ts.map +0 -1
  219. package/dist/jobs/sms-queue-options.js.map +0 -1
  220. package/dist/jobs/sms-subscriber.service.d.ts.map +0 -1
  221. package/dist/jobs/sms-subscriber.service.js.map +0 -1
  222. /package/src/jobs/database/{sms-queue-database-options.ts → msg91-sms-queue-database-options.ts} +0 -0
  223. /package/src/jobs/{otp-queue-options.ts → msg91-otp-queue-options.ts} +0 -0
  224. /package/src/jobs/{sms-queue-options.ts → msg91-sms-queue-options.ts} +0 -0
@@ -20,6 +20,7 @@ import { CreatedByUpdatedBySubscriber } from 'src/subscribers/created-by-updated
20
20
  import { SoftDeleteAwareEventSubscriber } from 'src/subscribers/soft-delete-aware-event.subscriber';
21
21
  import { DataSource } from 'typeorm';
22
22
  import { CRUDService } from './crud.service';
23
+ import { IS_SMS_PROVIDER } from 'src/decorators/sms-provider.decorator';
23
24
 
24
25
  export const coreSubscriberClasses = [
25
26
  AuditSubscriber,
@@ -153,6 +154,15 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
153
154
  this.solidRegistry.registerWhatsappProvider(whatsappProvider);
154
155
  });
155
156
 
157
+ // Register all IWhatsappTransport implementations
158
+ const smsProviders = this.discoveryService
159
+ .getProviders()
160
+ .filter((provider) => this.isSmsProvider(provider));
161
+
162
+ smsProviders.forEach((smsProvider) => {
163
+ this.solidRegistry.registerSmsProvider(smsProvider);
164
+ });
165
+
156
166
  // Register all ISecurityRuleConfigProvider implementations
157
167
  const securityRuleConfigProviders = this.discoveryService
158
168
  .getProviders()
@@ -352,6 +362,18 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
352
362
  return !!isWhatsappProvider;
353
363
  }
354
364
 
365
+ private isSmsProvider(provider: InstanceWrapper) {
366
+ const { instance } = provider;
367
+ if (!instance) return false;
368
+
369
+ const isSmsProvider = this.reflector.get<boolean>(
370
+ IS_SMS_PROVIDER,
371
+ instance.constructor,
372
+ );
373
+
374
+ return !!isSmsProvider;
375
+ }
376
+
355
377
  private isSecurityRuleConfigProvider(provider: InstanceWrapper) {
356
378
  const { instance } = provider;
357
379
  if (!instance) return false;
@@ -5,7 +5,7 @@ import { WinstonLoggerConfig } from './winston.logger';
5
5
  import { WinstonModule } from 'nest-winston';
6
6
  import { CacheModule } from '@nestjs/cache-manager';
7
7
  import { EventEmitterModule } from '@nestjs/event-emitter';
8
- import { RedisOptions } from './config/cache.options';
8
+ import { CacheManagerOptions } from './config/cache.options';
9
9
  import { ConfigModule } from '@nestjs/config';
10
10
  import Joi from '@hapi/joi';
11
11
 
@@ -31,7 +31,7 @@ import Joi from '@hapi/joi';
31
31
  }),
32
32
 
33
33
  SolidCoreCliDBModule,
34
- CacheModule.registerAsync(RedisOptions),
34
+ CacheModule.registerAsync(CacheManagerOptions),
35
35
  EventEmitterModule.forRoot(),
36
36
  SolidCoreModule, // Import main module without exposing forRoot()
37
37
  ],
@@ -87,10 +87,10 @@ import { TestQueuePublisherDatabase } from './jobs/database/test-queue-publisher
87
87
  import { TestQueueSubscriberDatabase } from './jobs/database/test-queue-subscriber-database.service';
88
88
  import { Msg91WhatsappQueuePublisher } from './jobs/msg91-whatsapp-publisher.service';
89
89
  import { Msg91WhatsappQueueSubscriber } from './jobs/msg91-whatsapp-subscriber.service';
90
- import { OTPQueuePublisher } from './jobs/otp-publisher.service';
91
- import { OTPQueueSubscriber } from './jobs/otp-subscriber.service';
92
- import { SmsQueuePublisher } from './jobs/sms-publisher.service';
93
- import { SmsQueueSubscriber } from './jobs/sms-subscriber.service';
90
+ import { Msg91OTPQueuePublisher } from './jobs/msg91-otp-publisher.service';
91
+ import { Msg91OTPQueueSubscriber } from './jobs/msg91-otp-subscriber.service';
92
+ import { Msg91SmsQueuePublisher } from './jobs/msg91-sms-publisher.service';
93
+ import { Msg91SmsQueueSubscriber } from './jobs/msg91-sms-subscriber.service';
94
94
  import { SmtpEmailQueuePublisherRabbitmq } from './jobs/smtp-email-publisher.service';
95
95
  import { SmtpEmailQueueSubscriberRabbitmq } from './jobs/smtp-email-subscriber.service';
96
96
  import { TestQueuePublisher } from './jobs/test-queue-publisher.service';
@@ -182,8 +182,8 @@ import { GenerateCodePublisherDatabase } from './jobs/database/generate-code-pub
182
182
  import { GenerateCodeSubscriberDatabase } from './jobs/database/generate-code-subscriber-database.service';
183
183
  import { OTPQueuePublisherDatabase } from './jobs/database/otp-publisher-database.service';
184
184
  import { OTPQueueSubscriberDatabase } from './jobs/database/otp-subscriber-database.service';
185
- import { SmsQueuePublisherDatabase } from './jobs/database/sms-publisher-database.service';
186
- import { SmsQueueSubscriberDatabase } from './jobs/database/sms-subscriber-database.service';
185
+ import { Msg91SmsQueuePublisherDatabase } from './jobs/database/msg91-sms-publisher-database.service';
186
+ import { Msg91SmsQueueSubscriberDatabase } from './jobs/database/msg91-sms-subscriber-database.service';
187
187
  import { SmtpEmailQueuePublisherDatabase } from './jobs/database/smtp-email-publisher-database.service';
188
188
  import { SmtpEmailQueueSubscriberDatabase } from './jobs/database/smtp-email-subscriber-database.service';
189
189
 
@@ -337,6 +337,11 @@ import { ModelSequence } from './entities/model-sequence.entity';
337
337
  import { ModelSequenceService } from './services/model-sequence.service';
338
338
  import { ModelSequenceController } from './controllers/model-sequence.controller';
339
339
  import { ModelSequenceRepository } from './repository/model-sequence.repository';
340
+ import { CacheModule } from '@nestjs/cache-manager';
341
+ import { CacheManagerOptions } from './config/cache.options';
342
+ import { SmsFactory } from './factories/sms.factory';
343
+ import { WhatsAppFactory } from './factories/whatsapp.factory';
344
+ import { WhatsApp } from 'twilio/lib/twiml/VoiceResponse';
340
345
 
341
346
 
342
347
  @Global()
@@ -380,6 +385,8 @@ import { ModelSequenceRepository } from './repository/model-sequence.repository'
380
385
  ViewMetadata,
381
386
  ModelSequence,
382
387
  ]),
388
+
389
+ CacheModule.registerAsync(CacheManagerOptions),
383
390
  ConfigModule.forFeature(appBuilderConfig),
384
391
  ConfigModule.forFeature(commonConfig),
385
392
  ConfigModule.forFeature(iamConfig),
@@ -540,16 +547,16 @@ import { ModelSequenceRepository } from './repository/model-sequence.repository'
540
547
  ApiEmailQueueSubscriber,
541
548
  ApiEmailQueuePublisherDatabase,
542
549
  ApiEmailQueueSubscriberDatabase,
543
- SmsQueuePublisher,
544
- SmsQueueSubscriber,
545
- SmsQueuePublisherDatabase,
546
- SmsQueueSubscriberDatabase,
550
+ Msg91SmsQueuePublisher,
551
+ Msg91SmsQueueSubscriber,
552
+ Msg91SmsQueuePublisherDatabase,
553
+ Msg91SmsQueueSubscriberDatabase,
547
554
  TwilioSmsQueuePublisherDatabase,
548
555
  TwilioSmsQueueSubscriberDatabase,
549
556
  TwilioSmsQueuePublisherRabbitmq,
550
557
  TwilioSmsQueueSubscriberRabbitmq,
551
- OTPQueuePublisher,
552
- OTPQueueSubscriber,
558
+ Msg91OTPQueuePublisher,
559
+ Msg91OTPQueueSubscriber,
553
560
  OTPQueuePublisherDatabase,
554
561
  OTPQueueSubscriberDatabase,
555
562
  Msg91WhatsappQueuePublisher,
@@ -593,7 +600,7 @@ import { ModelSequenceRepository } from './repository/model-sequence.repository'
593
600
  GenerateCodeSubscriberDatabase,
594
601
  GenerateCodePublisherRabbitmq,
595
602
  GenerateCodeSubscriberRabbitmq,
596
- OTPQueuePublisher,
603
+ Msg91OTPQueuePublisher,
597
604
  MqMessageQueueService,
598
605
  MqMessageService,
599
606
  ScheduledJobService,
@@ -686,6 +693,8 @@ import { ModelSequenceRepository } from './repository/model-sequence.repository'
686
693
  ListOfValuesSubscriber,
687
694
  ListOfValuesMapper,
688
695
  MailFactory,
696
+ WhatsAppFactory,
697
+ SmsFactory,
689
698
  ChatterMessageRepository,
690
699
  ChatterMessageDetailsRepository,
691
700
  AiInteractionRepository,
@@ -742,6 +751,8 @@ import { ModelSequenceRepository } from './repository/model-sequence.repository'
742
751
  ImportTransactionService,
743
752
  ListOfValuesService,
744
753
  MailFactory,
754
+ WhatsAppFactory,
755
+ SmsFactory,
745
756
  MediaService,
746
757
  MediaStorageProviderMetadataService,
747
758
  ModelMetadataHelperService,
@@ -1,6 +1,7 @@
1
1
  import { Injectable, Logger } from "@nestjs/common";
2
2
  import { InjectDataSource } from "@nestjs/typeorm";
3
3
  import * as fs from "fs/promises";
4
+ import { CreateScheduledJobDto } from "src/dtos/create-scheduled-job.dto";
4
5
  import { ModuleMetadata } from "src/entities/module-metadata.entity";
5
6
  import { ScheduledJob } from "src/entities/scheduled-job.entity";
6
7
  import { ModuleMetadataHelperService } from "src/helpers/module-metadata-helper.service";
@@ -159,8 +160,14 @@ export class ScheduledJobSubscriber
159
160
  (job) => job.scheduleName === jobName
160
161
  );
161
162
  // Insert or update job in metadata
162
- const jobDto = await this.scheduledJobRepo.toDto(populatedScheduleJob as ScheduledJob);
163
- const {moduleId, ...dtoToWrite} = jobDto
163
+ const jobDto: CreateScheduledJobDto = await this.scheduledJobRepo.toDto(populatedScheduleJob as ScheduledJob);
164
+ // Strip out bookkeeping/runtime fields before persisting to metadata JSON.
165
+ const {
166
+ moduleId,
167
+ lastRunAt,
168
+ nextRunAt,
169
+ ...dtoToWrite
170
+ } = jobDto;
164
171
  if (existingIndex !== -1) {
165
172
  metaData.scheduledJobs[existingIndex] = dtoToWrite;
166
173
  this.logger.log(`Updated scheduled job ${jobName} in metadata`);
@@ -5,26 +5,51 @@ import timezone from "dayjs/plugin/timezone";
5
5
  dayjs.extend(utc);
6
6
  dayjs.extend(timezone);
7
7
 
8
- const SOLIDX_TZ = process.env.SOLIDX_TIMEZONE || "Asia/Kolkata";
8
+ const SOLIDX_WALL_TIME_TZ = process.env.SOLIDX_WALL_TIME_TIMEZONE || process.env.SOLIDX_TIMEZONE || "UTC";
9
+ const SOLIDX_TIME_STORED_AS_WALL_TIME = (process.env.SOLIDX_TIME_STORED_AS_WALL_TIME || "").toLowerCase() === "true";
10
+
11
+ function dateToUtcComponentString(d: Date): string {
12
+ // Requires MSSQL driver option: useUTC: true
13
+ // so that DB "2026-01-08 10:00:00" -> Date with UTC parts 2026-01-08 10:00:00
14
+ const pad = (n: number, w = 2) => String(n).padStart(w, "0");
15
+
16
+ const yyyy = d.getUTCFullYear();
17
+ const mm = pad(d.getUTCMonth() + 1);
18
+ const dd = pad(d.getUTCDate());
19
+ const hh = pad(d.getUTCHours());
20
+ const mi = pad(d.getUTCMinutes());
21
+ const ss = pad(d.getUTCSeconds());
22
+ const ms = pad(d.getUTCMilliseconds(), 3);
23
+
24
+ // A “naive” timestamp string representing the DB wall-clock components
25
+ return `${yyyy}-${mm}-${dd} ${hh}:${mi}:${ss}.${ms}`;
26
+ }
9
27
 
10
28
  export const LocalDateTimeTransformer = {
11
29
  // DB → Entity
12
- from(value: Date | string | null): Date | null {
13
- if (!value) return null;
30
+ from(value: Date | string | null | undefined): Date | null | undefined {
31
+ // critical... super important to return undefined here
32
+ if (value === undefined) return undefined;
33
+ if (value === null) return null;
14
34
 
15
- // SQL Server driver may give Date or string
16
- const d = dayjs(value);
35
+ if (!SOLIDX_TIME_STORED_AS_WALL_TIME) {
36
+ return dayjs(value).toDate();
37
+ }
17
38
 
18
- // Interpret DB value as SOLIDX_TZ wall time,
19
- // then convert to a real UTC instant
20
- return d.tz(SOLIDX_TZ, true).utc().toDate();
39
+ const naive = value instanceof Date ? dateToUtcComponentString(value) : String(value);
40
+ return dayjs.tz(naive, SOLIDX_WALL_TIME_TZ).utc().toDate();
21
41
  },
22
42
 
23
43
  // Entity → DB
24
- to(value: Date | null): Date | null {
25
- if (!value) return null;
44
+ to(value: Date | null | undefined): Date | null | undefined {
45
+ // critical... super important to return undefined here
46
+ if (value === undefined) return undefined;
47
+ if (value === null) return null;
48
+
49
+ if (!SOLIDX_TIME_STORED_AS_WALL_TIME) {
50
+ return dayjs(value).toDate();
51
+ }
26
52
 
27
- // Convert the instant back into SOLIDX_TZ wall time
28
- return dayjs(value).tz(SOLIDX_TZ).toDate();
53
+ return dayjs(value).tz(SOLIDX_WALL_TIME_TZ).toDate();
29
54
  },
30
- };
55
+ };
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-publisher-database.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/sms-publisher-database.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAEnF,qBACa,yBAA0B,SAAQ,iBAAiB,CAAC,GAAG,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAD5C,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKnE,OAAO,IAAI,mBAAmB;CAKjC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-publisher-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/sms-publisher-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,8FAA2D;AAC3D,sFAA8E;AAC9E,0EAAmE;AAEnE,iGAAmF;AAG5E,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,8CAAsB;IACjE,YACuB,gBAAkC,EAClC,qBAA4C;QAE/D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAH5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGnE,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,oCAAe;SACrB,CAAA;IACL,CAAC;CACJ,CAAA;AAbY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAGgC,qCAAgB;QACX,gDAAqB;GAH1D,yBAAyB,CAarC","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport smsQueueOptions from './sms-queue-database-options';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { QueuesModuleOptions } from 'src/interfaces';\nimport { DatabasePublisher } from 'src/services/queues/database-publisher.service';\n\n@Injectable()\nexport class SmsQueuePublisherDatabase extends DatabasePublisher<any> {\n constructor(\n protected readonly mqMessageService: MqMessageService,\n protected readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...smsQueueOptions\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-queue-database-options.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/sms-queue-database-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;;;;;;AAG5C,wBAIE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-queue-database-options.js","sourceRoot":"","sources":["../../../src/jobs/database/sms-queue-database-options.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAE5C,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAC5C,kBAAe;IACX,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,uBAAU,CAAC,QAAQ;IACzB,SAAS,EAAE,cAAc;CAC5B,CAAC","sourcesContent":["import { BrokerType } from \"src/interfaces\";\n\nconst SMS_QUEUE_NAME = 'sms_queue_database';\nexport default {\n name: 'smsInstance',\n type: BrokerType.Database,\n queueName: SMS_QUEUE_NAME,\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-subscriber-database.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/sms-subscriber-database.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBACa,0BAA2B,SAAQ,kBAAkB,CAAC,GAAG,CAAC;IAE/D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa;gBAHb,UAAU,EAAE,eAAe,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa;IAKlC,OAAO,IAAI,mBAAmB;IAM9B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;CAGvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/sms-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,8FAA2D;AAC3D,0EAAmE;AACnE,sFAA8E;AAC9E,wEAAmE;AAEnE,mGAAqF;AACrF,kEAA4D;AAGrD,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,gDAAuB;IACnE,YACqB,UAA2B,EACnC,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB;QAE9B,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QALtC,eAAU,GAAV,UAAU,CAAiB;QACnC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;IAGlC,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,oCAAe;SACrB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AAnBY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;qCAGwB,iCAAe;QACjB,qCAAgB;QACX,gDAAqB;QACpC,8BAAa;GALzB,0BAA0B,CAmBtC","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { QueueMessage } from 'src/interfaces/mq';\nimport smsQueueOptions from './sms-queue-database-options';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { Msg91SMSService } from 'src/services/sms/Msg91SMSService';\nimport { QueuesModuleOptions } from 'src/interfaces';\nimport { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';\nimport { PollerService } from 'src/services/poller.service';\n\n@Injectable()\nexport class SmsQueueSubscriberDatabase extends DatabaseSubscriber<any> {\n constructor(\n private readonly smsService: Msg91SMSService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n readonly poller: PollerService,\n ) {\n super(mqMessageService, mqMessageQueueService, poller);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...smsQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.smsService.sendSMSSynchronously(message);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"otp-publisher.service.d.ts","sourceRoot":"","sources":["../../src/jobs/otp-publisher.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,qBACa,iBAAkB,SAAQ,iBAAiB,CAAC,GAAG,CAAC;IAErD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAD5C,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKnE,OAAO,IAAI,mBAAmB;CAKjC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"otp-publisher.service.js","sourceRoot":"","sources":["../../src/jobs/otp-publisher.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,8FAAmF;AACnF,4EAAkD;AAClD,mFAA8E;AAC9E,uEAAmE;AAI5D,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,8CAAsB;IACzD,YACuB,gBAAkC,EAClC,qBAA4C;QAE/D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAH5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGnE,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,2BAAe;SACrB,CAAA;IACL,CAAC;CACJ,CAAA;AAbY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGgC,qCAAgB;QACX,gDAAqB;GAH1D,iBAAiB,CAa7B","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RabbitMqPublisher } from 'src/services/queues/rabbitmq-publisher.service';\nimport otpQueueOptions from './otp-queue-options';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { QueuesModuleOptions } from \"../interfaces\";\n\n@Injectable()\nexport class OTPQueuePublisher extends RabbitMqPublisher<any> {\n constructor(\n protected readonly mqMessageService: MqMessageService,\n protected readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...otpQueueOptions\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"otp-queue-options.d.ts","sourceRoot":"","sources":["../../src/jobs/otp-queue-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;;;;;AAG3C,wBAQE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"otp-queue-options.js","sourceRoot":"","sources":["../../src/jobs/otp-queue-options.ts"],"names":[],"mappings":";;AAEA,8CAA2C;AAE3C,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,kBAAe;IACX,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,uBAAU,CAAC,QAAQ;IACzB,SAAS,EAAE,cAAc;CAK5B,CAAC","sourcesContent":["import { QueueMessage } from 'src/interfaces/mq';\n\nimport { BrokerType } from \"../interfaces\";\n\nconst OTP_QUEUE_NAME = 'otp_queue';\nexport default {\n name: 'otpInstance',\n type: BrokerType.RabbitMQ,\n queueName: OTP_QUEUE_NAME,\n // receive: async (message: QueueMessage<any>) => { // Default receive handler\n // console.log(`Received message: ${JSON.stringify(message)} from queue ${SMS_QUEUE_NAME}`);\n // return 'Received';\n // },\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"otp-subscriber.service.d.ts","sourceRoot":"","sources":["../../src/jobs/otp-subscriber.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,qBACa,kBAAmB,SAAQ,kBAAkB,CAAC,GAAG,CAAC;IAEvD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAFpC,UAAU,EAAE,eAAe,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKzD,OAAO,IAAI,mBAAmB;IAM9B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;CAGvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"otp-subscriber.service.js","sourceRoot":"","sources":["../../src/jobs/otp-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,gGAAqF;AACrF,qEAAkE;AAClE,4EAAkD;AAClD,uEAAmE;AACnE,mFAA8E;AAIvE,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,gDAAuB;IAC3D,YACqB,UAA2B,EACnC,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,eAAU,GAAV,UAAU,CAAiB;QACnC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,2BAAe;SACrB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;CACJ,CAAA;AAlBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAGwB,iCAAe;QACjB,qCAAgB;QACX,gDAAqB;GAJhD,kBAAkB,CAkB9B","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { Msg91OTPService } from '../services/sms/Msg91OTPService';\nimport otpQueueOptions from './otp-queue-options';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../interfaces\";\n\n@Injectable()\nexport class OTPQueueSubscriber extends RabbitMqSubscriber<any> {\n constructor(\n private readonly otpService: Msg91OTPService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...otpQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n this.otpService.sendSMSSynchronously(message);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-publisher.service.d.ts","sourceRoot":"","sources":["../../src/jobs/sms-publisher.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,qBACa,iBAAkB,SAAQ,iBAAiB,CAAC,GAAG,CAAC;IAErD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAD5C,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKnE,OAAO,IAAI,mBAAmB;CAKjC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-publisher.service.js","sourceRoot":"","sources":["../../src/jobs/sms-publisher.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,8FAAmF;AACnF,4EAAkD;AAClD,mFAA8E;AAC9E,uEAAmE;AAI5D,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,8CAAsB;IACzD,YACuB,gBAAkC,EAClC,qBAA4C;QAE/D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAH5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGnE,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,2BAAe;SACrB,CAAA;IACL,CAAC;CACJ,CAAA;AAbY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGgC,qCAAgB;QACX,gDAAqB;GAH1D,iBAAiB,CAa7B","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RabbitMqPublisher } from 'src/services/queues/rabbitmq-publisher.service';\nimport smsQueueOptions from './sms-queue-options';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { QueuesModuleOptions } from \"../interfaces\";\n\n@Injectable()\nexport class SmsQueuePublisher extends RabbitMqPublisher<any> {\n constructor(\n protected readonly mqMessageService: MqMessageService,\n protected readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...smsQueueOptions\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-queue-options.d.ts","sourceRoot":"","sources":["../../src/jobs/sms-queue-options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;;;;;AAG3C,wBAQE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-queue-options.js","sourceRoot":"","sources":["../../src/jobs/sms-queue-options.ts"],"names":[],"mappings":";;AAEA,8CAA2C;AAE3C,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,kBAAe;IACX,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,uBAAU,CAAC,QAAQ;IACzB,SAAS,EAAE,cAAc;CAK5B,CAAC","sourcesContent":["import { QueueMessage } from 'src/interfaces/mq';\n\nimport { BrokerType } from \"../interfaces\";\n\nconst SMS_QUEUE_NAME = 'sms_queue';\nexport default {\n name: 'smsInstance',\n type: BrokerType.RabbitMQ,\n queueName: SMS_QUEUE_NAME,\n // receive: async (message: QueueMessage<any>) => { // Default receive handler\n // console.log(`Received message: ${JSON.stringify(message)} from queue ${SMS_QUEUE_NAME}`);\n // return 'Received';\n // },\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-subscriber.service.d.ts","sourceRoot":"","sources":["../../src/jobs/sms-subscriber.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,qBACa,kBAAmB,SAAQ,kBAAkB,CAAC,GAAG,CAAC;IAEvD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAFpC,UAAU,EAAE,eAAe,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKzD,OAAO,IAAI,mBAAmB;IAM9B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;CAGvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sms-subscriber.service.js","sourceRoot":"","sources":["../../src/jobs/sms-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,gGAAqF;AAErF,4EAAkD;AAClD,qEAAkE;AAClE,uEAAmE;AACnE,mFAA8E;AAIvE,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,gDAAuB;IAC3D,YACqB,UAA2B,EACnC,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,eAAU,GAAV,UAAU,CAAiB;QACnC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,2BAAe;SACrB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AAlBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAGwB,iCAAe;QACjB,qCAAgB;QACX,gDAAqB;GAJhD,kBAAkB,CAkB9B","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport smsQueueOptions from './sms-queue-options';\nimport { Msg91SMSService } from '../services/sms/Msg91SMSService';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../interfaces\";\n\n@Injectable()\nexport class SmsQueueSubscriber extends RabbitMqSubscriber<any> {\n constructor(\n private readonly smsService: Msg91SMSService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...smsQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.smsService.sendSMSSynchronously(message);\n }\n}\n"]}