@solidxai/core 0.1.9-beta.5 → 0.1.9-beta.6
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.
- package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
- package/dist/helpers/bootstrap.helper.js +4 -1
- package/dist/helpers/bootstrap.helper.js.map +1 -1
- package/dist/interfaces/mq.d.ts +1 -1
- package/dist/interfaces/mq.d.ts.map +1 -1
- package/dist/interfaces/mq.js.map +1 -1
- package/dist/jobs/database/api-email-subscriber-database.service.d.ts +1 -1
- package/dist/jobs/database/api-email-subscriber-database.service.js +1 -1
- package/dist/jobs/database/api-email-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.d.ts +1 -1
- package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js +1 -1
- package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/three60-whatsapp-subscriber-database.service.d.ts +1 -1
- package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js +1 -1
- package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js.map +1 -1
- package/dist/jobs/rabbitmq/api-email-subscriber.service.d.ts +1 -1
- package/dist/jobs/rabbitmq/api-email-subscriber.service.js +1 -1
- package/dist/jobs/rabbitmq/api-email-subscriber.service.js.map +1 -1
- package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.d.ts +1 -1
- package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js +1 -1
- package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js.map +1 -1
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts +1 -1
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts.map +1 -1
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.js +6 -3
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.js.map +1 -1
- package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.d.ts +1 -1
- package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js +1 -1
- package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js.map +1 -1
- package/dist/jobs/redis/api-email-subscriber-redis.service.d.ts +1 -1
- package/dist/jobs/redis/api-email-subscriber-redis.service.js +1 -1
- package/dist/jobs/redis/api-email-subscriber-redis.service.js.map +1 -1
- package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.d.ts +1 -1
- package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js +1 -1
- package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js.map +1 -1
- package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.d.ts +1 -1
- package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js +1 -1
- package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +7 -3
- package/dist/services/queues/database-subscriber.service.d.ts +1 -1
- package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/database-subscriber.service.js.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.d.ts +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js +3 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
- package/dist/services/queues/redis-subscriber.service.d.ts +1 -1
- package/dist/services/queues/redis-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/redis-subscriber.service.js.map +1 -1
- package/dist/winston.logger.js +1 -1
- package/dist/winston.logger.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/bootstrap.helper.ts +5 -2
- package/src/interfaces/mq.ts +2 -2
- package/src/jobs/database/api-email-subscriber-database.service.ts +1 -1
- package/src/jobs/database/msg91-whatsapp-subscriber-database.service.ts +1 -1
- package/src/jobs/database/three60-whatsapp-subscriber-database.service.ts +1 -1
- package/src/jobs/rabbitmq/api-email-subscriber.service.ts +1 -1
- package/src/jobs/rabbitmq/msg91-whatsapp-subscriber.service.ts +1 -1
- package/src/jobs/rabbitmq/test-queue-subscriber.service.ts +6 -7
- package/src/jobs/rabbitmq/three60-whatsapp-subscriber.service.ts +1 -1
- package/src/jobs/redis/api-email-subscriber-redis.service.ts +1 -1
- package/src/jobs/redis/msg91-whatsapp-subscriber-redis.service.ts +1 -1
- package/src/jobs/redis/three60-whatsapp-subscriber-redis.service.ts +1 -1
- package/src/seeders/seed-data/solid-core-metadata.json +7 -3
- package/src/services/queues/database-subscriber.service.ts +1 -1
- package/src/services/queues/rabbitmq-subscriber.service.ts +13 -11
- package/src/services/queues/redis-subscriber.service.ts +2 -2
- package/src/winston.logger.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bootstrap.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAyB7H,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IAEpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IAEtC,0BAA0B,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC/D;AAcD,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAiHf;AAgBD,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAwCf"}
|
|
@@ -14,6 +14,7 @@ const fs_1 = require("fs");
|
|
|
14
14
|
const path_1 = require("path");
|
|
15
15
|
const nest_winston_1 = require("nest-winston");
|
|
16
16
|
const nest_commander_1 = require("nest-commander");
|
|
17
|
+
const winston_logger_1 = require("../winston.logger");
|
|
17
18
|
const wrap_response_interceptor_1 = require("../interceptors/wrap-response.interceptor");
|
|
18
19
|
const cors_helper_1 = require("./cors.helper");
|
|
19
20
|
const security_helper_1 = require("./security.helper");
|
|
@@ -36,7 +37,9 @@ async function bootstrapSolidApp(appModuleFactory, options = {}) {
|
|
|
36
37
|
registerGlobalProcessHandlers();
|
|
37
38
|
const { globalPrefix = 'api', swagger = {}, permissionsPolicyOverrides = {} } = options;
|
|
38
39
|
const appModule = await appModuleFactory();
|
|
39
|
-
const app = await core_1.NestFactory.create(appModule
|
|
40
|
+
const app = await core_1.NestFactory.create(appModule, {
|
|
41
|
+
logger: nest_winston_1.WinstonModule.createLogger(winston_logger_1.WinstonLoggerConfig),
|
|
42
|
+
});
|
|
40
43
|
const apiEnabled = (0, environment_helper_1.parseBooleanEnv)('API_ENABLED', true);
|
|
41
44
|
if (!apiEnabled) {
|
|
42
45
|
await app.init();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.helper.js","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { ValidationPipe } from '@nestjs/common';\nimport { NestFactory } from '@nestjs/core';\nimport { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';\nimport { NextFunction, Request, Response } from 'express';\nimport helmet from 'helmet';\nimport qs from 'qs';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\nimport { WINSTON_MODULE_NEST_PROVIDER } from 'nest-winston';\nimport { CommandFactory } from 'nest-commander';\nimport { WrapResponseInterceptor } from '../interceptors/wrap-response.interceptor';\nimport { buildDefaultCorsOptions } from './cors.helper';\nimport { buildDefaultSecurityHeaderOptions, buildPermissionsPolicyHeader, PermissionsPolicyConfig } from './security.helper';\nimport { parseBooleanEnv } from './environment.helper';\n\n// ---- Shared process handlers ----\n\nfunction registerGlobalProcessHandlers() {\n process.on('unhandledRejection', (reason, promise) => {\n console.error('Unhandled Rejection at:', promise, 'reason:', reason);\n });\n\n process.on('uncaughtException', (err) => {\n console.error('Uncaught Exception thrown:', err);\n });\n\n // Suppress pg deprecation warning caused by TypeORM's internal query scheduling\n process.on('warning', (warning) => {\n if (warning.name === 'DeprecationWarning' && (warning.message.includes('client.query()') || warning.message.includes('punycode'))) {\n return;\n }\n console.warn(warning);\n });\n}\n\n// ---- HTTP server bootstrap ----\n\nexport interface SolidSwaggerOptions {\n title?: string;\n description?: string;\n version?: string;\n}\n\nexport interface SolidBootstrapOptions {\n /** Global API prefix. Defaults to 'api'. Set to '' to disable. */\n globalPrefix?: string;\n /** Swagger configuration. Set to false to disable Swagger entirely. */\n swagger?: SolidSwaggerOptions | false;\n /** Permissions-Policy header overrides (merged with defaults). */\n permissionsPolicyOverrides?: Partial<PermissionsPolicyConfig>;\n}\n\n/**\n * Bootstraps a SolidX NestJS HTTP application with sensible defaults:\n * security headers, CORS, Winston logger, ValidationPipe,\n * WrapResponseInterceptor, qs deep query parsing, Swagger, and the\n * pg BIGINT type parser.\n *\n * @example\n * // main.ts\n * bootstrapSolidApp(() => AppModule.forRoot(), {\n * swagger: { title: 'My API', description: 'My API description' },\n * });\n */\nexport async function bootstrapSolidApp(\n appModuleFactory: () => Promise<any>,\n options: SolidBootstrapOptions = {},\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n const { globalPrefix = 'api', swagger = {}, permissionsPolicyOverrides = {} } = options;\n\n const appModule = await appModuleFactory();\n const app = await NestFactory.create(appModule);\n\n const apiEnabled = parseBooleanEnv('API_ENABLED', true);\n\n if (!apiEnabled) {\n await app.init();\n app\n .get(WINSTON_MODULE_NEST_PROVIDER)\n .log('API server disabled via API_ENABLED=false. Skipping HTTP listen.', 'Bootstrap');\n return;\n }\n\n // Health check at root path\n const server = app.getHttpAdapter().getInstance();\n server.get('/', (_req, res) => res.status(200).send('SOLID OK'));\n\n // Security headers\n app.use(helmet(buildDefaultSecurityHeaderOptions()));\n\n // Nest's Swagger UI HTML injects inline styles; keep CSP strict elsewhere.\n const isSwaggerPath = (path: string) =>\n path === '/docs' ||\n path === '/docs/' ||\n path.startsWith('/docs/') ||\n path === '/docs-json' ||\n path === '/docs-yaml';\n\n app.use((req: Request, res: Response, next: NextFunction) => {\n if (isSwaggerPath(req.path)) {\n res.removeHeader('Content-Security-Policy');\n }\n next();\n });\n\n // Permissions-Policy header\n app.use((_req: Request, res: Response, next: NextFunction) => {\n res.setHeader('Permissions-Policy', buildPermissionsPolicyHeader(permissionsPolicyOverrides));\n next();\n });\n\n // Winston logger\n app.useLogger(app.get(WINSTON_MODULE_NEST_PROVIDER));\n\n const port = process.env.PORT || 3000;\n\n if (globalPrefix) {\n app.setGlobalPrefix(globalPrefix);\n }\n\n // qs-based deep query parsing (dot notation, nested objects, arrays)\n app.use((req: Request, _res: Response, next: NextFunction) => {\n if (req.query) {\n req.query = qs.parse(req.url.split('?')[1], {\n allowDots: true,\n depth: 20,\n arrayLimit: 100,\n });\n }\n next();\n });\n\n // Global ValidationPipe\n app.useGlobalPipes(\n new ValidationPipe({\n transform: true,\n transformOptions: { enableImplicitConversion: true },\n }),\n );\n\n // Swagger\n if (swagger !== false) {\n const { title = process.env.SOLID_APP_NAME, description = process.env.SOLID_APP_DESCRIPTION, version = '1.0' } = swagger;\n const swaggerConfig = new DocumentBuilder()\n .setTitle(title)\n .setDescription(description)\n .setVersion(version)\n .setExternalDoc('Postman Collection', '/docs-json')\n .addBearerAuth(\n {\n description: 'Please enter token in following format: Bearer <JWT>',\n name: 'Authorization',\n bearerFormat: 'Bearer',\n scheme: 'Bearer',\n type: 'http',\n in: 'Header',\n },\n 'jwt',\n )\n .build();\n const document = SwaggerModule.createDocument(app, swaggerConfig);\n SwaggerModule.setup('/docs', app, document);\n }\n\n // Global interceptor\n app.useGlobalInterceptors(new WrapResponseInterceptor());\n\n // CORS\n app.enableCors(buildDefaultCorsOptions());\n\n // Fix pg returning BIGINT columns as strings\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const types = require('pg').types;\n types.setTypeParser(types.builtins.INT8, (val: string) => parseInt(val));\n\n await app.listen(port);\n}\n\n// ---- CLI bootstrap ----\n\n/**\n * Bootstraps a SolidX NestJS CLI application using nest-commander.\n * Handles verbose flag stripping, project root validation, and clean process exit.\n *\n * @example\n * // main-cli.ts\n * #!/usr/bin/env node\n * import { bootstrapSolidCli } from '@solidxai/core';\n * import { AppModule } from './app.module';\n *\n * bootstrapSolidCli(() => AppModule.forRoot());\n */\nexport async function bootstrapSolidCli(\n appModuleFactory: () => Promise<any>,\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n process.on('exit', (code) => {\n if (code !== 0) {\n console.error(`Exiting with error status code: ${code}`);\n }\n });\n\n // Validate that cwd is a valid Solid API project\n const packageJsonPath = resolve(process.cwd(), 'package.json');\n if (!existsSync(packageJsonPath)) {\n console.error('Does not seem to be a valid solid-api project.');\n console.error('Exit reason: missing package.json in the current directory.');\n process.exit(1);\n }\n\n // Strip --verbose / -v before nest-commander processes argv\n const showLogs = process.argv.includes('--verbose') || process.argv.includes('-v');\n for (const flag of ['--verbose', '-v']) {\n const idx = process.argv.indexOf(flag);\n if (idx !== -1) process.argv.splice(idx, 1);\n }\n\n const appModule = await appModuleFactory();\n process.env.SOLID_CLI_RUNNING = 'true';\n\n // @ts-ignore\n const app = await CommandFactory.createWithoutRunning(appModule, {\n logger: showLogs ? ['debug', 'error', 'fatal', 'log', 'verbose', 'warn'] : false,\n });\n\n try {\n await CommandFactory.runApplication(app);\n } catch (e) {\n console.error('CLI exited abruptly due to an error:', e);\n process.exit(1);\n }\n\n process.exit(0);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bootstrap.helper.js","sourceRoot":"","sources":["../../src/helpers/bootstrap.helper.ts"],"names":[],"mappings":";;;;;AAiEA,8CAoHC;AAgBD,8CA0CC;AA/OD,2CAAgD;AAChD,uCAA2C;AAC3C,6CAAiE;AAEjE,oDAA4B;AAC5B,4CAAoB;AACpB,2BAAgC;AAChC,+BAA+B;AAC/B,+CAA2E;AAC3E,mDAAgD;AAChD,sDAAwD;AACxD,yFAAoF;AACpF,+CAAwD;AACxD,uDAA6H;AAC7H,6DAAuD;AAIvD,SAAS,6BAA6B;IACpC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAGH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAClI,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AA+BM,KAAK,UAAU,iBAAiB,CACrC,gBAAoC,EACpC,UAAiC,EAAE;IAEnC,6BAA6B,EAAE,CAAC;IAEhC,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,0BAA0B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAExF,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,SAAS,EAAE;QAC9C,MAAM,EAAE,4BAAa,CAAC,YAAY,CAAC,oCAAmB,CAAC;KACxD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAA,oCAAe,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG;aACA,GAAG,CAAC,2CAA4B,CAAC;aACjC,GAAG,CAAC,kEAAkE,EAAE,WAAW,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IAGD,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAGjE,GAAG,CAAC,GAAG,CAAC,IAAA,gBAAM,EAAC,IAAA,mDAAiC,GAAE,CAAC,CAAC,CAAC;IAGrD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,QAAQ;QACjB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,YAAY,CAAC;IAExB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC1D,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC3D,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAA,8CAA4B,EAAC,0BAA0B,CAAC,CAAC,CAAC;QAC9F,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,2CAA4B,CAAC,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;IAEtC,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAGD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QAC3D,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,GAAG,YAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC1C,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,cAAc,CAChB,IAAI,uBAAc,CAAC;QACjB,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE;KACrD,CAAC,CACH,CAAC;IAGF,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QACzH,MAAM,aAAa,GAAG,IAAI,yBAAe,EAAE;aACxC,QAAQ,CAAC,KAAK,CAAC;aACf,cAAc,CAAC,WAAW,CAAC;aAC3B,UAAU,CAAC,OAAO,CAAC;aACnB,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC;aAClD,aAAa,CACZ;YACE,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,QAAQ;SACb,EACD,KAAK,CACN;aACA,KAAK,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAClE,uBAAa,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAGD,GAAG,CAAC,qBAAqB,CAAC,IAAI,mDAAuB,EAAE,CAAC,CAAC;IAGzD,GAAG,CAAC,UAAU,CAAC,IAAA,qCAAuB,GAAE,CAAC,CAAC;IAI1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAClC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzE,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAgBM,KAAK,UAAU,iBAAiB,CACrC,gBAAoC;IAEpC,6BAA6B,EAAE,CAAC;IAEhC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,MAAM,eAAe,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAGD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnF,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAGvC,MAAM,GAAG,GAAG,MAAM,+BAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE;QAC/D,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;KACjF,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,+BAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["import { ValidationPipe } from '@nestjs/common';\nimport { NestFactory } from '@nestjs/core';\nimport { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';\nimport { NextFunction, Request, Response } from 'express';\nimport helmet from 'helmet';\nimport qs from 'qs';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\nimport { WINSTON_MODULE_NEST_PROVIDER, WinstonModule } from 'nest-winston';\nimport { CommandFactory } from 'nest-commander';\nimport { WinstonLoggerConfig } from '../winston.logger';\nimport { WrapResponseInterceptor } from '../interceptors/wrap-response.interceptor';\nimport { buildDefaultCorsOptions } from './cors.helper';\nimport { buildDefaultSecurityHeaderOptions, buildPermissionsPolicyHeader, PermissionsPolicyConfig } from './security.helper';\nimport { parseBooleanEnv } from './environment.helper';\n\n// ---- Shared process handlers ----\n\nfunction registerGlobalProcessHandlers() {\n process.on('unhandledRejection', (reason, promise) => {\n console.error('Unhandled Rejection at:', promise, 'reason:', reason);\n });\n\n process.on('uncaughtException', (err) => {\n console.error('Uncaught Exception thrown:', err);\n });\n\n // Suppress pg deprecation warning caused by TypeORM's internal query scheduling\n process.on('warning', (warning) => {\n if (warning.name === 'DeprecationWarning' && (warning.message.includes('client.query()') || warning.message.includes('punycode'))) {\n return;\n }\n console.warn(warning);\n });\n}\n\n// ---- HTTP server bootstrap ----\n\nexport interface SolidSwaggerOptions {\n title?: string;\n description?: string;\n version?: string;\n}\n\nexport interface SolidBootstrapOptions {\n /** Global API prefix. Defaults to 'api'. Set to '' to disable. */\n globalPrefix?: string;\n /** Swagger configuration. Set to false to disable Swagger entirely. */\n swagger?: SolidSwaggerOptions | false;\n /** Permissions-Policy header overrides (merged with defaults). */\n permissionsPolicyOverrides?: Partial<PermissionsPolicyConfig>;\n}\n\n/**\n * Bootstraps a SolidX NestJS HTTP application with sensible defaults:\n * security headers, CORS, Winston logger, ValidationPipe,\n * WrapResponseInterceptor, qs deep query parsing, Swagger, and the\n * pg BIGINT type parser.\n *\n * @example\n * // main.ts\n * bootstrapSolidApp(() => AppModule.forRoot(), {\n * swagger: { title: 'My API', description: 'My API description' },\n * });\n */\nexport async function bootstrapSolidApp(\n appModuleFactory: () => Promise<any>,\n options: SolidBootstrapOptions = {},\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n const { globalPrefix = 'api', swagger = {}, permissionsPolicyOverrides = {} } = options;\n\n const appModule = await appModuleFactory();\n const app = await NestFactory.create(appModule, {\n logger: WinstonModule.createLogger(WinstonLoggerConfig),\n });\n\n const apiEnabled = parseBooleanEnv('API_ENABLED', true);\n\n if (!apiEnabled) {\n await app.init();\n app\n .get(WINSTON_MODULE_NEST_PROVIDER)\n .log('API server disabled via API_ENABLED=false. Skipping HTTP listen.', 'Bootstrap');\n return;\n }\n\n // Health check at root path\n const server = app.getHttpAdapter().getInstance();\n server.get('/', (_req, res) => res.status(200).send('SOLID OK'));\n\n // Security headers\n app.use(helmet(buildDefaultSecurityHeaderOptions()));\n\n // Nest's Swagger UI HTML injects inline styles; keep CSP strict elsewhere.\n const isSwaggerPath = (path: string) =>\n path === '/docs' ||\n path === '/docs/' ||\n path.startsWith('/docs/') ||\n path === '/docs-json' ||\n path === '/docs-yaml';\n\n app.use((req: Request, res: Response, next: NextFunction) => {\n if (isSwaggerPath(req.path)) {\n res.removeHeader('Content-Security-Policy');\n }\n next();\n });\n\n // Permissions-Policy header\n app.use((_req: Request, res: Response, next: NextFunction) => {\n res.setHeader('Permissions-Policy', buildPermissionsPolicyHeader(permissionsPolicyOverrides));\n next();\n });\n\n // Winston logger\n app.useLogger(app.get(WINSTON_MODULE_NEST_PROVIDER));\n\n const port = process.env.PORT || 3000;\n\n if (globalPrefix) {\n app.setGlobalPrefix(globalPrefix);\n }\n\n // qs-based deep query parsing (dot notation, nested objects, arrays)\n app.use((req: Request, _res: Response, next: NextFunction) => {\n if (req.query) {\n req.query = qs.parse(req.url.split('?')[1], {\n allowDots: true,\n depth: 20,\n arrayLimit: 100,\n });\n }\n next();\n });\n\n // Global ValidationPipe\n app.useGlobalPipes(\n new ValidationPipe({\n transform: true,\n transformOptions: { enableImplicitConversion: true },\n }),\n );\n\n // Swagger\n if (swagger !== false) {\n const { title = process.env.SOLID_APP_NAME, description = process.env.SOLID_APP_DESCRIPTION, version = '1.0' } = swagger;\n const swaggerConfig = new DocumentBuilder()\n .setTitle(title)\n .setDescription(description)\n .setVersion(version)\n .setExternalDoc('Postman Collection', '/docs-json')\n .addBearerAuth(\n {\n description: 'Please enter token in following format: Bearer <JWT>',\n name: 'Authorization',\n bearerFormat: 'Bearer',\n scheme: 'Bearer',\n type: 'http',\n in: 'Header',\n },\n 'jwt',\n )\n .build();\n const document = SwaggerModule.createDocument(app, swaggerConfig);\n SwaggerModule.setup('/docs', app, document);\n }\n\n // Global interceptor\n app.useGlobalInterceptors(new WrapResponseInterceptor());\n\n // CORS\n app.enableCors(buildDefaultCorsOptions());\n\n // Fix pg returning BIGINT columns as strings\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const types = require('pg').types;\n types.setTypeParser(types.builtins.INT8, (val: string) => parseInt(val));\n\n await app.listen(port);\n}\n\n// ---- CLI bootstrap ----\n\n/**\n * Bootstraps a SolidX NestJS CLI application using nest-commander.\n * Handles verbose flag stripping, project root validation, and clean process exit.\n *\n * @example\n * // main-cli.ts\n * #!/usr/bin/env node\n * import { bootstrapSolidCli } from '@solidxai/core';\n * import { AppModule } from './app.module';\n *\n * bootstrapSolidCli(() => AppModule.forRoot());\n */\nexport async function bootstrapSolidCli(\n appModuleFactory: () => Promise<any>,\n): Promise<void> {\n registerGlobalProcessHandlers();\n\n process.on('exit', (code) => {\n if (code !== 0) {\n console.error(`Exiting with error status code: ${code}`);\n }\n });\n\n // Validate that cwd is a valid Solid API project\n const packageJsonPath = resolve(process.cwd(), 'package.json');\n if (!existsSync(packageJsonPath)) {\n console.error('Does not seem to be a valid solid-api project.');\n console.error('Exit reason: missing package.json in the current directory.');\n process.exit(1);\n }\n\n // Strip --verbose / -v before nest-commander processes argv\n const showLogs = process.argv.includes('--verbose') || process.argv.includes('-v');\n for (const flag of ['--verbose', '-v']) {\n const idx = process.argv.indexOf(flag);\n if (idx !== -1) process.argv.splice(idx, 1);\n }\n\n const appModule = await appModuleFactory();\n process.env.SOLID_CLI_RUNNING = 'true';\n\n // @ts-ignore\n const app = await CommandFactory.createWithoutRunning(appModule, {\n logger: showLogs ? ['debug', 'error', 'fatal', 'log', 'verbose', 'warn'] : false,\n });\n\n try {\n await CommandFactory.runApplication(app);\n } catch (e) {\n console.error('CLI exited abruptly due to an error:', e);\n process.exit(1);\n }\n\n process.exit(0);\n}\n"]}
|
package/dist/interfaces/mq.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mq.d.ts","sourceRoot":"","sources":["../../src/interfaces/mq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,OAAO,IAAI,mBAAmB,CAAC;IAC/B,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,OAAO,IAAI,mBAAmB,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"mq.d.ts","sourceRoot":"","sources":["../../src/interfaces/mq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,OAAO,IAAI,mBAAmB,CAAC;IAC/B,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,OAAO,IAAI,mBAAmB,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mq.js","sourceRoot":"","sources":["../../src/interfaces/mq.ts"],"names":[],"mappings":"","sourcesContent":["import { QueuesModuleOptions } from \"../interfaces\";\n\nexport interface QueueMessage<T> {\n messageId?: string;\n payload: T;\n parentEntityId?: any;\n parentEntity?: string;\n retryCount?: number;\n retryInterval?: number;\n currentRetry?: number;\n}\n\nexport type QueueServiceRole = 'publisher' | 'subscriber' | 'both';\n\nexport interface QueuePublisher<T> {\n options(): QueuesModuleOptions;\n publish(message: QueueMessage<T>): Promise<string>;\n}\n\nexport interface QueueSubscriber<T> {\n options(): QueuesModuleOptions;\n subscribe(message: QueueMessage<T>):
|
|
1
|
+
{"version":3,"file":"mq.js","sourceRoot":"","sources":["../../src/interfaces/mq.ts"],"names":[],"mappings":"","sourcesContent":["import { QueuesModuleOptions } from \"../interfaces\";\n\nexport interface QueueMessage<T> {\n messageId?: string;\n payload: T;\n parentEntityId?: any;\n parentEntity?: string;\n retryCount?: number;\n retryInterval?: number;\n currentRetry?: number;\n}\n\nexport type QueueServiceRole = 'publisher' | 'subscriber' | 'both';\n\nexport interface QueuePublisher<T> {\n options(): QueuesModuleOptions;\n publish(message: QueueMessage<T>): Promise<string>;\n}\n\nexport interface QueueSubscriber<T> {\n options(): QueuesModuleOptions;\n subscribe(message: QueueMessage<T>): Promise<any>;\n}\n"]}
|
|
@@ -12,6 +12,6 @@ export declare class ApiEmailQueueSubscriberDatabase extends DatabaseSubscriber<
|
|
|
12
12
|
readonly poller: PollerService;
|
|
13
13
|
constructor(emailService: ElasticEmailService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService, poller: PollerService);
|
|
14
14
|
options(): QueuesModuleOptions;
|
|
15
|
-
subscribe(message: QueueMessage<any>): void
|
|
15
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=api-email-subscriber-database.service.d.ts.map
|
|
@@ -34,7 +34,7 @@ let ApiEmailQueueSubscriberDatabase = class ApiEmailQueueSubscriberDatabase exte
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
subscribe(message) {
|
|
37
|
-
this.emailService.sendEmailSynchronously(message);
|
|
37
|
+
return this.emailService.sendEmailSynchronously(message);
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
exports.ApiEmailQueueSubscriberDatabase = ApiEmailQueueSubscriberDatabase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-email-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/api-email-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,0GAAkE;AAElE,0EAAmE;AACnE,sFAA8E;AAC9E,qFAA8E;AAE9E,mGAAqF;AACrF,kEAA4D;AAGrD,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,gDAAuB;IACxE,YACqB,YAAiC,EACzC,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB;QAE9B,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QALtC,iBAAY,GAAZ,YAAY,CAAqB;QACzC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;IAGlC,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,0CAAgB;SACtB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api-email-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/api-email-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,0GAAkE;AAElE,0EAAmE;AACnE,sFAA8E;AAC9E,qFAA8E;AAE9E,mGAAqF;AACrF,kEAA4D;AAGrD,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,gDAAuB;IACxE,YACqB,YAAiC,EACzC,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB;QAE9B,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QALtC,iBAAY,GAAZ,YAAY,CAAqB;QACzC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;IAGlC,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,0CAAgB;SACtB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;CACJ,CAAA;AAnBY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;qCAG0B,2CAAmB;QACvB,qCAAgB;QACX,gDAAqB;QACpC,8BAAa;GALzB,+BAA+B,CAmB3C","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport mailQueueOptions from './api-email-queue-options-database';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { ElasticEmailService } from 'src/services/mail/elastic-email.service';\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 ApiEmailQueueSubscriberDatabase extends DatabaseSubscriber<any> {\n constructor(\n private readonly emailService: ElasticEmailService,\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 ...mailQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.emailService.sendEmailSynchronously(message);\n }\n}\n"]}
|
|
@@ -12,6 +12,6 @@ export declare class Msg91WhatsappQueueSubscriberDatabase extends DatabaseSubscr
|
|
|
12
12
|
readonly poller: PollerService;
|
|
13
13
|
constructor(whatsappService: Msg91WhatsappService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService, poller: PollerService);
|
|
14
14
|
options(): QueuesModuleOptions;
|
|
15
|
-
subscribe(message: QueueMessage<any>): void
|
|
15
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=msg91-whatsapp-subscriber-database.service.d.ts.map
|
|
@@ -34,7 +34,7 @@ let Msg91WhatsappQueueSubscriberDatabase = class Msg91WhatsappQueueSubscriberDat
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
subscribe(message) {
|
|
37
|
-
this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
37
|
+
return this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
exports.Msg91WhatsappQueueSubscriberDatabase = Msg91WhatsappQueueSubscriberDatabase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msg91-whatsapp-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/msg91-whatsapp-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,oHAA2E;AAC3E,0EAAmE;AACnE,sFAA8E;AAC9E,uFAAkF;AAElF,mGAAqF;AACrF,kEAA4D;AAGrD,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,gDAAuB;IAC7E,YACqB,eAAqC,EAC7C,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB;QAE9B,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QALtC,oBAAe,GAAf,eAAe,CAAsB;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;IAGlC,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,+CAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"msg91-whatsapp-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/msg91-whatsapp-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,oHAA2E;AAC3E,0EAAmE;AACnE,sFAA8E;AAC9E,uFAAkF;AAElF,mGAAqF;AACrF,kEAA4D;AAGrD,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,gDAAuB;IAC7E,YACqB,eAAqC,EAC7C,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB;QAE9B,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QALtC,oBAAe,GAAf,eAAe,CAAsB;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;IAGlC,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,+CAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AAnBY,oFAAoC;+CAApC,oCAAoC;IADhD,IAAA,mBAAU,GAAE;qCAG6B,2CAAoB;QAC3B,qCAAgB;QACX,gDAAqB;QACpC,8BAAa;GALzB,oCAAoC,CAmBhD","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { QueueMessage } from 'src/interfaces/mq';\nimport whatsappQueueOptions from './msg91-whatsapp-queue-options-database';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { Msg91WhatsappService } from 'src/services/whatsapp/Msg91WhatsappService';\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 Msg91WhatsappQueueSubscriberDatabase extends DatabaseSubscriber<any> {\n constructor(\n private readonly whatsappService: Msg91WhatsappService,\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 ...whatsappQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.whatsappService.sendWhatsAppMessageSynchronously(message);\n }\n}\n"]}
|
|
@@ -12,6 +12,6 @@ export declare class Three60WhatsappQueueSubscriberDatabase extends DatabaseSubs
|
|
|
12
12
|
readonly poller: PollerService;
|
|
13
13
|
constructor(whatsappService: Three60WhatsappService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService, poller: PollerService);
|
|
14
14
|
options(): QueuesModuleOptions;
|
|
15
|
-
subscribe(message: QueueMessage<any>): void
|
|
15
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=three60-whatsapp-subscriber-database.service.d.ts.map
|
|
@@ -34,7 +34,7 @@ let Three60WhatsappQueueSubscriberDatabase = class Three60WhatsappQueueSubscribe
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
subscribe(message) {
|
|
37
|
-
this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
37
|
+
return this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
exports.Three60WhatsappQueueSubscriberDatabase = Three60WhatsappQueueSubscriberDatabase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three60-whatsapp-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/three60-whatsapp-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,oHAA2E;AAC3E,0EAAmE;AACnE,sFAA8E;AAE9E,mGAAqF;AACrF,kEAA4D;AAC5D,2FAAsF;AAG/E,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,gDAAuB;IAC/E,YACqB,eAAuC,EAC/C,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB;QAE9B,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QALtC,oBAAe,GAAf,eAAe,CAAwB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;IAGlC,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,+CAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"three60-whatsapp-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/three60-whatsapp-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,oHAA2E;AAC3E,0EAAmE;AACnE,sFAA8E;AAE9E,mGAAqF;AACrF,kEAA4D;AAC5D,2FAAsF;AAG/E,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,gDAAuB;IAC/E,YACqB,eAAuC,EAC/C,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB;QAE9B,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QALtC,oBAAe,GAAf,eAAe,CAAwB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;IAGlC,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,+CAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AAnBY,wFAAsC;iDAAtC,sCAAsC;IADlD,IAAA,mBAAU,GAAE;qCAG6B,+CAAsB;QAC7B,qCAAgB;QACX,gDAAqB;QACpC,8BAAa;GALzB,sCAAsC,CAmBlD","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { QueueMessage } from 'src/interfaces/mq';\nimport whatsappQueueOptions from './msg91-whatsapp-queue-options-database';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { QueuesModuleOptions } from 'src/interfaces';\nimport { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';\nimport { PollerService } from 'src/services/poller.service';\nimport { Three60WhatsappService } from 'src/services/whatsapp/Three60WhatsappService';\n\n@Injectable()\nexport class Three60WhatsappQueueSubscriberDatabase extends DatabaseSubscriber<any> {\n constructor(\n private readonly whatsappService: Three60WhatsappService,\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 ...whatsappQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.whatsappService.sendWhatsAppMessageSynchronously(message);\n }\n}\n"]}
|
|
@@ -10,6 +10,6 @@ export declare class ApiEmailQueueSubscriber extends RabbitMqSubscriber<any> {
|
|
|
10
10
|
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
11
|
constructor(emailService: ElasticEmailService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
12
12
|
options(): QueuesModuleOptions;
|
|
13
|
-
subscribe(message: QueueMessage<any>): void
|
|
13
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=api-email-subscriber.service.d.ts.map
|
|
@@ -32,7 +32,7 @@ let ApiEmailQueueSubscriber = class ApiEmailQueueSubscriber extends rabbitmq_sub
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
subscribe(message) {
|
|
35
|
-
this.emailService.sendEmailSynchronously(message);
|
|
35
|
+
return this.emailService.sendEmailSynchronously(message);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
exports.ApiEmailQueueSubscriber = ApiEmailQueueSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-email-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/api-email-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,wFAAyD;AACzD,mGAAqF;AAErF,qFAAgF;AAChF,0EAAmE;AACnE,sFAA8E;AAIvE,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gDAAuB;IAChE,YACqB,YAAiC,EACzC,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,iBAAY,GAAZ,YAAY,CAAqB;QACzC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,iCAAgB;SACtB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api-email-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/api-email-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,wFAAyD;AACzD,mGAAqF;AAErF,qFAAgF;AAChF,0EAAmE;AACnE,sFAA8E;AAIvE,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gDAAuB;IAChE,YACqB,YAAiC,EACzC,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,iBAAY,GAAZ,YAAY,CAAqB;QACzC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,iCAAgB;SACtB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;CACJ,CAAA;AAlBY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAG0B,2CAAmB;QACvB,qCAAgB;QACX,gDAAqB;GAJhD,uBAAuB,CAkBnC","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport mailQueueOptions from './api-email-queue-options';\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { ElasticEmailService } from '../../services/mail/elastic-email.service';\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 ApiEmailQueueSubscriber extends RabbitMqSubscriber<any> {\n constructor(\n private readonly emailService: ElasticEmailService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...mailQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.emailService.sendEmailSynchronously(message);\n }\n}\n"]}
|
|
@@ -10,6 +10,6 @@ export declare class Msg91WhatsappQueueSubscriber extends RabbitMqSubscriber<any
|
|
|
10
10
|
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
11
|
constructor(whatsappService: Msg91WhatsappService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
12
12
|
options(): QueuesModuleOptions;
|
|
13
|
-
subscribe(message: QueueMessage<any>): void
|
|
13
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=msg91-whatsapp-subscriber.service.d.ts.map
|
|
@@ -32,7 +32,7 @@ let Msg91WhatsappQueueSubscriber = class Msg91WhatsappQueueSubscriber extends ra
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
subscribe(message) {
|
|
35
|
-
this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
35
|
+
return this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
exports.Msg91WhatsappQueueSubscriber = Msg91WhatsappQueueSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msg91-whatsapp-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/msg91-whatsapp-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,mGAAqF;AAErF,kGAAkE;AAClE,uFAAoF;AACpF,0EAAmE;AACnE,sFAA8E;AAIvE,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gDAAuB;IACrE,YACqB,eAAqC,EAC7C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAsB;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,sCAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"msg91-whatsapp-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/msg91-whatsapp-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,mGAAqF;AAErF,kGAAkE;AAClE,uFAAoF;AACpF,0EAAmE;AACnE,sFAA8E;AAIvE,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gDAAuB;IACrE,YACqB,eAAqC,EAC7C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAsB;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,sCAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AAlBY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;qCAG6B,2CAAoB;QAC3B,qCAAgB;QACX,gDAAqB;GAJhD,4BAA4B,CAkBxC","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport whatsappQueueOptions from './msg91-whatsapp-queue-options';\nimport { Msg91WhatsappService } from '../../services/whatsapp/Msg91WhatsappService';\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 Msg91WhatsappQueueSubscriber extends RabbitMqSubscriber<any> {\n constructor(\n private readonly whatsappService: Msg91WhatsappService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...whatsappQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.whatsappService.sendWhatsAppMessageSynchronously(message);\n }\n}\n"]}
|
|
@@ -9,6 +9,6 @@ export declare class TestQueueSubscriber extends RabbitMqSubscriber<any> {
|
|
|
9
9
|
private readonly testQueueLogger;
|
|
10
10
|
constructor(mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
11
11
|
options(): QueuesModuleOptions;
|
|
12
|
-
subscribe(message: QueueMessage<any>):
|
|
12
|
+
subscribe(message: QueueMessage<any>): Promise<unknown>;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=test-queue-subscriber.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-queue-subscriber.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/test-queue-subscriber.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,qBACa,mBAAoB,SAAQ,kBAAkB,CAAC,GAAG,CAAC;IAGxD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAHzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;gBAE3D,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKzD,OAAO,IAAI,mBAAmB;IAM9B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"test-queue-subscriber.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/test-queue-subscriber.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,qBACa,mBAAoB,SAAQ,kBAAkB,CAAC,GAAG,CAAC;IAGxD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAHzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;gBAE3D,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB;IAKzD,OAAO,IAAI,mBAAmB;IAM9B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;CAmBvC"}
|
|
@@ -39,9 +39,12 @@ let TestQueueSubscriber = TestQueueSubscriber_1 = class TestQueueSubscriber exte
|
|
|
39
39
|
timeoutSecondsParsed = +timeoutSeconds;
|
|
40
40
|
}
|
|
41
41
|
this.testQueueLogger.debug(`Processing message with timeout: ${timeoutSecondsParsed}`);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
return new Promise((resolve) => {
|
|
43
|
+
setTimeout(() => {
|
|
44
|
+
this.testQueueLogger.debug(`Processed message: ${JSON.stringify(message)}`);
|
|
45
|
+
resolve({ status: 'success', messageId: message.messageId, message: 'Processed message' });
|
|
46
|
+
}, timeoutSecondsParsed * 1000);
|
|
47
|
+
});
|
|
45
48
|
}
|
|
46
49
|
};
|
|
47
50
|
exports.TestQueueSubscriber = TestQueueSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-queue-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/test-queue-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,mGAAqF;AAErF,8EAAmD;AACnD,0EAAqE;AACrE,sFAAgF;AAIzE,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,gDAAuB;IAE5D,YACa,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAHtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAHxC,oBAAe,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IAMxE,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,4BAAe;SACrB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAEhC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3E,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;QACxD,IAAI,cAAc,EAAE,CAAC;YACjB,oBAAoB,GAAG,CAAC,cAAc,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oCAAoC,oBAAoB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"test-queue-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/test-queue-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,mGAAqF;AAErF,8EAAmD;AACnD,0EAAqE;AACrE,sFAAgF;AAIzE,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,gDAAuB;IAE5D,YACa,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAHtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAHxC,oBAAe,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IAMxE,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,4BAAe;SACrB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAEhC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3E,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;QACxD,IAAI,cAAc,EAAE,CAAC;YACjB,oBAAoB,GAAG,CAAC,cAAc,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oCAAoC,oBAAoB,EAAE,CAAC,CAAC;QAEvF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC/F,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAlCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAIsB,qCAAgB;QACX,gDAAqB;GAJhD,mBAAmB,CAkC/B","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport testQueueConfig from './test-queue-options';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\n\n@Injectable()\nexport class TestQueueSubscriber extends RabbitMqSubscriber<any> {\n private readonly testQueueLogger = new Logger(TestQueueSubscriber.name);\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...testQueueConfig\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n // console.log(`Received message ${JSON.stringify(message)}`);\n this.testQueueLogger.debug(`Received message: ${JSON.stringify(message)}`);\n\n let timeoutSecondsParsed = 10;\n const timeoutSeconds = message?.payload?.timeoutSeconds;\n if (timeoutSeconds) {\n timeoutSecondsParsed = +timeoutSeconds;\n }\n\n this.testQueueLogger.debug(`Processing message with timeout: ${timeoutSecondsParsed}`);\n\n return new Promise((resolve) => {\n setTimeout(() => {\n this.testQueueLogger.debug(`Processed message: ${JSON.stringify(message)}`);\n resolve({ status: 'success', messageId: message.messageId, message: 'Processed message' });\n }, timeoutSecondsParsed * 1000);\n });\n }\n}\n"]}
|
|
@@ -10,6 +10,6 @@ export declare class Three60WhatsappQueueSubscriber extends RabbitMqSubscriber<a
|
|
|
10
10
|
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
11
|
constructor(whatsappService: Three60WhatsappService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
12
12
|
options(): QueuesModuleOptions;
|
|
13
|
-
subscribe(message: QueueMessage<any>): void
|
|
13
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=three60-whatsapp-subscriber.service.d.ts.map
|
|
@@ -32,7 +32,7 @@ let Three60WhatsappQueueSubscriber = class Three60WhatsappQueueSubscriber extend
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
subscribe(message) {
|
|
35
|
-
this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
35
|
+
return this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
exports.Three60WhatsappQueueSubscriber = Three60WhatsappQueueSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three60-whatsapp-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/three60-whatsapp-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,mGAAqF;AAErF,sGAAoE;AACpE,0EAAmE;AACnE,sFAA8E;AAE9E,2FAAsF;AAG/E,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,gDAAuB;IACvE,YACqB,eAAuC,EAC/C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAwB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,wCAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"three60-whatsapp-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/three60-whatsapp-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,mGAAqF;AAErF,sGAAoE;AACpE,0EAAmE;AACnE,sFAA8E;AAE9E,2FAAsF;AAG/E,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,gDAAuB;IACvE,YACqB,eAAuC,EAC/C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAwB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,wCAAoB;SAC1B,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AAlBY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAG6B,+CAAsB;QAC7B,qCAAgB;QACX,gDAAqB;GAJhD,8BAA8B,CAkB1C","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport whatsappQueueOptions from './three60-whatsapp-queue-options';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { MqMessageQueueService } from 'src/services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { Three60WhatsappService } from 'src/services/whatsapp/Three60WhatsappService';\n\n@Injectable()\nexport class Three60WhatsappQueueSubscriber extends RabbitMqSubscriber<any> {\n constructor(\n private readonly whatsappService: Three60WhatsappService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...whatsappQueueOptions\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.whatsappService.sendWhatsAppMessageSynchronously(message);\n }\n}\n"]}
|
|
@@ -10,6 +10,6 @@ export declare class ApiEmailQueueSubscriberRedis extends RedisSubscriber<any> {
|
|
|
10
10
|
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
11
|
constructor(emailService: ElasticEmailService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
12
12
|
options(): QueuesModuleOptions;
|
|
13
|
-
subscribe(message: QueueMessage<any>): void
|
|
13
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=api-email-subscriber-redis.service.d.ts.map
|
|
@@ -32,7 +32,7 @@ let ApiEmailQueueSubscriberRedis = class ApiEmailQueueSubscriberRedis extends re
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
subscribe(message) {
|
|
35
|
-
this.emailService.sendEmailSynchronously(message);
|
|
35
|
+
return this.emailService.sendEmailSynchronously(message);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
exports.ApiEmailQueueSubscriberRedis = ApiEmailQueueSubscriberRedis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-email-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/api-email-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6FAA+E;AAE/E,oGAAkE;AAClE,0EAAqE;AACrE,sFAAgF;AAEhF,qFAAgF;AAGzE,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,0CAAoB;IAClE,YACqB,YAAiC,EACzC,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,iBAAY,GAAZ,YAAY,CAAqB;QACzC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,uCAAmB;SACzB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api-email-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/api-email-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6FAA+E;AAE/E,oGAAkE;AAClE,0EAAqE;AACrE,sFAAgF;AAEhF,qFAAgF;AAGzE,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,0CAAoB;IAClE,YACqB,YAAiC,EACzC,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,iBAAY,GAAZ,YAAY,CAAqB;QACzC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,uCAAmB;SACzB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;CACJ,CAAA;AAlBY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;qCAG0B,2CAAmB;QACvB,qCAAgB;QACX,gDAAqB;GAJhD,4BAA4B,CAkBxC","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RedisSubscriber } from 'src/services/queues/redis-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport apiEmailQueueConfig from './api-email-queue-options-redis';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { ElasticEmailService } from '../../services/mail/elastic-email.service';\n\n@Injectable()\nexport class ApiEmailQueueSubscriberRedis extends RedisSubscriber<any> {\n constructor(\n private readonly emailService: ElasticEmailService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...apiEmailQueueConfig\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.emailService.sendEmailSynchronously(message);\n }\n}\n"]}
|
|
@@ -10,6 +10,6 @@ export declare class Msg91WhatsappQueueSubscriberRedis extends RedisSubscriber<a
|
|
|
10
10
|
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
11
|
constructor(whatsappService: Msg91WhatsappService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
12
12
|
options(): QueuesModuleOptions;
|
|
13
|
-
subscribe(message: QueueMessage<any>): void
|
|
13
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=msg91-whatsapp-subscriber-redis.service.d.ts.map
|
|
@@ -32,7 +32,7 @@ let Msg91WhatsappQueueSubscriberRedis = class Msg91WhatsappQueueSubscriberRedis
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
subscribe(message) {
|
|
35
|
-
this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
35
|
+
return this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
exports.Msg91WhatsappQueueSubscriberRedis = Msg91WhatsappQueueSubscriberRedis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msg91-whatsapp-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/msg91-whatsapp-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6FAA+E;AAE/E,8GAAuE;AACvE,0EAAqE;AACrE,sFAAgF;AAEhF,uFAAoF;AAG7E,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,0CAAoB;IACvE,YACqB,eAAqC,EAC7C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAsB;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,4CAAmB;SACzB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"msg91-whatsapp-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/msg91-whatsapp-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6FAA+E;AAE/E,8GAAuE;AACvE,0EAAqE;AACrE,sFAAgF;AAEhF,uFAAoF;AAG7E,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,0CAAoB;IACvE,YACqB,eAAqC,EAC7C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAsB;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,4CAAmB;SACzB,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AAlBY,8EAAiC;4CAAjC,iCAAiC;IAD7C,IAAA,mBAAU,GAAE;qCAG6B,2CAAoB;QAC3B,qCAAgB;QACX,gDAAqB;GAJhD,iCAAiC,CAkB7C","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RedisSubscriber } from 'src/services/queues/redis-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport whatsappQueueConfig from './msg91-whatsapp-queue-options-redis';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { Msg91WhatsappService } from '../../services/whatsapp/Msg91WhatsappService';\n\n@Injectable()\nexport class Msg91WhatsappQueueSubscriberRedis extends RedisSubscriber<any> {\n constructor(\n private readonly whatsappService: Msg91WhatsappService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...whatsappQueueConfig\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.whatsappService.sendWhatsAppMessageSynchronously(message);\n }\n}\n"]}
|
|
@@ -10,6 +10,6 @@ export declare class Three60WhatsappQueueSubscriberRedis extends RedisSubscriber
|
|
|
10
10
|
readonly mqMessageQueueService: MqMessageQueueService;
|
|
11
11
|
constructor(whatsappService: Three60WhatsappService, mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
|
|
12
12
|
options(): QueuesModuleOptions;
|
|
13
|
-
subscribe(message: QueueMessage<any>): void
|
|
13
|
+
subscribe(message: QueueMessage<any>): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=three60-whatsapp-subscriber-redis.service.d.ts.map
|
|
@@ -32,7 +32,7 @@ let Three60WhatsappQueueSubscriberRedis = class Three60WhatsappQueueSubscriberRe
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
subscribe(message) {
|
|
35
|
-
this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
35
|
+
return this.whatsappService.sendWhatsAppMessageSynchronously(message);
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
exports.Three60WhatsappQueueSubscriberRedis = Three60WhatsappQueueSubscriberRedis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three60-whatsapp-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/three60-whatsapp-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6FAA+E;AAE/E,kHAAgF;AAChF,0EAAqE;AACrE,sFAAgF;AAEhF,2FAAwF;AAGjF,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,0CAAoB;IACzE,YACqB,eAAuC,EAC/C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAwB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,8CAA0B;SAChC,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"three60-whatsapp-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/three60-whatsapp-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6FAA+E;AAE/E,kHAAgF;AAChF,0EAAqE;AACrE,sFAAgF;AAEhF,2FAAwF;AAGjF,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,0CAAoB;IACzE,YACqB,eAAuC,EAC/C,gBAAkC,EAClC,qBAA4C;QAErD,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJ9B,oBAAe,GAAf,eAAe,CAAwB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;IAGzD,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,8CAA0B;SAChC,CAAA;IACL,CAAC;IAED,SAAS,CAAC,OAA0B;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AAlBY,kFAAmC;8CAAnC,mCAAmC;IAD/C,IAAA,mBAAU,GAAE;qCAG6B,+CAAsB;QAC7B,qCAAgB;QACX,gDAAqB;GAJhD,mCAAmC,CAkB/C","sourcesContent":["import { Injectable } from '@nestjs/common';\n\nimport { RedisSubscriber } from 'src/services/queues/redis-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport three60WhatsappQueueConfig from './three60-whatsapp-queue-options-redis';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { Three60WhatsappService } from '../../services/whatsapp/Three60WhatsappService';\n\n@Injectable()\nexport class Three60WhatsappQueueSubscriberRedis extends RedisSubscriber<any> {\n constructor(\n private readonly whatsappService: Three60WhatsappService,\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...three60WhatsappQueueConfig\n }\n }\n\n subscribe(message: QueueMessage<any>) {\n return this.whatsappService.sendWhatsAppMessageSynchronously(message);\n }\n}\n"]}
|
|
@@ -11214,6 +11214,7 @@
|
|
|
11214
11214
|
"label": "Scheduled Job",
|
|
11215
11215
|
"className": "grid"
|
|
11216
11216
|
},
|
|
11217
|
+
"onFieldChange": "scheduleFrequencyOnFieldChangeHandler",
|
|
11217
11218
|
"children": [
|
|
11218
11219
|
{
|
|
11219
11220
|
"type": "sheet",
|
|
@@ -11291,7 +11292,8 @@
|
|
|
11291
11292
|
{
|
|
11292
11293
|
"type": "field",
|
|
11293
11294
|
"attrs": {
|
|
11294
|
-
"name": "cronExpression"
|
|
11295
|
+
"name": "cronExpression",
|
|
11296
|
+
"visible": false
|
|
11295
11297
|
}
|
|
11296
11298
|
},
|
|
11297
11299
|
{
|
|
@@ -11321,13 +11323,15 @@
|
|
|
11321
11323
|
{
|
|
11322
11324
|
"type": "field",
|
|
11323
11325
|
"attrs": {
|
|
11324
|
-
"name": "dayOfWeek"
|
|
11326
|
+
"name": "dayOfWeek",
|
|
11327
|
+
"visible": false
|
|
11325
11328
|
}
|
|
11326
11329
|
},
|
|
11327
11330
|
{
|
|
11328
11331
|
"type": "field",
|
|
11329
11332
|
"attrs": {
|
|
11330
|
-
"name": "dayOfMonth"
|
|
11333
|
+
"name": "dayOfMonth",
|
|
11334
|
+
"visible": false
|
|
11331
11335
|
}
|
|
11332
11336
|
}
|
|
11333
11337
|
]
|
|
@@ -14,7 +14,7 @@ export declare abstract class DatabaseSubscriber<T> implements OnModuleInit, Que
|
|
|
14
14
|
constructor(mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService, poller: PollerService);
|
|
15
15
|
protected get loggerContext(): string;
|
|
16
16
|
protected get logger(): Logger;
|
|
17
|
-
abstract subscribe(message: QueueMessage<T>): any
|
|
17
|
+
abstract subscribe(message: QueueMessage<T>): Promise<any>;
|
|
18
18
|
abstract options(): QueuesModuleOptions;
|
|
19
19
|
private processNext;
|
|
20
20
|
onModuleInit(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-subscriber.service.d.ts","sourceRoot":"","sources":["../../../src/services/queues/database-subscriber.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,8BAAsB,kBAAkB,CAAC,CAAC,CAAE,YAAW,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAM/E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAC/D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa;IAP5C,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGd,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa;IAS5C,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAED,SAAS,KAAK,MAAM,IAAI,MAAM,CAK7B;IAED,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"database-subscriber.service.d.ts","sourceRoot":"","sources":["../../../src/services/queues/database-subscriber.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,8BAAsB,kBAAkB,CAAC,CAAC,CAAE,YAAW,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAM/E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAC/D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa;IAP5C,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGd,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa;IAS5C,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAED,SAAS,KAAK,MAAM,IAAI,MAAM,CAK7B;IAED,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAE1D,QAAQ,CAAC,OAAO,IAAI,mBAAmB;YAEzB,WAAW;IA6CnB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CnC,eAAe;cAUC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAazD,YAAY;YAsBZ,sBAAsB;CAoCvC"}
|