bootifyjs 1.4.0 → 2.1.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.
Files changed (134) hide show
  1. package/README.md +149 -24
  2. package/dist/BootifyApp.d.ts +66 -0
  3. package/dist/BootifyApp.d.ts.map +1 -0
  4. package/dist/BootifyApp.js +196 -0
  5. package/dist/BootifyApp.js.map +1 -0
  6. package/dist/api.d.ts +10 -3
  7. package/dist/api.d.ts.map +1 -1
  8. package/dist/api.js +54 -37
  9. package/dist/api.js.map +1 -1
  10. package/dist/core/decorators.d.ts +27 -1
  11. package/dist/core/decorators.d.ts.map +1 -1
  12. package/dist/core/decorators.js +26 -3
  13. package/dist/core/decorators.js.map +1 -1
  14. package/dist/core/router.d.ts.map +1 -1
  15. package/dist/core/router.js +17 -2
  16. package/dist/core/router.js.map +1 -1
  17. package/dist/examples/adapters/pino-logger.adapter.d.ts +18 -0
  18. package/dist/examples/adapters/pino-logger.adapter.d.ts.map +1 -0
  19. package/dist/examples/adapters/pino-logger.adapter.js +81 -0
  20. package/dist/examples/adapters/pino-logger.adapter.js.map +1 -0
  21. package/dist/examples/controllers/todo.controller.d.ts.map +1 -1
  22. package/dist/examples/controllers/todo.controller.js +17 -4
  23. package/dist/examples/controllers/todo.controller.js.map +1 -1
  24. package/dist/examples/enhanced-logger-example.d.ts +2 -0
  25. package/dist/examples/enhanced-logger-example.d.ts.map +1 -0
  26. package/dist/examples/enhanced-logger-example.js +143 -0
  27. package/dist/examples/enhanced-logger-example.js.map +1 -0
  28. package/dist/examples/index.d.ts +1 -0
  29. package/dist/examples/index.d.ts.map +1 -1
  30. package/dist/examples/index.js +183 -79
  31. package/dist/examples/index.js.map +1 -1
  32. package/dist/examples/scheduled-jobs-example.d.ts +10 -0
  33. package/dist/examples/scheduled-jobs-example.d.ts.map +1 -0
  34. package/dist/examples/scheduled-jobs-example.js +134 -0
  35. package/dist/examples/scheduled-jobs-example.js.map +1 -0
  36. package/dist/examples/services/scheduled-tasks.service.d.ts +17 -0
  37. package/dist/examples/services/scheduled-tasks.service.d.ts.map +1 -0
  38. package/dist/examples/services/scheduled-tasks.service.js +88 -0
  39. package/dist/examples/services/scheduled-tasks.service.js.map +1 -0
  40. package/dist/examples/services/todo.service.d.ts.map +1 -1
  41. package/dist/examples/services/todo.service.js.map +1 -1
  42. package/dist/examples/simple-scheduler-test.d.ts +6 -0
  43. package/dist/examples/simple-scheduler-test.d.ts.map +1 -0
  44. package/dist/examples/simple-scheduler-test.js +57 -0
  45. package/dist/examples/simple-scheduler-test.js.map +1 -0
  46. package/dist/examples/streaming-logger-example.d.ts +2 -0
  47. package/dist/examples/streaming-logger-example.d.ts.map +1 -0
  48. package/dist/examples/streaming-logger-example.js +124 -0
  49. package/dist/examples/streaming-logger-example.js.map +1 -0
  50. package/dist/index.d.ts +5 -3
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +5 -3
  53. package/dist/index.js.map +1 -1
  54. package/dist/logging/core/base-logger.d.ts +44 -0
  55. package/dist/logging/core/base-logger.d.ts.map +1 -0
  56. package/dist/logging/core/base-logger.js +147 -0
  57. package/dist/logging/core/base-logger.js.map +1 -0
  58. package/dist/logging/core/context-providers/index.d.ts +2 -0
  59. package/dist/logging/core/context-providers/index.d.ts.map +1 -0
  60. package/dist/logging/core/context-providers/index.js +18 -0
  61. package/dist/logging/core/context-providers/index.js.map +1 -0
  62. package/dist/logging/core/context-providers/request-context.provider.d.ts +5 -0
  63. package/dist/logging/core/context-providers/request-context.provider.d.ts.map +1 -0
  64. package/dist/logging/core/context-providers/request-context.provider.js +19 -0
  65. package/dist/logging/core/context-providers/request-context.provider.js.map +1 -0
  66. package/dist/logging/core/decorators.d.ts +12 -2
  67. package/dist/logging/core/decorators.d.ts.map +1 -1
  68. package/dist/logging/core/decorators.js +50 -15
  69. package/dist/logging/core/decorators.js.map +1 -1
  70. package/dist/logging/core/enhanced-startup-logger.d.ts +48 -0
  71. package/dist/logging/core/enhanced-startup-logger.d.ts.map +1 -0
  72. package/dist/logging/core/enhanced-startup-logger.js +537 -0
  73. package/dist/logging/core/enhanced-startup-logger.js.map +1 -0
  74. package/dist/logging/core/interfaces.d.ts +75 -0
  75. package/dist/logging/core/interfaces.d.ts.map +1 -0
  76. package/dist/logging/core/interfaces.js +9 -0
  77. package/dist/logging/core/interfaces.js.map +1 -0
  78. package/dist/logging/core/logger-builder.d.ts +101 -0
  79. package/dist/logging/core/logger-builder.d.ts.map +1 -0
  80. package/dist/logging/core/logger-builder.js +205 -0
  81. package/dist/logging/core/logger-builder.js.map +1 -0
  82. package/dist/logging/core/logger.d.ts +20 -0
  83. package/dist/logging/core/logger.d.ts.map +1 -1
  84. package/dist/logging/core/logger.js +21 -1
  85. package/dist/logging/core/logger.js.map +1 -1
  86. package/dist/logging/core/logger.provider.d.ts +3 -0
  87. package/dist/logging/core/logger.provider.d.ts.map +1 -1
  88. package/dist/logging/core/logger.provider.js +16 -1
  89. package/dist/logging/core/logger.provider.js.map +1 -1
  90. package/dist/logging/core/startup.logger.d.ts +1 -0
  91. package/dist/logging/core/startup.logger.d.ts.map +1 -1
  92. package/dist/logging/core/startup.logger.js +28 -3
  93. package/dist/logging/core/startup.logger.js.map +1 -1
  94. package/dist/logging/core/streaming-startup-logger.d.ts +21 -0
  95. package/dist/logging/core/streaming-startup-logger.d.ts.map +1 -0
  96. package/dist/logging/core/streaming-startup-logger.js +209 -0
  97. package/dist/logging/core/streaming-startup-logger.js.map +1 -0
  98. package/dist/logging/core/transports/console.transport.d.ts +19 -0
  99. package/dist/logging/core/transports/console.transport.d.ts.map +1 -0
  100. package/dist/logging/core/transports/console.transport.js +67 -0
  101. package/dist/logging/core/transports/console.transport.js.map +1 -0
  102. package/dist/logging/core/transports/index.d.ts +2 -0
  103. package/dist/logging/core/transports/index.d.ts.map +1 -0
  104. package/dist/logging/core/transports/index.js +18 -0
  105. package/dist/logging/core/transports/index.js.map +1 -0
  106. package/dist/logging/index.d.ts +79 -2
  107. package/dist/logging/index.d.ts.map +1 -1
  108. package/dist/logging/index.js +123 -16
  109. package/dist/logging/index.js.map +1 -1
  110. package/dist/middleware/auth.middleware.d.ts +2 -2
  111. package/dist/middleware/auth.middleware.d.ts.map +1 -1
  112. package/dist/middleware/auth.middleware.js +12 -23
  113. package/dist/middleware/auth.middleware.js.map +1 -1
  114. package/dist/middleware/index.d.ts +1 -2
  115. package/dist/middleware/index.d.ts.map +1 -1
  116. package/dist/middleware/index.js +0 -1
  117. package/dist/middleware/index.js.map +1 -1
  118. package/dist/scheduling/index.d.ts +25 -0
  119. package/dist/scheduling/index.d.ts.map +1 -0
  120. package/dist/scheduling/index.js +41 -0
  121. package/dist/scheduling/index.js.map +1 -0
  122. package/dist/scheduling/scheduled.decorator.d.ts +25 -0
  123. package/dist/scheduling/scheduled.decorator.d.ts.map +1 -0
  124. package/dist/scheduling/scheduled.decorator.js +52 -0
  125. package/dist/scheduling/scheduled.decorator.js.map +1 -0
  126. package/dist/scheduling/scheduler.service.d.ts +40 -0
  127. package/dist/scheduling/scheduler.service.d.ts.map +1 -0
  128. package/dist/scheduling/scheduler.service.js +359 -0
  129. package/dist/scheduling/scheduler.service.js.map +1 -0
  130. package/dist/scheduling/scheduler.types.d.ts +47 -0
  131. package/dist/scheduling/scheduler.types.d.ts.map +1 -0
  132. package/dist/scheduling/scheduler.types.js +6 -0
  133. package/dist/scheduling/scheduler.types.js.map +1 -0
  134. package/package.json +16 -1
package/dist/api.js CHANGED
@@ -38,25 +38,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.createBootifyApp = createBootifyApp;
40
40
  const fastify_1 = __importDefault(require("fastify"));
41
- const zod_1 = __importStar(require("zod"));
41
+ const zod_1 = require("zod");
42
42
  const AppConfig_1 = require("./config/AppConfig");
43
43
  const constants_1 = require("./constants");
44
44
  const router_1 = require("./core/router");
45
45
  const logging_1 = require("./logging");
46
46
  const context_middleware_1 = require("./middleware/context.middleware");
47
47
  const request_logger_middleware_1 = require("./middleware/request-logger.middleware");
48
- async function createBootifyApp(options) {
49
- AppConfig_1.AppConfig.initialize(options.configSchema ?? zod_1.default.object({}));
48
+ async function createBootifyApp(options = {}) {
49
+ // Initialize config if provided
50
+ if (options.configSchema) {
51
+ AppConfig_1.AppConfig.initialize(options.configSchema);
52
+ }
50
53
  const { logger, startupLogger } = await (0, logging_1.intitializeLogging)();
51
54
  startupLogger.logStartupBanner();
55
+ // Create Fastify instance with custom options
52
56
  const app = (0, fastify_1.default)({
53
57
  logger: false,
54
58
  ignoreTrailingSlash: options.ignoreTrailingSlash ?? true,
59
+ ...options.fastifyOptions,
55
60
  });
56
- // Register context middleware FIRST to establish AsyncLocalStorage context
57
- startupLogger.logComponentStart('Request Context Middleware');
58
- app.addHook('onRequest', (0, context_middleware_1.createContextMiddleware)(options.contextExtractor));
59
- startupLogger.logComponentComplete('Request Context Middleware');
61
+ // Register context middleware FIRST (if enabled)
62
+ if (options.enableContextMiddleware !== false) {
63
+ startupLogger.logComponentStart('Request Context Middleware');
64
+ app.addHook('onRequest', (0, context_middleware_1.createContextMiddleware)(options.contextExtractor));
65
+ startupLogger.logComponentComplete('Request Context Middleware');
66
+ }
60
67
  // Register cookie parsing if enabled
61
68
  if (options.enableCookie) {
62
69
  startupLogger.logComponentStart('Registering Cookie Parser');
@@ -81,32 +88,35 @@ async function createBootifyApp(options) {
81
88
  });
82
89
  startupLogger.logComponentComplete('Global Middlewares');
83
90
  }
84
- // 2. Request Logger Hooks
85
- // These log the start and end of the request.
86
- startupLogger.logComponentStart('Attaching Request Logger');
87
- app.addHook('onRequest', request_logger_middleware_1.requestLoggerOnRequest);
88
- app.addHook('onResponse', (0, request_logger_middleware_1.createRequestLoggerOnResponse)(logger));
89
- startupLogger.logComponentComplete('Attaching Request Logger');
90
- startupLogger.logComponentStart('Attaching Global ErrorHandler');
91
- app.setErrorHandler((error, request, reply) => {
92
- if (error instanceof zod_1.ZodError) {
93
- reply.status(400).send({
94
- statusCode: 400,
95
- error: 'Bad Request',
96
- message: 'Validation failed',
97
- details: error.issues,
98
- });
99
- }
100
- else if (error.statusCode) {
101
- reply.send(error);
102
- }
103
- else {
104
- // app.log.error(error)
105
- logger.error('Internal Server Error', error);
106
- reply.status(500).send({ message: 'Internal Server Error' });
107
- }
108
- });
109
- startupLogger.logComponentComplete('Attaching Global ErrorHandler');
91
+ // 2. Request Logger Hooks (if enabled)
92
+ if (options.enableRequestLogger !== false) {
93
+ startupLogger.logComponentStart('Attaching Request Logger');
94
+ app.addHook('onRequest', request_logger_middleware_1.requestLoggerOnRequest);
95
+ app.addHook('onResponse', (0, request_logger_middleware_1.createRequestLoggerOnResponse)(logger));
96
+ startupLogger.logComponentComplete('Attaching Request Logger');
97
+ }
98
+ // 3. Global Error Handler (if enabled)
99
+ if (options.enableErrorHandler !== false) {
100
+ startupLogger.logComponentStart('Attaching Global ErrorHandler');
101
+ app.setErrorHandler((error, request, reply) => {
102
+ if (error instanceof zod_1.ZodError) {
103
+ reply.status(400).send({
104
+ statusCode: 400,
105
+ error: 'Bad Request',
106
+ message: 'Validation failed',
107
+ details: error.issues,
108
+ });
109
+ }
110
+ else if (error.statusCode) {
111
+ reply.send(error);
112
+ }
113
+ else {
114
+ logger.error('Internal Server Error', error);
115
+ reply.status(500).send({ message: 'Internal Server Error' });
116
+ }
117
+ });
118
+ startupLogger.logComponentComplete('Attaching Global ErrorHandler');
119
+ }
110
120
  if (options.enableSwagger) {
111
121
  startupLogger.logComponentStart('Initializing Swagger');
112
122
  const swaggerHost = options.hostname ?? 'localhost';
@@ -128,9 +138,12 @@ async function createBootifyApp(options) {
128
138
  });
129
139
  startupLogger.logComponentComplete(' Swagger COnfiguiration Done');
130
140
  }
131
- startupLogger.logComponentStart('Registering Controllers');
132
- (0, router_1.registerControllers)(app, options.controllers);
133
- startupLogger.logComponentComplete('Registering Controllers');
141
+ // Register controllers (if provided)
142
+ if (options.controllers && options.controllers.length > 0) {
143
+ startupLogger.logComponentStart('Registering Controllers');
144
+ (0, router_1.registerControllers)(app, options.controllers);
145
+ startupLogger.logComponentComplete('Registering Controllers');
146
+ }
134
147
  startupLogger.logStartupComplete();
135
148
  const start = async () => {
136
149
  try {
@@ -144,6 +157,10 @@ async function createBootifyApp(options) {
144
157
  process.exit(1);
145
158
  }
146
159
  };
147
- return { app, start };
160
+ // Auto-start if requested
161
+ if (options.autoStart) {
162
+ await start();
163
+ }
164
+ return { app, start, logger, startupLogger };
148
165
  }
149
166
  //# sourceMappingURL=api.js.map
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import { FastifyReply, FastifyRequest } from 'fastify';
1
2
  import 'reflect-metadata';
2
3
  import { ZodSchema } from 'zod';
3
- import { FastifyRequest, FastifyReply } from 'fastify';
4
4
  import { ComponentOptions } from './di-container';
5
5
  export declare const METADATA_KEYS: {
6
6
  controllerPrefix: "bootify:controller-prefix";
@@ -10,6 +10,7 @@ export declare const METADATA_KEYS: {
10
10
  middleware: "bootify:middleware";
11
11
  autowiredProperties: "bootify:autowired-properties";
12
12
  autowiredParams: "bootify:autowired-params";
13
+ swaggerMetadata: string;
13
14
  };
14
15
  export type FastifyMiddleware = (request: FastifyRequest, reply: FastifyReply) => Promise<void> | void;
15
16
  export declare const Component: (options?: ComponentOptions) => ClassDecorator;
@@ -39,6 +40,31 @@ export interface ValidationDecoratorOptions {
39
40
  };
40
41
  }
41
42
  export declare const Schema: (schema: ValidationDecoratorOptions) => MethodDecorator;
43
+ export interface SwaggerOptions {
44
+ summary?: string;
45
+ description?: string;
46
+ tags?: string[];
47
+ deprecated?: boolean;
48
+ operationId?: string;
49
+ security?: Array<Record<string, string[]>>;
50
+ }
51
+ /**
52
+ * Decorator to add Swagger/OpenAPI documentation metadata to a route.
53
+ * This metadata will be merged with the schema generated from @Schema decorator.
54
+ *
55
+ * @example
56
+ * @Get('/users/:id')
57
+ * @Swagger({
58
+ * summary: 'Get user by ID',
59
+ * description: 'Retrieves a single user by their unique identifier',
60
+ * tags: ['Users'],
61
+ * deprecated: false
62
+ * })
63
+ * getUserById(@Param('id') id: string) {
64
+ * // ...
65
+ * }
66
+ */
67
+ export declare const Swagger: (options: SwaggerOptions) => MethodDecorator;
42
68
  export declare const UseMiddleware: (...middlewares: FastifyMiddleware[]) => MethodDecorator & ClassDecorator;
43
69
  export declare const Autowired: (token?: any) => any;
44
70
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAA;AAKnE,eAAO,MAAM,aAAa;;;;;;;;CAQzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAUzB,eAAO,MAAM,SAAS,GAAI,UAAS,gBAAqB,KAAG,cAuB1D,CAAA;AACD,eAAO,MAAM,OAAO,GAAI,UAAS,gBAAqB,KAAG,cAAoC,CAAA;AAG7F,eAAO,MAAM,UAAU,GAAI,UAAS,gBAAqB,KAAG,cAAoC,CAAA;AAEhG,eAAO,MAAM,UAAU,GACpB,SAAQ,MAAW,KAAG,cAItB,CAAA;AAmBH,eAAO,MAAM,GAAG,UAZP,MAAM,KAAS,eAYsB,CAAA;AAC9C,eAAO,MAAM,IAAI,UAbR,MAAM,KAAS,eAawB,CAAA;AAChD,eAAO,MAAM,GAAG,UAdP,MAAM,KAAS,eAcsB,CAAA;AAC9C,eAAO,MAAM,MAAM,UAfV,MAAM,KAAS,eAe4B,CAAA;AACpD,eAAO,MAAM,KAAK,UAhBT,MAAM,KAAS,eAgB0B,CAAA;AAWlD,eAAO,MAAM,IAAI,iBANN,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAMd,CAAA;AACtD,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,cAPxB,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAOO,CAAA;AAC3E,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,cARvB,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAQM,CAAA;AAC1E,eAAO,MAAM,GAAG,iBATL,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SASZ,CAAA;AACxD,eAAO,MAAM,GAAG,iBAVL,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAUd,CAAA;AAEtD,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACtB,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;KACrC,CAAA;CACF;AASD,eAAO,MAAM,MAAM,WANO,0BAA0B,KAAG,eAMzB,CAAA;AAE9B,eAAO,MAAM,aAAa,GACxB,GAAG,aAAa,iBAAiB,EAAE,KAClC,eAAe,GAAG,cAWpB,CAAA;AA0DD,eAAO,MAAM,SAAS,GAAI,QAAQ,GAAG,KAAG,GAqCvC,CAAA"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAG/B,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAA;AAGnE,eAAO,MAAM,aAAa;;;;;;;;;CASzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAUzB,eAAO,MAAM,SAAS,GAAI,UAAS,gBAAqB,KAAG,cAuB1D,CAAA;AACD,eAAO,MAAM,OAAO,GAAI,UAAS,gBAAqB,KAAG,cAAoC,CAAA;AAG7F,eAAO,MAAM,UAAU,GAAI,UAAS,gBAAqB,KAAG,cAAoC,CAAA;AAEhG,eAAO,MAAM,UAAU,GACpB,SAAQ,MAAW,KAAG,cAIpB,CAAA;AAmBL,eAAO,MAAM,GAAG,UAZL,MAAM,KAAS,eAYoB,CAAA;AAC9C,eAAO,MAAM,IAAI,UAbN,MAAM,KAAS,eAasB,CAAA;AAChD,eAAO,MAAM,GAAG,UAdL,MAAM,KAAS,eAcoB,CAAA;AAC9C,eAAO,MAAM,MAAM,UAfR,MAAM,KAAS,eAe0B,CAAA;AACpD,eAAO,MAAM,KAAK,UAhBP,MAAM,KAAS,eAgBwB,CAAA;AAWlD,eAAO,MAAM,IAAI,iBANJ,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAMhB,CAAA;AACtD,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,cAPtB,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAOK,CAAA;AAC3E,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,cARrB,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAQI,CAAA;AAC1E,eAAO,MAAM,GAAG,iBATH,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SASd,CAAA;AACxD,eAAO,MAAM,GAAG,iBAVH,GAAG,eAAe,MAAM,GAAG,MAAM,kBAAkB,MAAM,SAUhB,CAAA;AAEtD,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACtB,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;KACrC,CAAA;CACF;AASD,eAAO,MAAM,MAAM,WANO,0BAA0B,KAAG,eAMzB,CAAA;AAI9B,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;CAC3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,cAAc,KAAG,eAIjD,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,GAAG,aAAa,iBAAiB,EAAE,KAClC,eAAe,GAAG,cAWpB,CAAA;AA0DD,eAAO,MAAM,SAAS,GAAI,QAAQ,GAAG,KAAG,GAoCvC,CAAA"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Autowired = exports.UseMiddleware = exports.Schema = exports.Res = exports.Req = exports.Param = exports.Query = exports.Body = exports.Patch = exports.Delete = exports.Put = exports.Post = exports.Get = exports.Controller = exports.Repository = exports.Service = exports.Component = exports.METADATA_KEYS = void 0;
3
+ exports.Autowired = exports.UseMiddleware = exports.Swagger = exports.Schema = exports.Res = exports.Req = exports.Param = exports.Query = exports.Body = exports.Patch = exports.Delete = exports.Put = exports.Post = exports.Get = exports.Controller = exports.Repository = exports.Service = exports.Component = exports.METADATA_KEYS = void 0;
4
4
  require("reflect-metadata");
5
- const di_container_1 = require("./di-container");
6
- const component_registry_1 = require("./component-registry");
7
5
  const constants_1 = require("../constants");
6
+ const component_registry_1 = require("./component-registry");
7
+ const di_container_1 = require("./di-container");
8
8
  // --- Metadata Keys ---
9
9
  exports.METADATA_KEYS = {
10
10
  controllerPrefix: constants_1.FRAMEWORK_METADATA_KEYS.CONTROLLER_PREFIX,
@@ -14,6 +14,7 @@ exports.METADATA_KEYS = {
14
14
  middleware: constants_1.FRAMEWORK_METADATA_KEYS.MIDDLEWARE,
15
15
  autowiredProperties: constants_1.FRAMEWORK_METADATA_KEYS.AUTOWIRED_PROPERTIES,
16
16
  autowiredParams: constants_1.FRAMEWORK_METADATA_KEYS.AUTOWIRED_PARAMS,
17
+ swaggerMetadata: 'swagger:metadata',
17
18
  };
18
19
  // export interface ComponentOptions {
19
20
  // scope?: Scope
@@ -92,6 +93,28 @@ const Validate = (schema) => {
92
93
  };
93
94
  };
94
95
  exports.Schema = Validate;
96
+ /**
97
+ * Decorator to add Swagger/OpenAPI documentation metadata to a route.
98
+ * This metadata will be merged with the schema generated from @Schema decorator.
99
+ *
100
+ * @example
101
+ * @Get('/users/:id')
102
+ * @Swagger({
103
+ * summary: 'Get user by ID',
104
+ * description: 'Retrieves a single user by their unique identifier',
105
+ * tags: ['Users'],
106
+ * deprecated: false
107
+ * })
108
+ * getUserById(@Param('id') id: string) {
109
+ * // ...
110
+ * }
111
+ */
112
+ const Swagger = (options) => {
113
+ return (target, propertyKey) => {
114
+ Reflect.defineMetadata(exports.METADATA_KEYS.swaggerMetadata, options, target, propertyKey);
115
+ };
116
+ };
117
+ exports.Swagger = Swagger;
95
118
  const UseMiddleware = (...middlewares) => {
96
119
  return (target, propertyKey) => {
97
120
  const key = exports.METADATA_KEYS.middleware;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":";;;AAAA,4BAAyB;AAGzB,iDAAmE;AACnE,6DAA2D;AAC3D,4CAAsD;AAEtD,wBAAwB;AACX,QAAA,aAAa,GAAG;IAC3B,gBAAgB,EAAE,mCAAuB,CAAC,iBAAiB;IAC3D,MAAM,EAAE,mCAAuB,CAAC,MAAM;IACtC,gBAAgB,EAAE,mCAAuB,CAAC,iBAAiB;IAC3D,UAAU,EAAE,mCAAuB,CAAC,WAAW;IAC/C,UAAU,EAAE,mCAAuB,CAAC,UAAU;IAC9C,mBAAmB,EAAE,mCAAuB,CAAC,oBAAoB;IACjE,eAAe,EAAE,mCAAuB,CAAC,gBAAgB;CAC1D,CAAA;AAOD,sCAAsC;AACtC,kBAAkB;AAClB,QAAQ;AACR,kFAAkF;AAClF,sEAAsE;AACtE,QAAQ;AACR,mBAAmB;AACnB,IAAI;AACG,MAAM,SAAS,GAAG,CAAC,UAA4B,EAAE,EAAkB,EAAE;IAC1E,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,oBAAK,CAAC,SAAS,CAAA;QAE9C,oDAAoD;QACpD,wBAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAY,EAAE,CAAC,CAAA;QAErE,sDAAsD;QACtD,yCAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEhC,4DAA4D;QAC5D,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CACT,iBAAiB,MAAM,CAAC,IAAI,iBAAiB,OAAO,CAAC,MAAM;iBACxD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAA;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,gDAAgD;gBAChD,wBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAY,EAAE,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,SAAS,aAuBrB;AACM,MAAM,OAAO,GAAG,CAAC,UAA4B,EAAE,EAAkB,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAA;AAAhF,QAAA,OAAO,WAAyE;AAE7F,iCAAiC;AAC1B,MAAM,UAAU,GAAG,CAAC,UAA4B,EAAE,EAAkB,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAA;AAAnF,QAAA,UAAU,cAAyE;AAEzF,MAAM,UAAU,GACrB,CAAC,SAAiB,EAAE,EAAkB,EAAE,CACxC,CAAC,MAAW,EAAE,EAAE;IACd,OAAO,CAAC,cAAc,CAAC,qBAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACtE,wBAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAK,CAAC,SAAgB,EAAE,CAAC,CAAA;AACjF,CAAC,CAAA;AALU,QAAA,UAAU,cAKpB;AAKH,MAAM,oBAAoB,GACxB,CAAC,MAAkB,EAAE,EAAE,CACvB,CAAC,OAAe,GAAG,EAAmB,EAAE;IACtC,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAClF,MAAM,CAAC,IAAI,CAAC;YACV,MAAM;YACN,IAAI;YACJ,WAAW,EAAE,WAAW;SACzB,CAAC,CAAA;QACF,OAAO,CAAC,cAAc,CAAC,qBAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IAC1E,CAAC,CAAA;AACH,CAAC,CAAA;AAEU,QAAA,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;AACjC,QAAA,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;AACnC,QAAA,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;AACjC,QAAA,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;AACvC,QAAA,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAElD,+BAA+B;AAC/B,MAAM,oBAAoB,GACxB,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAChC,CAAC,MAAW,EAAE,WAA4B,EAAE,cAAsB,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAA;IACvF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACvC,OAAO,CAAC,cAAc,CAAC,qBAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;AAC/E,CAAC,CAAA;AAEI,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;AAAzC,QAAA,IAAI,QAAqC;AAC/C,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAA9D,QAAA,KAAK,SAAyD;AACpE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAA7D,QAAA,KAAK,SAAwD;AACnE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;AAA3C,QAAA,GAAG,OAAwC;AACjD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAAzC,QAAA,GAAG,OAAsC;AActD,gCAAgC;AAEhC,MAAM,QAAQ,GAAG,CAAC,MAAkC,EAAmB,EAAE;IACvE,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,EAAE;QACnD,OAAO,CAAC,cAAc,CAAC,qBAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IACrF,CAAC,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,MAAM,GAAG,QAAQ,CAAA;AAEvB,MAAM,aAAa,GAAG,CAC3B,GAAG,WAAgC,EACD,EAAE;IACpC,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,qBAAa,CAAC,UAAU,CAAA;QACpC,IAAI,WAAW,EAAE,CAAC;YAChB,mBAAmB;YACnB,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QAC/D,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB;AAED,sDAAsD;AACtD,4DAA4D;AAC5D,gFAAgF;AAChF,mFAAmF;AAEnF,2BAA2B;AAC3B,yBAAyB;AACzB,qFAAqF;AACrF,oCAAoC;AACpC,6HAA6H;AAC7H,UAAU;AACV,QAAQ;AAER,0FAA0F;AAC1F,yBAAyB;AACzB,yFAAyF;AAEzF,wBAAwB;AACxB,qBAAqB;AACrB,4BAA4B;AAC5B,SAAS;AAET,wEAAwE;AACxE,gGAAgG;AAChG,MAAM;AACN,IAAI;AAEJ,mDAAmD;AACnD,iGAAiG;AACjG,2DAA2D;AAC3D,gDAAgD;AAChD,wFAAwF;AACxF,kDAAkD;AAClD,8EAA8E;AAC9E,eAAe;AACf,QAAQ;AAER,2CAA2C;AAC3C,uCAAuC;AACvC,kEAAkE;AAClE,oBAAoB;AACpB,2BAA2B;AAC3B,qCAAqC;AACrC,QAAQ;AAER,yBAAyB;AACzB,yFAAyF;AACzF,wBAAwB;AACxB,qBAAqB;AACrB,+EAA+E;AAC/E,sCAAsC;AACtC,SAAS;AACT,gGAAgG;AAChG,MAAM;AACN,IAAI;AAEG,MAAM,SAAS,GAAG,CAAC,KAAW,EAAO,EAAE;IAC5C,OAAO,CAAC,MAAW,EAAE,WAAwC,EAAE,cAAuB,EAAE,EAAE;QACxF,kCAAkC;QAClC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,6EAA6E,MAAM,CAAC,IAAI,mCAAmC,CAC5H,CAAA;YACH,CAAC;YACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAa,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;YAC1F,iBAAiB,CAAC,cAAc,CAAC,GAAG,KAAK,CAAA;YACzC,OAAO,CAAC,cAAc,CAAC,qBAAa,CAAC,eAAe,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;YAChF,OAAM;QACR,CAAC;QAED,6BAA6B;QAC7B,MAAM,YAAY,GAAG,WAAW;YAC9B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC;YACzD,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,CAAC,qBAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAElF,MAAM,aAAa,GAAG,KAAK,IAAI,YAAY,CAAA;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,6CAA6C,MAAM,CAAC,WAAW,CAAC,eAC9D,MAAM,CAAC,WAAW,CAAC,IACrB,IAAI,CACL,CAAA;QACH,CAAC;QAED,UAAU,CAAC,IAAI,CAAC;YACd,WAAW;YACX,KAAK,EAAE,aAAa;SACrB,CAAC,CAAA;QACF,OAAO,CAAC,cAAc,CAAC,qBAAa,CAAC,mBAAmB,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IAC3F,CAAC,CAAA;AACH,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA8C,MAAM,SAAS,CAAA;AAErF,OAAO,EAAa,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA4BvD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QA0EvF"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA8C,MAAM,SAAS,CAAA;AAGrF,OAAO,EAAE,WAAW,EAAa,MAAM,gBAAgB,CAAA;AA2BvD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QA+FvF"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerControllers = registerControllers;
4
4
  const zod_to_json_schema_1 = require("zod-to-json-schema");
5
- const di_container_1 = require("./di-container");
6
5
  const decorators_1 = require("./decorators");
6
+ const di_container_1 = require("./di-container");
7
7
  // const buildJsonSchema = (schemas: any) => {
8
8
  // const schema: any = {}
9
9
  // if (schemas.body) schema.body = zodToJsonSchema(schemas.body)
@@ -44,10 +44,25 @@ function registerControllers(fastify, controllers) {
44
44
  const validationSchemas = Reflect.getMetadata(decorators_1.METADATA_KEYS.validationSchema, controllerInstance, route.handlerName);
45
45
  // console.log(validationSchemas)
46
46
  const url = `${prefix}${route.path}`.replace(/\/+/g, '/');
47
+ // Get Swagger metadata if it exists
48
+ const swaggerMetadata = Reflect.getMetadata(decorators_1.METADATA_KEYS.swaggerMetadata, controllerInstance, route.handlerName);
49
+ // Build the schema, merging validation schemas with swagger metadata
50
+ let schema = validationSchemas ? buildFastifySchema(validationSchemas) : {};
51
+ if (swaggerMetadata) {
52
+ schema = {
53
+ ...schema,
54
+ summary: swaggerMetadata.summary,
55
+ description: swaggerMetadata.description,
56
+ tags: swaggerMetadata.tags,
57
+ deprecated: swaggerMetadata.deprecated,
58
+ operationId: swaggerMetadata.operationId,
59
+ security: swaggerMetadata.security,
60
+ };
61
+ }
47
62
  const routeOptions = {
48
63
  method: route.method,
49
64
  url,
50
- schema: validationSchemas ? buildFastifySchema(validationSchemas) : {},
65
+ schema,
51
66
  // 👇 Attach all middleware functions to the preHandler hook
52
67
  preHandler: allMiddlewares,
53
68
  handler: async (request, reply) => {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ILogger, LogContext } from '../../logging';
2
+ export interface PinoLoggerOptions {
3
+ level?: string;
4
+ serviceName?: string;
5
+ prettyPrint?: boolean;
6
+ }
7
+ export declare class PinoLoggerAdapter implements ILogger {
8
+ private logger;
9
+ constructor(options?: PinoLoggerOptions);
10
+ trace(message: string, context?: LogContext): void;
11
+ debug(message: string, context?: LogContext): void;
12
+ info(message: string, context?: LogContext): void;
13
+ warn(message: string, context?: LogContext): void;
14
+ error(message: string, error?: Error, context?: LogContext): void;
15
+ fatal(message: string, error?: Error, context?: LogContext): void;
16
+ child(bindings: LogContext): ILogger;
17
+ }
18
+ //# sourceMappingURL=pino-logger.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.adapter.d.ts","sourceRoot":"","sources":["../../../src/examples/adapters/pino-logger.adapter.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,iBAAkB,YAAW,OAAO;IAC7C,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,GAAE,iBAAsB;IAoC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjE,KAAK,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO;CAKvC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PinoLoggerAdapter = void 0;
7
+ /**
8
+ * Example: Pino Logger Adapter with Request Context
9
+ *
10
+ * This shows how users can create their own logger adapter
11
+ * that implements the ILogger interface from BootifyJS.
12
+ *
13
+ * This adapter automatically includes request context (requestId, userId, etc.)
14
+ * in all log entries using Pino's mixin feature.
15
+ *
16
+ * Users must install pino themselves: npm install pino pino-pretty
17
+ */
18
+ const pino_1 = __importDefault(require("pino"));
19
+ const request_context_service_1 = require("../../core/request-context.service");
20
+ class PinoLoggerAdapter {
21
+ constructor(options = {}) {
22
+ const pinoOptions = {
23
+ level: options.level ?? 'info',
24
+ messageKey: 'message',
25
+ base: {
26
+ service: options.serviceName ?? 'app',
27
+ pid: process.pid,
28
+ },
29
+ timestamp: () => `,"timestamp":"${new Date().toISOString()}"`,
30
+ // Mixin automatically adds request context to every log entry
31
+ mixin() {
32
+ const store = request_context_service_1.requestContextStore.getStore();
33
+ if (!store) {
34
+ return {};
35
+ }
36
+ return Object.fromEntries(store.entries());
37
+ },
38
+ };
39
+ if (options.prettyPrint) {
40
+ this.logger = (0, pino_1.default)({
41
+ ...pinoOptions,
42
+ transport: {
43
+ target: 'pino-pretty',
44
+ options: {
45
+ colorize: true,
46
+ translateTime: 'SYS:standard',
47
+ ignore: 'pid,hostname',
48
+ },
49
+ },
50
+ });
51
+ }
52
+ else {
53
+ this.logger = (0, pino_1.default)(pinoOptions);
54
+ }
55
+ }
56
+ trace(message, context) {
57
+ this.logger.trace(context ?? {}, message);
58
+ }
59
+ debug(message, context) {
60
+ this.logger.debug(context ?? {}, message);
61
+ }
62
+ info(message, context) {
63
+ this.logger.info(context ?? {}, message);
64
+ }
65
+ warn(message, context) {
66
+ this.logger.warn(context ?? {}, message);
67
+ }
68
+ error(message, error, context) {
69
+ this.logger.error({ ...context, err: error }, message);
70
+ }
71
+ fatal(message, error, context) {
72
+ this.logger.fatal({ ...context, err: error }, message);
73
+ }
74
+ child(bindings) {
75
+ const childLogger = new PinoLoggerAdapter();
76
+ childLogger.logger = this.logger.child(bindings);
77
+ return childLogger;
78
+ }
79
+ }
80
+ exports.PinoLoggerAdapter = PinoLoggerAdapter;
81
+ //# sourceMappingURL=pino-logger.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.adapter.js","sourceRoot":"","sources":["../../../src/examples/adapters/pino-logger.adapter.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,gDAAuB;AACvB,gFAAwE;AASxE,MAAa,iBAAiB;IAG1B,YAAY,UAA6B,EAAE;QACvC,MAAM,WAAW,GAAuB;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM;YAC9B,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE;gBACF,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;gBACrC,GAAG,EAAE,OAAO,CAAC,GAAG;aACnB;YACD,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;YAC7D,8DAA8D;YAC9D,KAAK;gBACD,MAAM,KAAK,GAAG,6CAAmB,CAAC,QAAQ,EAAE,CAAA;gBAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,OAAO,EAAE,CAAA;gBACb,CAAC;gBACD,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC9C,CAAC;SACJ,CAAA;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAA,cAAI,EAAC;gBACf,GAAG,WAAW;gBACd,SAAS,EAAE;oBACP,MAAM,EAAE,aAAa;oBACrB,OAAO,EAAE;wBACL,QAAQ,EAAE,IAAI;wBACd,aAAa,EAAE,cAAc;wBAC7B,MAAM,EAAE,cAAc;qBACzB;iBACJ;aACJ,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,IAAA,cAAI,EAAC,WAAW,CAAC,CAAA;QACnC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAoB;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAoB;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAoB;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAoB;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,QAAoB;QACtB,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CACtC;QAAE,WAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/D,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AApED,8CAoEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"todo.controller.d.ts","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiBvB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAUtD,QAAA,MAAM,UAAU;;;;;;EAIH,CAAA;AAUb,qBAGa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAGrD,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,MAAM,CAAS;IAGvB,WAAW;;;;;IAkBX,WAAW,CAAc,EAAE,EAAE,MAAM;;;;;IAqB7B,UAAU,CAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC;;;;;CAc1D"}
1
+ {"version":3,"file":"todo.controller.d.ts","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAUtD,QAAA,MAAM,UAAU;;;;;;EAIH,CAAA;AAUb,qBAGa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAGrD,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,MAAM,CAAU;IAQxB,WAAW;;;;;IAqBX,WAAW,CAAc,EAAE,EAAE,MAAM;;;;;IA2B7B,UAAU,CAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC;;;;;CAc1D"}
@@ -20,7 +20,6 @@ const decorators_2 = require("../../core/decorators");
20
20
  const di_container_1 = require("../../core/di-container");
21
21
  const request_context_service_1 = require("../../core/request-context.service");
22
22
  const decorators_3 = require("../../logging/core/decorators");
23
- const logger_1 = require("../../logging/core/logger");
24
23
  const tracing_service_1 = require("../../logging/core/tracing.service");
25
24
  const todo_service_1 = require("../services/todo.service");
26
25
  const createTodoSchema = {
@@ -50,9 +49,7 @@ let TodoController = class TodoController {
50
49
  // name: 'get all todos',
51
50
  // })
52
51
  console.log(context.store());
53
- const logger1 = di_container_1.container.resolve(logger_1.Logger);
54
- logger1.info('Hello from logger 1 get all todo');
55
- console.log(this.logger === logger1);
52
+ // Using the injected logger from @Loggable decorator
56
53
  this.logger.info('Hello from get all todo');
57
54
  // this.tracingService.spanEnd(span, 'ok')
58
55
  return this.todoService.getAllTodos();
@@ -88,6 +85,11 @@ __decorate([
88
85
  ], TodoController.prototype, "authManager", void 0);
89
86
  __decorate([
90
87
  (0, decorators_2.Get)('/'),
88
+ (0, decorators_2.Swagger)({
89
+ summary: 'Get all todos',
90
+ description: 'Retrieves a list of all todo items',
91
+ tags: ['Todos'],
92
+ }),
91
93
  __metadata("design:type", Function),
92
94
  __metadata("design:paramtypes", []),
93
95
  __metadata("design:returntype", void 0)
@@ -95,6 +97,11 @@ __decorate([
95
97
  __decorate([
96
98
  (0, decorators_2.Get)('/:id'),
97
99
  (0, decorators_1.Cacheable)({ key: 'todo', ttl: 60 }),
100
+ (0, decorators_2.Swagger)({
101
+ summary: 'Get todo by ID',
102
+ description: 'Retrieves a single todo item by its unique identifier',
103
+ tags: ['Todos'],
104
+ }),
98
105
  __param(0, (0, decorators_2.Param)('id')),
99
106
  __metadata("design:type", Function),
100
107
  __metadata("design:paramtypes", [String]),
@@ -115,6 +122,12 @@ __decorate([
115
122
  completed: zod_1.z.boolean(),
116
123
  }),
117
124
  },
125
+ }),
126
+ (0, decorators_2.Swagger)({
127
+ summary: 'Create a new todo',
128
+ description: 'Creates a new todo item with the provided text',
129
+ tags: ['Todos'],
130
+ operationId: 'createTodo',
118
131
  })
119
132
  // @UseMiddleware(authorize(['manager']))
120
133
  ,
@@ -1 +1 @@
1
- {"version":3,"file":"todo.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAAuB;AACvB,qCAAwC;AACxC,uDAAkD;AAClD,sDAQ8B;AAC9B,0DAAmD;AACnD,gFAA0E;AAC1E,8DAA+D;AAC/D,sDAAkD;AAClD,wEAAmE;AACnE,2DAAsD;AAEtD,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,OAAC;SACJ,MAAM,CAAC;QACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;KAChD,CAAC;SACD,QAAQ,EAAE;CACd,CAAA;AAED,MAAM,UAAU,GAAG,OAAC;KACjB,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC;KACD,QAAQ,EAAE,CAAA;AAEb,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,6BAA6B,CAAC;KAC7D,CAAC;CACH,CAAA;AAOM,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAI,CAAC;IAW1D,WAAW;QACT,MAAM,OAAO,GAAG,wBAAS,CAAC,OAAO,CAAwB,+CAAqB,CAAC,CAAA;QAC/E,gEAAgE;QAChE,2BAA2B;QAC3B,KAAK;QACL,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAE5B,MAAM,OAAO,GAAG,wBAAS,CAAC,OAAO,CAAS,eAAM,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAA;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC3C,0CAA0C;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAA;IACvC,CAAC;IAID,WAAW,CAAc,EAAU;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACzC,CAAC;IAkBK,AADN,yCAAyC;IACzC,KAAK,CAAC,UAAU,CAAS,IAAgC;QACvD,yEAAyE;QACzE,oCAAoC;QACpC,oBAAoB;QACpB,0BAA0B;QAC1B,KAAK;QACL,gCAAgC;QAChC,qBAAqB;QACrB,KAAK;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,0CAA0C;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAjEY,wCAAc;AAIjB;IADP,IAAA,sBAAS,EAAC,gCAAc,CAAC;8BACD,gCAAc;sDAAA;AAG/B;IADP,IAAA,sBAAS,EAAC,aAAa,CAAC;8BACH,kBAAW;mDAAA;AAKjC;IADC,IAAA,gBAAG,EAAC,GAAG,CAAC;;;;iDAeR;AAID;IAFC,IAAA,gBAAG,EAAC,MAAM,CAAC;IACX,IAAA,sBAAS,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACvB,WAAA,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAA;;;;iDAGvB;AAkBK;IAhBL,IAAA,iBAAI,EAAC,GAAG,CAAC;IACT,IAAA,kBAAK,EAAC;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,MAAM;KACjB,CAAC;IACD,IAAA,mBAAM,EAAC;QACN,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE;YACT,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC;gBACZ,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;gBACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;gBAChB,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE;aACvB,CAAC;SACH;KACF,CAAC;IACF,yCAAyC;;IACvB,WAAA,IAAA,iBAAI,GAAE,CAAA;;;;gDAavB;yBAhEU,cAAc;IAH1B,IAAA,qBAAQ,GAAE;IACV,IAAA,uBAAU,EAAC,QAAQ,CAAC;IACrB,4EAA4E;;qCAEhC,0BAAW;GAD1C,cAAc,CAiE1B"}
1
+ {"version":3,"file":"todo.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import "reflect-metadata";
2
+ //# sourceMappingURL=enhanced-logger-example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-logger-example.d.ts","sourceRoot":"","sources":["../../src/examples/enhanced-logger-example.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC"}