bootifyjs 2.1.1 → 2.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.
Files changed (47) hide show
  1. package/dist/BootifyApp.d.ts +38 -2
  2. package/dist/BootifyApp.d.ts.map +1 -1
  3. package/dist/BootifyApp.js +44 -6
  4. package/dist/BootifyApp.js.map +1 -1
  5. package/dist/cache/cache.service.d.ts +1 -1
  6. package/dist/cache/cache.service.d.ts.map +1 -1
  7. package/dist/cache/cache.service.js.map +1 -1
  8. package/dist/cache/cache.types.d.ts +1 -0
  9. package/dist/cache/cache.types.d.ts.map +1 -1
  10. package/dist/cache/cache.types.js +9 -0
  11. package/dist/cache/cache.types.js.map +1 -1
  12. package/dist/cache/index.d.ts +1 -1
  13. package/dist/cache/index.d.ts.map +1 -1
  14. package/dist/cache/index.js +3 -1
  15. package/dist/cache/index.js.map +1 -1
  16. package/dist/cluster.d.ts +1 -0
  17. package/dist/cluster.d.ts.map +1 -0
  18. package/dist/cluster.js +35 -0
  19. package/dist/cluster.js.map +1 -0
  20. package/dist/config/AppConfig.d.ts +36 -12
  21. package/dist/config/AppConfig.d.ts.map +1 -1
  22. package/dist/config/AppConfig.js +2 -2
  23. package/dist/config/AppConfig.js.map +1 -1
  24. package/dist/core/decorators.d.ts +18 -4
  25. package/dist/core/decorators.d.ts.map +1 -1
  26. package/dist/core/decorators.js +25 -4
  27. package/dist/core/decorators.js.map +1 -1
  28. package/dist/core/router.d.ts +15 -1
  29. package/dist/core/router.d.ts.map +1 -1
  30. package/dist/core/router.js +66 -14
  31. package/dist/core/router.js.map +1 -1
  32. package/dist/examples/controllers/test-swagger.controller.d.ts +15 -0
  33. package/dist/examples/controllers/test-swagger.controller.d.ts.map +1 -0
  34. package/dist/examples/controllers/test-swagger.controller.js +68 -0
  35. package/dist/examples/controllers/test-swagger.controller.js.map +1 -0
  36. package/dist/examples/controllers/todo.controller.d.ts.map +1 -1
  37. package/dist/examples/controllers/todo.controller.js +11 -5
  38. package/dist/examples/controllers/todo.controller.js.map +1 -1
  39. package/dist/examples/events/todo.events.d.ts +0 -1
  40. package/dist/examples/events/todo.events.d.ts.map +1 -1
  41. package/dist/examples/events/todo.events.js +1 -1
  42. package/dist/examples/events/todo.events.js.map +1 -1
  43. package/dist/examples/index.d.ts +1 -0
  44. package/dist/examples/index.d.ts.map +1 -1
  45. package/dist/examples/index.js +15 -16
  46. package/dist/examples/index.js.map +1 -1
  47. package/package.json +7 -1
@@ -8,6 +8,16 @@ export type PluginRegistrationFn = (app: FastifyInstance) => Promise<void> | voi
8
8
  export type ErrorHandlerFn = (error: Error, request: FastifyRequest, reply: FastifyReply) => Promise<void> | void;
9
9
  export type LifecycleHookFn = (app: FastifyInstance) => Promise<void> | void;
10
10
  export type LoggerConfigFn = (builder: LoggerBuilder) => LoggerBuilder;
11
+ /**
12
+ * Options for registering controllers
13
+ */
14
+ export interface ControllerRegistrationOptions {
15
+ /**
16
+ * Prefix to prepend to all routes in this controller group
17
+ * @example { prefix: '/api/v1' }
18
+ */
19
+ prefix?: string;
20
+ }
11
21
  export declare class BootifyApp {
12
22
  private app;
13
23
  private logger;
@@ -15,7 +25,8 @@ export declare class BootifyApp {
15
25
  private scheduler?;
16
26
  private port;
17
27
  private hostname;
18
- private controllers;
28
+ private basePrefix;
29
+ private controllerGroups;
19
30
  private plugins;
20
31
  private beforeStartHooks;
21
32
  private afterStartHooks;
@@ -32,7 +43,32 @@ export declare class BootifyApp {
32
43
  */
33
44
  setServiceName(name: string): this;
34
45
  useConfig(schema: ZodObject<any>): this;
35
- useControllers(controllers: Constructor[]): this;
46
+ /**
47
+ * Set global base prefix for all routes
48
+ * This prefix will be prepended to all controller routes
49
+ *
50
+ * @example
51
+ * createBootify()
52
+ * .setBasePrefix('/api/v1')
53
+ * .useControllers([UserController]) // Routes will be /api/v1/users/...
54
+ */
55
+ setBasePrefix(prefix: string): this;
56
+ /**
57
+ * Register controllers with optional group prefix
58
+ * The final route URL is: basePrefix + groupPrefix + controllerPrefix + methodPath
59
+ *
60
+ * @example
61
+ * // Without prefix
62
+ * .useControllers([UserController])
63
+ *
64
+ * // With group prefix
65
+ * .useControllers([UserController, ProductController], { prefix: '/api/v1' })
66
+ *
67
+ * // Multiple groups with different prefixes
68
+ * .useControllers([PublicController])
69
+ * .useControllers([AdminController], { prefix: '/admin' })
70
+ */
71
+ useControllers(controllers: Constructor[], options?: ControllerRegistrationOptions): this;
36
72
  usePlugin(plugin: PluginRegistrationFn): this;
37
73
  useMiddleware(middleware: FastifyMiddleware): this;
38
74
  useMiddlewares(middlewares: FastifyMiddleware[]): this;
@@ -1 +1 @@
1
- {"version":3,"file":"BootifyApp.d.ts","sourceRoot":"","sources":["../src/BootifyApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BootifyApp.d.ts","sourceRoot":"","sources":["../src/BootifyApp.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,8 @@ class BootifyApp {
16
16
  constructor() {
17
17
  this.port = constants_1.DEFAULT_SERVER_PORT;
18
18
  this.hostname = constants_1.DEFAULT_SERVER_HOST;
19
- this.controllers = [];
19
+ this.basePrefix = '';
20
+ this.controllerGroups = [];
20
21
  this.plugins = [];
21
22
  this.beforeStartHooks = [];
22
23
  this.afterStartHooks = [];
@@ -50,8 +51,39 @@ class BootifyApp {
50
51
  AppConfig_1.AppConfig.initialize(schema);
51
52
  return this;
52
53
  }
53
- useControllers(controllers) {
54
- this.controllers.push(...controllers);
54
+ /**
55
+ * Set global base prefix for all routes
56
+ * This prefix will be prepended to all controller routes
57
+ *
58
+ * @example
59
+ * createBootify()
60
+ * .setBasePrefix('/api/v1')
61
+ * .useControllers([UserController]) // Routes will be /api/v1/users/...
62
+ */
63
+ setBasePrefix(prefix) {
64
+ this.basePrefix = (0, router_1.normalizePrefix)(prefix);
65
+ return this;
66
+ }
67
+ /**
68
+ * Register controllers with optional group prefix
69
+ * The final route URL is: basePrefix + groupPrefix + controllerPrefix + methodPath
70
+ *
71
+ * @example
72
+ * // Without prefix
73
+ * .useControllers([UserController])
74
+ *
75
+ * // With group prefix
76
+ * .useControllers([UserController, ProductController], { prefix: '/api/v1' })
77
+ *
78
+ * // Multiple groups with different prefixes
79
+ * .useControllers([PublicController])
80
+ * .useControllers([AdminController], { prefix: '/admin' })
81
+ */
82
+ useControllers(controllers, options) {
83
+ this.controllerGroups.push({
84
+ controllers,
85
+ prefix: (0, router_1.normalizePrefix)(options?.prefix || '')
86
+ });
55
87
  return this;
56
88
  }
57
89
  usePlugin(plugin) {
@@ -122,10 +154,16 @@ class BootifyApp {
122
154
  for (const plugin of this.plugins) {
123
155
  await plugin(this.app);
124
156
  }
125
- if (this.controllers.length > 0) {
157
+ // Register each controller group with its combined prefix
158
+ const totalControllers = this.controllerGroups.reduce((sum, g) => sum + g.controllers.length, 0);
159
+ if (totalControllers > 0) {
126
160
  this.startupLogger.logPhaseStart('Registering Controllers');
127
- this.startupLogger.logComponentStart('Controllers', `${this.controllers.length} found`);
128
- (0, router_1.registerControllers)(this.app, this.controllers);
161
+ this.startupLogger.logComponentStart('Controllers', `${totalControllers} found`);
162
+ for (const group of this.controllerGroups) {
163
+ // Combine basePrefix + groupPrefix
164
+ const combinedPrefix = (0, router_1.normalizePrefix)(this.basePrefix + group.prefix);
165
+ (0, router_1.registerControllers)(this.app, group.controllers, combinedPrefix);
166
+ }
129
167
  this.startupLogger.logComponentComplete();
130
168
  }
131
169
  if (this.customErrorHandler) {
@@ -1 +1 @@
1
- {"version":3,"file":"BootifyApp.js","sourceRoot":"","sources":["../src/BootifyApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BootifyApp.js","sourceRoot":"","sources":["../src/BootifyApp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ICacheStore } from './cache.types';
1
+ import type { ICacheStore } from './cache.types';
2
2
  export declare class CacheService {
3
3
  private readonly store;
4
4
  constructor(store: ICacheStore);
@@ -1 +1 @@
1
- {"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../src/cache/cache.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAA;AAE9D,qBACa,YAAY;IACmB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,WAAW;IAEtE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvC"}
1
+ {"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../src/cache/cache.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,qBACa,YAAY;IACmB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,WAAW;IAEtE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.service.js","sourceRoot":"","sources":["../../src/cache/cache.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAqD;AACrD,mDAAuD;AACvD,+CAA8D;AAGvD,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA2D,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAG,CAAC;IAE1E,GAAG,CAAI,GAAW;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,YAAqB;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACjD,CAAC;IAEM,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA;AAdY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,oBAAO,GAAE,CAAC,oCAAoC;;IAEhC,WAAA,IAAA,sBAAS,EAAC,+BAAiB,CAAC,CAAA;;GAD9B,YAAY,CAcxB"}
1
+ {"version":3,"file":"cache.service.js","sourceRoot":"","sources":["../../src/cache/cache.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAqD;AACrD,mDAAuD;AAEvD,+CAAiD;AAG1C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA2D,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAI,CAAC;IAE3E,GAAG,CAAI,GAAW;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,YAAqB;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACjD,CAAC;IAEM,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA;AAdY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,oBAAO,GAAE,CAAC,oCAAoC;;IAEhC,WAAA,IAAA,sBAAS,EAAC,+BAAiB,CAAC,CAAA;;GAD9B,YAAY,CAcxB"}
@@ -11,4 +11,5 @@ export interface ICacheStore {
11
11
  set(key: string, value: any, ttlInSeconds?: number): Promise<void>;
12
12
  del(key: string): Promise<void>;
13
13
  }
14
+ export declare function isCacheStore(obj: unknown): obj is ICacheStore;
14
15
  //# sourceMappingURL=cache.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.types.d.ts","sourceRoot":"","sources":["../../src/cache/cache.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAA2B,CAAA;AAEzD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAC3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC"}
1
+ {"version":3,"file":"cache.types.d.ts","sourceRoot":"","sources":["../../src/cache/cache.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAA2B,CAAA;AAEzD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAC3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAGD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAQ7D"}
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CACHE_STORE_TOKEN = void 0;
4
+ exports.isCacheStore = isCacheStore;
4
5
  /**
5
6
  * A unique Symbol to use as the DI token for the cache store.
6
7
  */
7
8
  exports.CACHE_STORE_TOKEN = Symbol.for('CacheStore');
9
+ // Type guard for Bun bundler compatibility (ensures interface is not tree-shaken)
10
+ function isCacheStore(obj) {
11
+ return (typeof obj === 'object' &&
12
+ obj !== null &&
13
+ 'get' in obj &&
14
+ 'set' in obj &&
15
+ 'del' in obj);
16
+ }
8
17
  //# sourceMappingURL=cache.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.types.js","sourceRoot":"","sources":["../../src/cache/cache.types.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"cache.types.js","sourceRoot":"","sources":["../../src/cache/cache.types.ts"],"names":[],"mappings":";;;AAgBA,oCAQC;AAxBD;;GAEG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAYzD,kFAAkF;AAClF,SAAgB,YAAY,CAAC,GAAY;IACvC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,KAAK,IAAI,GAAG;QACZ,KAAK,IAAI,GAAG;QACZ,KAAK,IAAI,GAAG,CACb,CAAA;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export * from './bootstrap';
2
- export * from './cache.types';
3
2
  export * from './cache.service';
3
+ export { CACHE_STORE_TOKEN, ICacheStore } from './cache.types';
4
4
  export * from './decorators';
5
5
  export * from './stores';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAG5B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC9D,cAAc,cAAc,CAAA;AAG5B,cAAc,UAAU,CAAA"}
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.CACHE_STORE_TOKEN = void 0;
17
18
  // Core cache functionality
18
19
  __exportStar(require("./bootstrap"), exports);
19
- __exportStar(require("./cache.types"), exports);
20
20
  __exportStar(require("./cache.service"), exports);
21
+ var cache_types_1 = require("./cache.types");
22
+ Object.defineProperty(exports, "CACHE_STORE_TOKEN", { enumerable: true, get: function () { return cache_types_1.CACHE_STORE_TOKEN; } });
21
23
  __exportStar(require("./decorators"), exports);
22
24
  // Cache store implementations
23
25
  __exportStar(require("./stores"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,8CAA2B;AAC3B,gDAA6B;AAC7B,kDAA+B;AAC/B,+CAA4B;AAE5B,8BAA8B;AAC9B,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,8CAA2B;AAC3B,kDAA+B;AAC/B,6CAA8D;AAArD,gHAAA,iBAAiB,OAAA;AAC1B,+CAA4B;AAE5B,8BAA8B;AAC9B,2CAAwB"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ // /**
3
+ // * Cluster mode entry point for multi-core CPU utilization
4
+ // *
5
+ // * This file forks multiple workers based on available CPU cores.
6
+ // * Each worker runs the main server independently.
7
+ // *
8
+ // * Usage:
9
+ // * bun build --compile --outfile server src/cluster.ts
10
+ // * ./server
11
+ // */
12
+ // import cluster from 'node:cluster'
13
+ // import os from 'node:os'
14
+ // import process from 'node:process'
15
+ // if (cluster.isPrimary) {
16
+ // const numCPUs = os.availableParallelism?.() || os.cpus().length
17
+ // console.log(`Primary ${process.pid} is running`)
18
+ // console.log(`Forking ${numCPUs} workers...`)
19
+ // // Fork workers
20
+ // for (let i = 0; i < numCPUs; i++) {
21
+ // cluster.fork()
22
+ // }
23
+ // cluster.on('exit', (worker, code, signal) => {
24
+ // console.log(`Worker ${worker.process.pid} died (${signal || code}). Restarting...`)
25
+ // cluster.fork()
26
+ // })
27
+ // cluster.on('online', (worker) => {
28
+ // console.log(`Worker ${worker.process.pid} is online`)
29
+ // })
30
+ // } else {
31
+ // // Workers run the server
32
+ // await import('./examples/index')
33
+ // console.log(`Worker ${process.pid} started`)
34
+ // }
35
+ //# sourceMappingURL=cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":";AAAA,MAAM;AACN,6DAA6D;AAC7D,MAAM;AACN,oEAAoE;AACpE,qDAAqD;AACrD,MAAM;AACN,YAAY;AACZ,2DAA2D;AAC3D,gBAAgB;AAChB,MAAM;AACN,qCAAqC;AACrC,2BAA2B;AAC3B,qCAAqC;AAErC,2BAA2B;AAC3B,sEAAsE;AAEtE,uDAAuD;AACvD,mDAAmD;AAEnD,sBAAsB;AACtB,0CAA0C;AAC1C,yBAAyB;AACzB,QAAQ;AAER,qDAAqD;AACrD,8FAA8F;AAC9F,yBAAyB;AACzB,SAAS;AAET,yCAAyC;AACzC,gEAAgE;AAChE,SAAS;AACT,WAAW;AACX,gCAAgC;AAChC,uCAAuC;AACvC,mDAAmD;AACnD,IAAI"}
@@ -1,20 +1,44 @@
1
1
  import { AnyZodObject, z, ZodObject, ZodRawShape } from 'zod';
2
- declare let FrameworkConfigSchema: z.ZodObject<{
2
+ declare const FrameworkConfigSchema: z.ZodObject<{
3
3
  NODE_ENV: z.ZodDefault<z.ZodEnum<["development", "production", "test"]>>;
4
4
  SERVER_PORT: z.ZodDefault<z.ZodNumber>;
5
5
  SERVER_HOST: z.ZodDefault<z.ZodString>;
6
6
  CONFIG_DEBUG: z.ZodDefault<z.ZodBoolean>;
7
- }, "strip", z.ZodTypeAny, {
8
- NODE_ENV: "development" | "production" | "test";
9
- SERVER_PORT: number;
10
- SERVER_HOST: string;
11
- CONFIG_DEBUG: boolean;
12
- }, {
13
- NODE_ENV?: "development" | "production" | "test" | undefined;
14
- SERVER_PORT?: number | undefined;
15
- SERVER_HOST?: string | undefined;
16
- CONFIG_DEBUG?: boolean | undefined;
17
- }>;
7
+ } & {
8
+ LOG_LEVEL: z.ZodEffects<z.ZodDefault<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>, "trace" | "debug" | "info" | "warn" | "error" | "fatal", "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined>;
9
+ SERVICE_NAME: z.ZodDefault<z.ZodString>;
10
+ CLICKHOUSE_ENABLED: z.ZodDefault<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
11
+ CLICKHOUSE_URL: z.ZodDefault<z.ZodString>;
12
+ CLICKHOUSE_USER: z.ZodDefault<z.ZodString>;
13
+ CLICKHOUSE_PASSWORD: z.ZodDefault<z.ZodString>;
14
+ CLICKHOUSE_DB: z.ZodDefault<z.ZodString>;
15
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
16
+ NODE_ENV: z.ZodDefault<z.ZodEnum<["development", "production", "test"]>>;
17
+ SERVER_PORT: z.ZodDefault<z.ZodNumber>;
18
+ SERVER_HOST: z.ZodDefault<z.ZodString>;
19
+ CONFIG_DEBUG: z.ZodDefault<z.ZodBoolean>;
20
+ } & {
21
+ LOG_LEVEL: z.ZodEffects<z.ZodDefault<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>, "trace" | "debug" | "info" | "warn" | "error" | "fatal", "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined>;
22
+ SERVICE_NAME: z.ZodDefault<z.ZodString>;
23
+ CLICKHOUSE_ENABLED: z.ZodDefault<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
24
+ CLICKHOUSE_URL: z.ZodDefault<z.ZodString>;
25
+ CLICKHOUSE_USER: z.ZodDefault<z.ZodString>;
26
+ CLICKHOUSE_PASSWORD: z.ZodDefault<z.ZodString>;
27
+ CLICKHOUSE_DB: z.ZodDefault<z.ZodString>;
28
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
29
+ NODE_ENV: z.ZodDefault<z.ZodEnum<["development", "production", "test"]>>;
30
+ SERVER_PORT: z.ZodDefault<z.ZodNumber>;
31
+ SERVER_HOST: z.ZodDefault<z.ZodString>;
32
+ CONFIG_DEBUG: z.ZodDefault<z.ZodBoolean>;
33
+ } & {
34
+ LOG_LEVEL: z.ZodEffects<z.ZodDefault<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>, "trace" | "debug" | "info" | "warn" | "error" | "fatal", "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined>;
35
+ SERVICE_NAME: z.ZodDefault<z.ZodString>;
36
+ CLICKHOUSE_ENABLED: z.ZodDefault<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
37
+ CLICKHOUSE_URL: z.ZodDefault<z.ZodString>;
38
+ CLICKHOUSE_USER: z.ZodDefault<z.ZodString>;
39
+ CLICKHOUSE_PASSWORD: z.ZodDefault<z.ZodString>;
40
+ CLICKHOUSE_DB: z.ZodDefault<z.ZodString>;
41
+ }, z.ZodTypeAny, "passthrough">>;
18
42
  type FrameworkConfig = z.infer<typeof FrameworkConfigSchema>;
19
43
  export declare class AppConfig<T extends ZodRawShape> {
20
44
  private static instance;
@@ -1 +1 @@
1
- {"version":3,"file":"AppConfig.d.ts","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAG7D,QAAA,IAAI,qBAAqB;;;;;;;;;;;;;;;EAMvB,CAAA;AA2BF,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE5D,qBAAa,SAAS,CAAC,CAAC,SAAS,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO;IAaP;;;;OAIG;WACW,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAYzF;;;OAGG;WACW,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAO/E,OAAO,CAAC,cAAc;IAoBtB;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D,GAAG,EAAE,CAAC,GACL,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAU/C;;;OAGG;IACH,MAAM,IAAI,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIjD;;;OAGG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,OAAO,CAAC,SAAS;CAalB"}
1
+ {"version":3,"file":"AppConfig.d.ts","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAkC7D,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAqE,CAAA;AAEhG,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE5D,qBAAa,SAAS,CAAC,CAAC,SAAS,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO;IAaP;;;;OAIG;WACW,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAYzF;;;OAGG;WACW,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAO/E,OAAO,CAAC,cAAc;IAoBtB;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D,GAAG,EAAE,CAAC,GACL,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAU/C;;;OAGG;IACH,MAAM,IAAI,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIjD;;;OAGG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,OAAO,CAAC,SAAS;CAalB"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AppConfig = void 0;
4
4
  const zod_1 = require("zod");
5
5
  // Framework-level configuration schema
6
- let FrameworkConfigSchema = zod_1.z.object({
6
+ const BaseFrameworkConfigSchema = zod_1.z.object({
7
7
  NODE_ENV: zod_1.z.enum(['development', 'production', 'test']).default('development'),
8
8
  SERVER_PORT: zod_1.z.coerce.number().default(4000),
9
9
  SERVER_HOST: zod_1.z.string().default('localhost'),
@@ -31,7 +31,7 @@ const LoggingConfigSchema = zod_1.z.object({
31
31
  CLICKHOUSE_PASSWORD: zod_1.z.string().default(''),
32
32
  CLICKHOUSE_DB: zod_1.z.string().default('default'),
33
33
  });
34
- FrameworkConfigSchema = FrameworkConfigSchema.merge(LoggingConfigSchema);
34
+ const FrameworkConfigSchema = BaseFrameworkConfigSchema.merge(LoggingConfigSchema).passthrough();
35
35
  class AppConfig {
36
36
  constructor(userSchema) {
37
37
  // Merge framework and user schemas
@@ -1 +1 @@
1
- {"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":";;;AAAA,6BAA6D;AAE7D,uCAAuC;AACvC,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9E,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5C,4EAA4E;IAC5E,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC/C,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,OAAC;SACT,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC1D,OAAO,CAAC,OAAO,CAAC;SAChB,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACtB,gFAAgF;QAChF,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACvF,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC;IACJ,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IAEjD,2BAA2B;IAC3B,kBAAkB,EAAE,OAAC;SAClB,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SACtE,OAAO,CAAC,IAAI,CAAC;IAChB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACjE,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC9C,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;CAC7C,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAA;AAIhG,MAAa,SAAS;IAKpB,YAAoB,UAAyB;QAC3C,mCAAmC;QACnC,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,IAAI,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAEzF,kCAAkC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAEnC,wBAAwB;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,CAAA;QAClB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAwB,UAAyB;QACxE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAA;YACH,CAAC;YACD,SAAS,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAwB,UAAwB;QACtE,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;QACnF,CAAC;QACD,SAAS,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;gBAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;qBAClD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;qBACpC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAM,KAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qBACvE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEb,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAA;YACvE,CAAC;YACD,OAAO,MAAM,CAAC,IAA+C,CAAA;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAA;YACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,GAAG,CACD,GAAM;QAEN,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAE9B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;OAEG;IACK,SAAS;QACf,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAEtC,+BAA+B;QAC/B,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;QAC5E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC7E,WAAW,CAAC,GAA+B,CAAC,GAAG,OAAc,CAAA;YAC/D,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAA;IACnD,CAAC;CACF;AAnHD,8BAmHC"}
@@ -49,22 +49,36 @@ export interface SwaggerOptions {
49
49
  security?: Array<Record<string, string[]>>;
50
50
  }
51
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.
52
+ * Decorator to add Swagger/OpenAPI documentation metadata to a controller class or route method.
53
+ *
54
+ * When used on a controller class, the metadata applies to all routes in that controller.
55
+ * When used on a method, it overrides/merges with controller-level metadata.
54
56
  *
55
57
  * @example
58
+ * // Controller-level (applies to all routes)
59
+ * @Controller('/users')
60
+ * @Swagger({
61
+ * tags: ['Users'],
62
+ * security: [{ bearerAuth: [] }]
63
+ * })
64
+ * export class UserController {
65
+ * @Get('/:id') // Inherits tags and security
66
+ * getUserById() {}
67
+ * }
68
+ *
69
+ * // Method-level (overrides controller)
56
70
  * @Get('/users/:id')
57
71
  * @Swagger({
58
72
  * summary: 'Get user by ID',
59
73
  * description: 'Retrieves a single user by their unique identifier',
60
- * tags: ['Users'],
74
+ * tags: ['Users', 'Public'], // Merges with controller tags
61
75
  * deprecated: false
62
76
  * })
63
77
  * getUserById(@Param('id') id: string) {
64
78
  * // ...
65
79
  * }
66
80
  */
67
- export declare const Swagger: (options: SwaggerOptions) => MethodDecorator;
81
+ export declare const Swagger: (options: SwaggerOptions) => ClassDecorator & MethodDecorator;
68
82
  export declare const UseMiddleware: (...middlewares: FastifyMiddleware[]) => MethodDecorator & ClassDecorator;
69
83
  export declare const Autowired: (token?: any) => any;
70
84
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
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
+ {"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,cAAc,KAAG,cAAc,GAAG,eAUlE,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"}
@@ -94,15 +94,29 @@ const Validate = (schema) => {
94
94
  };
95
95
  exports.Schema = Validate;
96
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.
97
+ * Decorator to add Swagger/OpenAPI documentation metadata to a controller class or route method.
98
+ *
99
+ * When used on a controller class, the metadata applies to all routes in that controller.
100
+ * When used on a method, it overrides/merges with controller-level metadata.
99
101
  *
100
102
  * @example
103
+ * // Controller-level (applies to all routes)
104
+ * @Controller('/users')
105
+ * @Swagger({
106
+ * tags: ['Users'],
107
+ * security: [{ bearerAuth: [] }]
108
+ * })
109
+ * export class UserController {
110
+ * @Get('/:id') // Inherits tags and security
111
+ * getUserById() {}
112
+ * }
113
+ *
114
+ * // Method-level (overrides controller)
101
115
  * @Get('/users/:id')
102
116
  * @Swagger({
103
117
  * summary: 'Get user by ID',
104
118
  * description: 'Retrieves a single user by their unique identifier',
105
- * tags: ['Users'],
119
+ * tags: ['Users', 'Public'], // Merges with controller tags
106
120
  * deprecated: false
107
121
  * })
108
122
  * getUserById(@Param('id') id: string) {
@@ -111,7 +125,14 @@ exports.Schema = Validate;
111
125
  */
112
126
  const Swagger = (options) => {
113
127
  return (target, propertyKey) => {
114
- Reflect.defineMetadata(exports.METADATA_KEYS.swaggerMetadata, options, target, propertyKey);
128
+ if (propertyKey) {
129
+ // Method decorator
130
+ Reflect.defineMetadata(exports.METADATA_KEYS.swaggerMetadata, options, target, propertyKey);
131
+ }
132
+ else {
133
+ // Class decorator
134
+ Reflect.defineMetadata(exports.METADATA_KEYS.swaggerMetadata, options, target);
135
+ }
115
136
  };
116
137
  };
117
138
  exports.Swagger = Swagger;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
1
  import { FastifyInstance } from 'fastify';
2
2
  import { Constructor } from './di-container';
3
- export declare function registerControllers(fastify: FastifyInstance, controllers: Constructor[]): void;
3
+ /**
4
+ * Normalize a URL prefix - ensures it starts with / and doesn't end with /
5
+ */
6
+ export declare function normalizePrefix(prefix: string): string;
7
+ /**
8
+ * Join multiple path segments into a single URL path
9
+ */
10
+ export declare function joinPaths(...paths: string[]): string;
11
+ /**
12
+ * Register controllers with Fastify
13
+ * @param fastify - Fastify instance
14
+ * @param controllers - Array of controller classes
15
+ * @param groupPrefix - Optional prefix to prepend to all routes in this group
16
+ */
17
+ export declare function registerControllers(fastify: FastifyInstance, controllers: Constructor[], groupPrefix?: string): void;
4
18
  //# sourceMappingURL=router.d.ts.map
@@ -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;AAGrF,OAAO,EAAE,WAAW,EAAa,MAAM,gBAAgB,CAAA;AA2BvD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QA+FvF"}
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;AAEvD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAItD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAMpD;AAiDD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EAAE,EAC1B,WAAW,GAAE,MAAW,QAwGzB"}
@@ -1,16 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizePrefix = normalizePrefix;
4
+ exports.joinPaths = joinPaths;
3
5
  exports.registerControllers = registerControllers;
4
6
  const zod_to_json_schema_1 = require("zod-to-json-schema");
5
7
  const decorators_1 = require("./decorators");
6
8
  const di_container_1 = require("./di-container");
7
- // const buildJsonSchema = (schemas: any) => {
8
- // const schema: any = {}
9
- // if (schemas.body) schema.body = zodToJsonSchema(schemas.body)
10
- // if (schemas.query) schema.querystring = zodToJsonSchema(schemas.query)
11
- // if (schemas.params) schema.params = zodToJsonSchema(schemas.params)
12
- // return schema
13
- // }
9
+ /**
10
+ * Normalize a URL prefix - ensures it starts with / and doesn't end with /
11
+ */
12
+ function normalizePrefix(prefix) {
13
+ if (!prefix)
14
+ return '';
15
+ let normalized = prefix.startsWith('/') ? prefix : `/${prefix}`;
16
+ return normalized.endsWith('/') ? normalized.slice(0, -1) : normalized;
17
+ }
18
+ /**
19
+ * Join multiple path segments into a single URL path
20
+ */
21
+ function joinPaths(...paths) {
22
+ const joined = paths
23
+ .filter(Boolean)
24
+ .join('/')
25
+ .replace(/\/+/g, '/');
26
+ return joined || '/';
27
+ }
28
+ /**
29
+ * Merge controller-level and method-level Swagger metadata
30
+ * Method-level takes precedence, except for tags which are merged (unique values)
31
+ *
32
+ * @param controllerMeta - Swagger metadata from controller class
33
+ * @param methodMeta - Swagger metadata from method
34
+ * @returns Merged metadata with method overrides and tag merging
35
+ */
36
+ function mergeSwaggerMetadata(controllerMeta, methodMeta) {
37
+ if (!controllerMeta)
38
+ return methodMeta || {};
39
+ if (!methodMeta)
40
+ return controllerMeta;
41
+ // Merge tags (unique values)
42
+ const controllerTags = controllerMeta.tags || [];
43
+ const methodTags = methodMeta.tags || [];
44
+ const mergedTags = [...controllerTags, ...methodTags];
45
+ const uniqueTags = [...new Set(mergedTags)];
46
+ return {
47
+ // Controller defaults
48
+ ...controllerMeta,
49
+ // Method overrides
50
+ ...methodMeta,
51
+ // Special: merge tags (only if there are any tags)
52
+ tags: uniqueTags.length > 0 ? uniqueTags : undefined,
53
+ };
54
+ }
14
55
  function buildFastifySchema(options) {
15
56
  const schema = {};
16
57
  if (options.body)
@@ -27,14 +68,23 @@ function buildFastifySchema(options) {
27
68
  }
28
69
  return schema;
29
70
  }
30
- function registerControllers(fastify, controllers) {
31
- console.log('📋 Registering controllers...');
71
+ /**
72
+ * Register controllers with Fastify
73
+ * @param fastify - Fastify instance
74
+ * @param controllers - Array of controller classes
75
+ * @param groupPrefix - Optional prefix to prepend to all routes in this group
76
+ */
77
+ function registerControllers(fastify, controllers, groupPrefix = '') {
78
+ const prefixDisplay = groupPrefix ? ` (prefix: ${groupPrefix})` : '';
79
+ console.log(`📋 Registering controllers${prefixDisplay}...`);
32
80
  controllers.forEach((controllerClass) => {
33
81
  // 👇 Read controller-level middleware
34
82
  const classMiddlewares = Reflect.getMetadata(decorators_1.METADATA_KEYS.middleware, controllerClass) || [];
35
83
  const controllerInstance = di_container_1.container.resolve(controllerClass);
36
84
  const prefix = Reflect.getMetadata(decorators_1.METADATA_KEYS.controllerPrefix, controllerClass) || '';
37
85
  const routes = Reflect.getMetadata(decorators_1.METADATA_KEYS.routes, controllerClass) || [];
86
+ // 🆕 Read controller-level Swagger metadata
87
+ const controllerSwaggerMeta = Reflect.getMetadata(decorators_1.METADATA_KEYS.swaggerMetadata, controllerClass);
38
88
  routes.forEach((route) => {
39
89
  // 👇 Read method-level middleware
40
90
  const methodMiddlewares = Reflect.getMetadata(decorators_1.METADATA_KEYS.middleware, controllerInstance, route.handlerName) || [];
@@ -42,13 +92,15 @@ function registerControllers(fastify, controllers) {
42
92
  const handler = controllerInstance[route.handlerName].bind(controllerInstance);
43
93
  const paramDecorators = Reflect.getMetadata(decorators_1.METADATA_KEYS.paramTypes, controllerInstance, route.handlerName) || [];
44
94
  const validationSchemas = Reflect.getMetadata(decorators_1.METADATA_KEYS.validationSchema, controllerInstance, route.handlerName);
45
- // console.log(validationSchemas)
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);
95
+ // Calculate final URL: groupPrefix + controllerPrefix + methodPath
96
+ const url = joinPaths(groupPrefix, prefix, route.path);
97
+ // 🆕 Read method-level Swagger metadata
98
+ const methodSwaggerMeta = Reflect.getMetadata(decorators_1.METADATA_KEYS.swaggerMetadata, controllerInstance, route.handlerName);
99
+ // 🆕 Merge controller and method Swagger metadata
100
+ const swaggerMetadata = mergeSwaggerMetadata(controllerSwaggerMeta, methodSwaggerMeta);
49
101
  // Build the schema, merging validation schemas with swagger metadata
50
102
  let schema = validationSchemas ? buildFastifySchema(validationSchemas) : {};
51
- if (swaggerMetadata) {
103
+ if (swaggerMetadata && Object.keys(swaggerMetadata).length > 0) {
52
104
  schema = {
53
105
  ...schema,
54
106
  summary: swaggerMetadata.summary,
@@ -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,15 @@
1
+ /**
2
+ * Test controller to demonstrate controller-level Swagger metadata inheritance
3
+ */
4
+ export declare class TestSwaggerController {
5
+ inheritFromController(): {
6
+ message: string;
7
+ };
8
+ overrideControllerMetadata(): {
9
+ message: string;
10
+ };
11
+ mergeTagsExample(): {
12
+ message: string;
13
+ };
14
+ }
15
+ //# sourceMappingURL=test-swagger.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-swagger.controller.d.ts","sourceRoot":"","sources":["../../../src/examples/controllers/test-swagger.controller.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAMa,qBAAqB;IAI9B,qBAAqB;;;IAUrB,0BAA0B;;;IAU1B,gBAAgB;;;CAGnB"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TestSwaggerController = void 0;
13
+ const decorators_1 = require("../../core/decorators");
14
+ /**
15
+ * Test controller to demonstrate controller-level Swagger metadata inheritance
16
+ */
17
+ let TestSwaggerController = class TestSwaggerController {
18
+ // This method inherits: tags=['Test'], security=[{apiKey:[]}], description
19
+ inheritFromController() {
20
+ return { message: 'Inherits controller metadata' };
21
+ }
22
+ overrideControllerMetadata() {
23
+ return { message: 'Overrides security, merges tags' };
24
+ }
25
+ mergeTagsExample() {
26
+ return { message: 'Demonstrates tag merging' };
27
+ }
28
+ };
29
+ exports.TestSwaggerController = TestSwaggerController;
30
+ __decorate([
31
+ (0, decorators_1.Get)('/inherit')
32
+ // This method inherits: tags=['Test'], security=[{apiKey:[]}], description
33
+ ,
34
+ __metadata("design:type", Function),
35
+ __metadata("design:paramtypes", []),
36
+ __metadata("design:returntype", void 0)
37
+ ], TestSwaggerController.prototype, "inheritFromController", null);
38
+ __decorate([
39
+ (0, decorators_1.Get)('/override'),
40
+ (0, decorators_1.Swagger)({
41
+ summary: 'Override example',
42
+ tags: ['Test', 'Override'] // Merges: ['Test', 'Override']
43
+ // security: [] // Temporarily commented out
44
+ }),
45
+ __metadata("design:type", Function),
46
+ __metadata("design:paramtypes", []),
47
+ __metadata("design:returntype", void 0)
48
+ ], TestSwaggerController.prototype, "overrideControllerMetadata", null);
49
+ __decorate([
50
+ (0, decorators_1.Post)('/merge-tags'),
51
+ (0, decorators_1.Swagger)({
52
+ summary: 'Tag merging example',
53
+ tags: ['Custom', 'API'], // Final tags: ['Test', 'Custom', 'API']
54
+ deprecated: true
55
+ }),
56
+ __metadata("design:type", Function),
57
+ __metadata("design:paramtypes", []),
58
+ __metadata("design:returntype", void 0)
59
+ ], TestSwaggerController.prototype, "mergeTagsExample", null);
60
+ exports.TestSwaggerController = TestSwaggerController = __decorate([
61
+ (0, decorators_1.Controller)('/test-swagger'),
62
+ (0, decorators_1.Swagger)({
63
+ tags: ['Test'],
64
+ description: 'Test endpoints for Swagger metadata inheritance'
65
+ // security: [{ apiKey: [] }] // Temporarily commented out
66
+ })
67
+ ], TestSwaggerController);
68
+ //# sourceMappingURL=test-swagger.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-swagger.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/test-swagger.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAsE;AAEtE;;GAEG;AAOI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAI9B,AADA,2EAA2E;IAC3E,qBAAqB;QACjB,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAA;IACtD,CAAC;IAQD,0BAA0B;QACtB,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAA;IACzD,CAAC;IAQD,gBAAgB;QACZ,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAA;IAClD,CAAC;CACJ,CAAA;AA3BY,sDAAqB;AAI9B;IAFC,IAAA,gBAAG,EAAC,UAAU,CAAC;IAChB,2EAA2E;;;;;kEAG1E;AAQD;IANC,IAAA,gBAAG,EAAC,WAAW,CAAC;IAChB,IAAA,oBAAO,EAAC;QACL,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAE,+BAA+B;QAC3D,6CAA6C;KAChD,CAAC;;;;uEAGD;AAQD;IANC,IAAA,iBAAI,EAAC,aAAa,CAAC;IACnB,IAAA,oBAAO,EAAC;QACL,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAG,wCAAwC;QAClE,UAAU,EAAE,IAAI;KACnB,CAAC;;;;6DAGD;gCA1BQ,qBAAqB;IANjC,IAAA,uBAAU,EAAC,eAAe,CAAC;IAC3B,IAAA,oBAAO,EAAC;QACL,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,iDAAiD;QAC9D,2DAA2D;KAC9D,CAAC;GACW,qBAAqB,CA2BjC"}
@@ -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;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"}
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,qBAQa,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;IASxB,WAAW;;;;;IAqBX,WAAW,CAAc,EAAE,EAAE,MAAM;;;;;IA2B7B,UAAU,CAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC;;;;;CAc1D"}
@@ -87,8 +87,9 @@ __decorate([
87
87
  (0, decorators_2.Get)('/'),
88
88
  (0, decorators_2.Swagger)({
89
89
  summary: 'Get all todos',
90
- description: 'Retrieves a list of all todo items',
91
- tags: ['Todos'],
90
+ description: 'Retrieves a list of all todo items'
91
+ // tags inherited from controller: ['Todos']
92
+ // security inherited from controller: [{ bearerAuth: [] }]
92
93
  }),
93
94
  __metadata("design:type", Function),
94
95
  __metadata("design:paramtypes", []),
@@ -100,7 +101,7 @@ __decorate([
100
101
  (0, decorators_2.Swagger)({
101
102
  summary: 'Get todo by ID',
102
103
  description: 'Retrieves a single todo item by its unique identifier',
103
- tags: ['Todos'],
104
+ tags: ['Todos', 'Public'] // Merges with controller tags: ['Todos', 'Public']
104
105
  }),
105
106
  __param(0, (0, decorators_2.Param)('id')),
106
107
  __metadata("design:type", Function),
@@ -126,8 +127,8 @@ __decorate([
126
127
  (0, decorators_2.Swagger)({
127
128
  summary: 'Create a new todo',
128
129
  description: 'Creates a new todo item with the provided text',
129
- tags: ['Todos'],
130
- operationId: 'createTodo',
130
+ operationId: 'createTodo'
131
+ // security: [] // Temporarily commented out
131
132
  })
132
133
  // @UseMiddleware(authorize(['manager']))
133
134
  ,
@@ -141,6 +142,11 @@ exports.TodoController = TodoController = __decorate([
141
142
  (0, decorators_2.Controller)('/todos')
142
143
  // @UseMiddleware(authenticate(process.env.JWT_SECRET || 'your-secret-key'))
143
144
  ,
145
+ (0, decorators_2.Swagger)({
146
+ tags: ['Todos'],
147
+ description: 'Todo management endpoints'
148
+ // security: [{ bearerAuth: [] }] // Temporarily commented out
149
+ }),
144
150
  __metadata("design:paramtypes", [todo_service_1.TodoService])
145
151
  ], TodoController);
146
152
  //# sourceMappingURL=todo.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"todo.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"todo.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { IEvent } from '../../events/event.types';
2
- import './TodoEventHandler';
3
2
  export declare class TodoCreatedEvent implements IEvent {
4
3
  payload: {
5
4
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"todo.events.d.ts","sourceRoot":"","sources":["../../../src/examples/events/todo.events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAGjD,OAAO,oBAAoB,CAAA;AAE3B,qBAAa,gBAAiB,YAAW,MAAM;IAG1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;IAFzE,QAAQ,CAAC,IAAI,kBAAiB;gBAEX,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;CAC1E"}
1
+ {"version":3,"file":"todo.events.d.ts","sourceRoot":"","sources":["../../../src/examples/events/todo.events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKlD,qBAAa,gBAAiB,YAAW,MAAM;IAG1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;IAFzE,QAAQ,CAAC,IAAI,kBAAiB;gBAEX,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;CAC1E"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TodoCreatedEvent = void 0;
4
4
  // This is our strongly-typed event class.
5
- require("./TodoEventHandler");
5
+ // Note: TodoEventHandler is imported in the main index.ts to avoid circular dependency
6
6
  class TodoCreatedEvent {
7
7
  constructor(payload) {
8
8
  this.payload = payload;
@@ -1 +1 @@
1
- {"version":3,"file":"todo.events.js","sourceRoot":"","sources":["../../../src/examples/events/todo.events.ts"],"names":[],"mappings":";;;AAEA,0CAA0C;AAC1C,8BAA2B;AAE3B,MAAa,gBAAgB;IAG3B,YAAmB,OAAsD;QAAtD,YAAO,GAAP,OAAO,CAA+C;QAFhE,SAAI,GAAG,cAAc,CAAA,CAAC,0BAA0B;IAEmB,CAAC;CAC9E;AAJD,4CAIC"}
1
+ {"version":3,"file":"todo.events.js","sourceRoot":"","sources":["../../../src/examples/events/todo.events.ts"],"names":[],"mappings":";;;AAEA,0CAA0C;AAC1C,uFAAuF;AAEvF,MAAa,gBAAgB;IAG3B,YAAmB,OAAsD;QAAtD,YAAO,GAAP,OAAO,CAA+C;QAFhE,SAAI,GAAG,cAAc,CAAA,CAAC,0BAA0B;IAEoB,CAAC;CAC/E;AAJD,4CAIC"}
@@ -1,4 +1,5 @@
1
1
  import "reflect-metadata";
2
2
  import "../cache/stores/redis-cache.store";
3
3
  import "./services/scheduled-tasks.service";
4
+ import "./events/TodoEventHandler";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAe1B,OAAO,mCAAmC,CAAC;AAG3C,OAAO,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAe1B,OAAO,mCAAmC,CAAC;AAE3C,OAAO,oCAAoC,CAAC;AAG5C,OAAO,2BAA2B,CAAC"}
@@ -49,9 +49,11 @@ const todo_controller_1 = require("./controllers/todo.controller");
49
49
  dotenv_1.default.config();
50
50
  // Import the RedisCacheStore to trigger @Service decorator registration
51
51
  require("../cache/stores/redis-cache.store");
52
- const middleware_1 = require("../middleware");
53
52
  // Import scheduled tasks service to register it with DI
54
53
  require("./services/scheduled-tasks.service");
54
+ // Import event handlers to register them with DI (must be after events to avoid circular deps)
55
+ const test_swagger_controller_1 = require("./controllers/test-swagger.controller");
56
+ require("./events/TodoEventHandler");
55
57
  // --- Application Startup ---
56
58
  const envSchema = zod_1.default.object({
57
59
  NODE_ENV: zod_1.default.string().min(1),
@@ -116,18 +118,13 @@ async function main() {
116
118
  .useConfig(envSchema)
117
119
  .setPort(8080)
118
120
  .setServiceName("bootify-example")
119
- // Configure logger - user creates their own adapter that implements ILogger
120
- // See src/examples/adapters/pino-logger.adapter.ts for the implementation
121
- .useLogger(builder => {
122
- const { PinoLoggerAdapter } = require('./adapters/pino-logger.adapter');
123
- return builder
124
- .setLevel(process.env.LOG_LEVEL || 'info')
125
- .use(new PinoLoggerAdapter({
126
- level: process.env.LOG_LEVEL || 'info',
127
- serviceName: 'bootify-example',
128
- prettyPrint: process.env.NODE_ENV !== 'production',
129
- }));
130
- })
121
+ // Configure logger - using built-in console logger (no external dependencies)
122
+ .useLogger(builder => builder
123
+ .setLevel(process.env.LOG_LEVEL || 'info')
124
+ .configureConsole({
125
+ colorize: process.env.NODE_ENV !== 'production',
126
+ prettyPrint: process.env.NODE_ENV !== 'production',
127
+ }))
131
128
  // Initialize services before start
132
129
  .beforeStart(async () => {
133
130
  const log = (0, logging_1.getLogger)();
@@ -145,7 +142,7 @@ async function main() {
145
142
  })
146
143
  // Register Swagger
147
144
  .usePlugin(async (app) => {
148
- app.addHook("onRequest", (0, middleware_1.createContextMiddleware)());
145
+ // app.addHook("onRequest", createContextMiddleware());
149
146
  const fastifySwagger = await Promise.resolve().then(() => __importStar(require("@fastify/swagger")));
150
147
  const fastifySwaggerUI = await Promise.resolve().then(() => __importStar(require("@fastify/swagger-ui")));
151
148
  await app.register(fastifySwagger.default, {
@@ -162,8 +159,10 @@ async function main() {
162
159
  routePrefix: "/api-docs",
163
160
  });
164
161
  })
165
- // Register controllers
166
- .useControllers([health_controller_1.HealthController, todo_controller_1.TodoController])
162
+ // Register controllers with API prefix
163
+ // Health controller at root, Todo controller under /api/v1
164
+ .useControllers([health_controller_1.HealthController]) // /health
165
+ .useControllers([todo_controller_1.TodoController, test_swagger_controller_1.TestSwaggerController], { prefix: '/api/v1' }) // /api/v1/todos, /api/v1/test-swagger
167
166
  // Register JWT auth routes after app is built
168
167
  .beforeStart(async (app) => {
169
168
  (0, basic_usage_1.registerJWTAuthRoutes)(app, authManager, jwtAuthMiddleware);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bootifyjs",
3
- "version": "2.1.1",
3
+ "version": "2.2.0",
4
4
  "keywords": [],
5
5
  "author": "Piyush Priyadarshi",
6
6
  "license": "ISC",
@@ -10,6 +10,12 @@
10
10
  "scripts": {
11
11
  "clean": "rm -rf dist",
12
12
  "build": "npm run clean && tsc",
13
+ "build:binary": "bun build --compile --minify-whitespace --minify-syntax --target bun --outfile server src/examples/index.ts",
14
+ "build:binary:cluster": "bun build --compile --minify-whitespace --minify-syntax --target bun --outfile server src/cluster.ts",
15
+ "build:binary:linux": "bun build --compile --minify-whitespace --minify-syntax --target bun-linux-x64 --outfile server src/examples/index.ts",
16
+ "docker:build": "docker build -t bootifyjs .",
17
+ "docker:build:cluster": "docker build -t bootifyjs:cluster -f Dockerfile.cluster .",
18
+ "docker:run": "docker run -p 8080:8080 --env-file .env bootifyjs",
13
19
  "prepublishOnly": "npm run build",
14
20
  "dev": "nodemon --watch src --exec ts-node src/examples/index.ts"
15
21
  },