bozonx-social-media-posting 1.1.0 → 1.2.0

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/README.md CHANGED
@@ -788,15 +788,15 @@ Key features of library mode:
788
788
  ### Installation
789
789
 
790
790
  ```bash
791
- npm install social-media-posting-microservice
791
+ npm install bozonx-social-media-posting
792
792
  # or
793
- pnpm add social-media-posting-microservice
793
+ pnpm add bozonx-social-media-posting
794
794
  ```
795
795
 
796
796
  ### Quick Start
797
797
 
798
798
  ```typescript
799
- import { createPostingClient } from 'social-media-posting-microservice';
799
+ import { createPostingClient } from 'bozonx-social-media-posting';
800
800
 
801
801
  const client = createPostingClient({
802
802
  accounts: {
@@ -877,7 +877,7 @@ Gracefully shuts down the client, cleaning up any timers or internal resources.
877
877
  You can provide your own logger by implementing the `ILogger` interface:
878
878
 
879
879
  ```typescript
880
- import { ILogger, createPostingClient } from 'social-media-posting-microservice';
880
+ import { ILogger, createPostingClient } from 'bozonx-social-media-posting';
881
881
 
882
882
  class MyLogger implements ILogger {
883
883
  debug(msg: string, ctx?: string) { /* ... */ }
@@ -0,0 +1,103 @@
1
+ {
2
+ "name": "bozonx-social-media-posting",
3
+ "version": "1.1.0",
4
+ "description": "Social media posting library and microservice with multi-platform support",
5
+ "keywords": [
6
+ "social-media",
7
+ "posting",
8
+ "telegram",
9
+ "library",
10
+ "microservice",
11
+ "nestjs",
12
+ "bot",
13
+ "automation"
14
+ ],
15
+ "type": "module",
16
+ "main": "./dist/src/index.js",
17
+ "types": "./dist/src/index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/src/index.d.ts",
21
+ "import": "./dist/src/index.js",
22
+ "default": "./dist/src/index.js"
23
+ },
24
+ "./library": {
25
+ "types": "./dist/src/library.d.ts",
26
+ "import": "./dist/src/library.js"
27
+ },
28
+ "./types": {
29
+ "types": "./dist/src/index.d.ts"
30
+ }
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "README.md",
35
+ "LICENSE"
36
+ ],
37
+ "scripts": {
38
+ "build": "nest build",
39
+ "build:lib": "tsc -p tsconfig.lib.json",
40
+ "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
41
+ "start": "nest start",
42
+ "start:dev": "NODE_ENV=development nest start --watch",
43
+ "start:debug": "NODE_ENV=development nest start --debug --watch",
44
+ "start:prod": "NODE_ENV=production node dist/src/main.js",
45
+ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
46
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
47
+ "test:unit": "NODE_OPTIONS=--experimental-vm-modules jest --selectProjects unit",
48
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
49
+ "test:cov": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
50
+ "test:debug": "NODE_OPTIONS=--experimental-vm-modules node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand --detectOpenHandles",
51
+ "test:unit:debug": "NODE_OPTIONS=--experimental-vm-modules node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand --selectProjects unit --detectOpenHandles",
52
+ "test:e2e:debug": "NODE_OPTIONS=--experimental-vm-modules node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand --selectProjects e2e --detectOpenHandles",
53
+ "test:e2e": "NODE_OPTIONS=--experimental-vm-modules jest --selectProjects e2e",
54
+ "lib:publish": "pnpm build:lib && pnpm publish --access public"
55
+ },
56
+ "dependencies": {
57
+ "@nestjs/cache-manager": "^3.1.0",
58
+ "@nestjs/common": "^11.1.11",
59
+ "@nestjs/core": "^11.1.11",
60
+ "cache-manager": "^7.2.7",
61
+ "class-transformer": "^0.5.1",
62
+ "class-validator": "^0.14.3",
63
+ "grammy": "^1.39.2",
64
+ "reflect-metadata": "^0.2.2",
65
+ "rxjs": "^7.8.2"
66
+ },
67
+ "optionalDependencies": {
68
+ "@nestjs/config": "^4.0.2",
69
+ "@nestjs/platform-fastify": "^11.1.11",
70
+ "fastify": "^5.6.2",
71
+ "js-yaml": "^4.1.1",
72
+ "nestjs-pino": "^4.5.0",
73
+ "pino": "^10.1.0"
74
+ },
75
+ "devDependencies": {
76
+ "@nestjs/cli": "^11.0.14",
77
+ "@nestjs/schematics": "^11.0.9",
78
+ "@nestjs/testing": "^11.1.11",
79
+ "@types/jest": "^30.0.0",
80
+ "@types/js-yaml": "^4.0.9",
81
+ "@types/node": "^25.0.3",
82
+ "@typescript-eslint/eslint-plugin": "^8.52.0",
83
+ "@typescript-eslint/parser": "^8.52.0",
84
+ "eslint": "^9.39.2",
85
+ "eslint-config-prettier": "^10.1.8",
86
+ "eslint-plugin-jest": "^29.12.1",
87
+ "eslint-plugin-prettier": "^5.5.4",
88
+ "jest": "^30.2.0",
89
+ "nock": "^14.0.10",
90
+ "pino-pretty": "^13.1.3",
91
+ "prettier": "^3.7.4",
92
+ "ts-jest": "^29.4.6",
93
+ "ts-node": "^10.9.2",
94
+ "tsconfig-paths": "^4.2.0",
95
+ "typescript": "^5.9.3"
96
+ },
97
+ "author": "Ivan K",
98
+ "license": "MIT",
99
+ "engines": {
100
+ "node": ">=22.0.0"
101
+ },
102
+ "packageManager": "pnpm@10.13.1"
103
+ }
@@ -0,0 +1,2 @@
1
+ export declare class AppModule {
2
+ }
@@ -0,0 +1,126 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Module } from '@nestjs/common';
8
+ import { CacheModule } from '@nestjs/cache-manager';
9
+ import { ConfigModule, ConfigService } from '@nestjs/config';
10
+ import { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core';
11
+ import { LoggerModule } from 'nestjs-pino';
12
+ import { HealthModule } from './modules/health/health.module.js';
13
+ import { AllExceptionsFilter } from './common/filters/all-exceptions.filter.js';
14
+ import { ShutdownModule } from './common/services/shutdown.module.js';
15
+ import { ShutdownInterceptor } from './common/interceptors/shutdown.interceptor.js';
16
+ import appConfig from './config/app.config.js';
17
+ import yamlConfig from './config/yaml.config.js';
18
+ import pkg from '../package.json' with { type: 'json' };
19
+ import { PostModule } from './modules/post/post.module.js';
20
+ import { AppConfigModule } from './modules/app-config/app-config.module.js';
21
+ let AppModule = class AppModule {
22
+ };
23
+ AppModule = __decorate([
24
+ Module({
25
+ imports: [
26
+ CacheModule.register({
27
+ isGlobal: true,
28
+ }),
29
+ ConfigModule.forRoot({
30
+ isGlobal: true,
31
+ load: [appConfig, yamlConfig],
32
+ envFilePath: [`.env.${process.env.NODE_ENV || 'development'}`, '.env'],
33
+ cache: true,
34
+ }),
35
+ LoggerModule.forRootAsync({
36
+ inject: [ConfigService],
37
+ useFactory: (configService) => {
38
+ const appConfig = configService.get('app');
39
+ const isDev = appConfig.nodeEnv === 'development';
40
+ return {
41
+ pinoHttp: {
42
+ level: appConfig.logLevel,
43
+ timestamp: () => `,"@timestamp":"${new Date().toISOString()}"`,
44
+ base: {
45
+ service: pkg.name ?? 'app',
46
+ environment: appConfig.nodeEnv,
47
+ },
48
+ transport: isDev
49
+ ? {
50
+ target: 'pino-pretty',
51
+ options: {
52
+ colorize: true,
53
+ singleLine: false,
54
+ translateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss.l'Z'",
55
+ ignore: 'pid,hostname',
56
+ messageFormat: '[{context}] {msg}',
57
+ },
58
+ }
59
+ : undefined,
60
+ serializers: {
61
+ req: req => ({
62
+ id: req.id,
63
+ method: req.method,
64
+ url: req.url,
65
+ path: req.url?.split('?')[0],
66
+ remoteAddress: req.ip,
67
+ remotePort: req.socket?.remotePort,
68
+ }),
69
+ res: res => ({
70
+ statusCode: res.statusCode,
71
+ }),
72
+ err: err => ({
73
+ type: err.type,
74
+ message: err.message,
75
+ stack: err.stack,
76
+ }),
77
+ },
78
+ redact: {
79
+ paths: ['req.headers.authorization', 'req.headers["x-api-key"]'],
80
+ censor: '[REDACTED]',
81
+ },
82
+ customLogLevel: (req, res, err) => {
83
+ if (res.statusCode >= 500 || err) {
84
+ return 'error';
85
+ }
86
+ if (res.statusCode >= 400) {
87
+ return 'warn';
88
+ }
89
+ if (res.statusCode >= 300) {
90
+ return 'info';
91
+ }
92
+ return 'info';
93
+ },
94
+ autoLogging: {
95
+ ignore: req => {
96
+ if (appConfig.nodeEnv === 'production') {
97
+ return req.url?.includes('/health') || false;
98
+ }
99
+ return false;
100
+ },
101
+ },
102
+ },
103
+ };
104
+ },
105
+ }),
106
+ HealthModule,
107
+ AppConfigModule,
108
+ ShutdownModule,
109
+ PostModule,
110
+ ],
111
+ controllers: [],
112
+ providers: [
113
+ {
114
+ provide: APP_FILTER,
115
+ useClass: AllExceptionsFilter,
116
+ },
117
+ {
118
+ provide: APP_INTERCEPTOR,
119
+ useClass: ShutdownInterceptor,
120
+ },
121
+ ],
122
+ exports: [ShutdownModule],
123
+ })
124
+ ], AppModule);
125
+ export { AppModule };
126
+ //# sourceMappingURL=app.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ import { IdempotencyService } from './modules/post/idempotency.service.js';
11
11
  import { ShutdownService } from './common/services/shutdown.service.js';
12
12
  import { LibraryConfigService } from './config/library.config.js';
13
13
  import { ConsoleLogger } from './common/interfaces/logger.interface.js';
14
+ import { TelegramPlatform } from './modules/platforms/telegram/telegram.platform.js';
15
+ import { TelegramAuthValidator } from './modules/platforms/telegram/telegram-auth.validator.js';
16
+ import { TelegramTypeDetector } from './modules/platforms/telegram/telegram-type-detector.service.js';
17
+ import { MediaService } from './modules/media/media.service.js';
14
18
  // function mapLogLevel ...
15
19
  function mapLogLevel(level) {
16
20
  // 'debug' | 'info' | 'warn' | 'error'
@@ -52,6 +56,15 @@ export function createPostingClient(config) {
52
56
  // Create platform registry and auth validator registry (no constructor args)
53
57
  const platformRegistry = new PlatformRegistry();
54
58
  const authValidatorRegistry = new AuthValidatorRegistry();
59
+ // Create platform dependencies
60
+ const mediaService = new MediaService();
61
+ const telegramTypeDetector = new TelegramTypeDetector();
62
+ // Create platform instances
63
+ const telegramPlatform = new TelegramPlatform(mediaService, telegramTypeDetector);
64
+ const telegramAuthValidator = new TelegramAuthValidator();
65
+ // Register platforms and auth validators
66
+ platformRegistry.register(telegramPlatform);
67
+ authValidatorRegistry.register(telegramAuthValidator);
55
68
  // Create shutdown service
56
69
  const shutdownService = new ShutdownService();
57
70
  // Create in-memory cache manager for idempotency
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'reflect-metadata';
@@ -0,0 +1,81 @@
1
+ import 'reflect-metadata';
2
+ import { NestFactory } from '@nestjs/core';
3
+ import { FastifyAdapter } from '@nestjs/platform-fastify';
4
+ import { ValidationPipe } from '@nestjs/common';
5
+ import { ConfigService } from '@nestjs/config';
6
+ import { Logger } from 'nestjs-pino';
7
+ import { AppModule } from './app.module.js';
8
+ import { GRACEFUL_SHUTDOWN_TIMEOUT_MS } from './app.constants.js';
9
+ import { ShutdownService } from './common/services/shutdown.service.js';
10
+ /**
11
+ * Bootstrap the NestJS application with Fastify adapter
12
+ * Initializes the application with Pino logger, global validation pipes,
13
+ * and configures the API prefix based on environment settings
14
+ */
15
+ async function bootstrap() {
16
+ // Create app with bufferLogs enabled to capture early logs
17
+ const app = await NestFactory.create(AppModule, new FastifyAdapter({
18
+ logger: false, // We'll use Pino logger instead
19
+ // Force close idle connections during shutdown to prevent hanging
20
+ forceCloseConnections: 'idle',
21
+ // Timeout for establishing connections (60 seconds)
22
+ connectionTimeout: 60000,
23
+ // Timeout for processing requests (10 minutes - should be higher than requestTimeoutSecs)
24
+ requestTimeout: 600000,
25
+ }), {
26
+ bufferLogs: true,
27
+ });
28
+ // Use Pino logger for the entire application
29
+ app.useLogger(app.get(Logger));
30
+ const configService = app.get(ConfigService);
31
+ const logger = app.get(Logger);
32
+ const shutdownService = app.get(ShutdownService);
33
+ const appConfig = configService.get('app');
34
+ app.useGlobalPipes(new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true }));
35
+ // Configure global API prefix from configuration
36
+ // If BASE_PATH is set, prefix will be BASE_PATH/api/v1, otherwise just api/v1
37
+ const globalPrefix = appConfig.basePath ? `${appConfig.basePath}/api/v1` : 'api/v1';
38
+ app.setGlobalPrefix(globalPrefix);
39
+ // Enable graceful shutdown hooks
40
+ app.enableShutdownHooks();
41
+ // Setup explicit signal handlers for graceful shutdown BEFORE starting the server
42
+ // This prevents race condition where signal arrives before handlers are registered
43
+ const handleShutdown = async (signal) => {
44
+ const shutdownStartTime = Date.now();
45
+ const inFlightCount = shutdownService.getInFlightRequestsCount();
46
+ logger.log(`Received ${signal}, starting graceful shutdown... (in-flight requests: ${inFlightCount})`, 'Bootstrap');
47
+ // Set a timeout to force shutdown if graceful shutdown takes too long
48
+ const forceShutdownTimer = setTimeout(() => {
49
+ const duration = Date.now() - shutdownStartTime;
50
+ const remainingRequests = shutdownService.getInFlightRequestsCount();
51
+ logger.warn(`Graceful shutdown timeout (${GRACEFUL_SHUTDOWN_TIMEOUT_MS}ms) exceeded after ${duration}ms, forcing shutdown`, 'Bootstrap');
52
+ logger.warn(`In-flight requests remaining: ${remainingRequests}`, 'Bootstrap');
53
+ process.exit(0);
54
+ }, GRACEFUL_SHUTDOWN_TIMEOUT_MS);
55
+ try {
56
+ // Close the application gracefully
57
+ await app.close();
58
+ clearTimeout(forceShutdownTimer);
59
+ const duration = Date.now() - shutdownStartTime;
60
+ logger.log(`Application closed gracefully in ${duration}ms`, 'Bootstrap');
61
+ process.exit(0);
62
+ }
63
+ catch (error) {
64
+ clearTimeout(forceShutdownTimer);
65
+ const duration = Date.now() - shutdownStartTime;
66
+ logger.error(`Error during shutdown after ${duration}ms: ${error}`, 'Bootstrap');
67
+ // Use exit code 0 even on error to avoid unnecessary alerts
68
+ // The error has been logged and graceful shutdown was attempted
69
+ process.exit(0);
70
+ }
71
+ };
72
+ process.on('SIGTERM', () => void handleShutdown('SIGTERM'));
73
+ process.on('SIGINT', () => void handleShutdown('SIGINT'));
74
+ await app.listen(appConfig.port, appConfig.host);
75
+ logger.log(`🚀 NestJS service is running on: http://${appConfig.host}:${appConfig.port}/${globalPrefix}`, 'Bootstrap');
76
+ logger.log(`📊 Environment: ${appConfig.nodeEnv}`, 'Bootstrap');
77
+ logger.log(`📝 Log level: ${appConfig.logLevel}`, 'Bootstrap');
78
+ logger.log(`⏱️ Graceful shutdown timeout: ${GRACEFUL_SHUTDOWN_TIMEOUT_MS}ms`, 'Bootstrap');
79
+ }
80
+ void bootstrap();
81
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -143,7 +143,14 @@ let PostService = class PostService extends BasePostService {
143
143
  if (error instanceof BadRequestException) {
144
144
  return ErrorCode.VALIDATION_ERROR;
145
145
  }
146
- if (error.code === 'ENOTFOUND' || error.code === 'ETIMEDOUT') {
146
+ const message = error.message || '';
147
+ const isNetworkError = error.code === 'ENOTFOUND' ||
148
+ error.code === 'ETIMEDOUT' ||
149
+ error.code === 'ECONNRESET' ||
150
+ error.code === 'ECONNREFUSED' ||
151
+ message.includes('Network request') ||
152
+ message.includes('fetch failed');
153
+ if (isNetworkError) {
147
154
  return ErrorCode.TIMEOUT_ERROR;
148
155
  }
149
156
  if (error.response?.status === 429) {
@@ -279,7 +286,14 @@ let PostService = class PostService extends BasePostService {
279
286
  * @returns True if should retry, false otherwise
280
287
  */
281
288
  shouldRetry(error) {
282
- if (error.code === 'ENOTFOUND' || error.code === 'ETIMEDOUT') {
289
+ const message = error?.message || '';
290
+ const isNetworkError = error.code === 'ENOTFOUND' ||
291
+ error.code === 'ETIMEDOUT' ||
292
+ error.code === 'ECONNRESET' ||
293
+ error.code === 'ECONNREFUSED' ||
294
+ message.includes('Network request') ||
295
+ message.includes('fetch failed');
296
+ if (isNetworkError) {
283
297
  return true;
284
298
  }
285
299
  if (error.response?.status >= 500) {
@@ -1 +1 @@
1
- {"version":3,"file":"post.service.js","sourceRoot":"","sources":["../../../../src/modules/post/post.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post.service.js","sourceRoot":"","sources":["../../../../src/modules/post/post.service.ts"],"names":[],"mappings":"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"}