bootifyjs 0.1.1 → 1.0.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 (261) hide show
  1. package/dist/api.d.ts +8 -27
  2. package/dist/api.d.ts.map +1 -0
  3. package/dist/api.js +68 -134
  4. package/dist/api.js.map +1 -1
  5. package/dist/cache/bootstrap.d.ts +6 -0
  6. package/dist/cache/bootstrap.d.ts.map +1 -0
  7. package/dist/cache/bootstrap.js +23 -0
  8. package/dist/cache/bootstrap.js.map +1 -0
  9. package/dist/cache/cache.service.d.ts +9 -0
  10. package/dist/cache/cache.service.d.ts.map +1 -0
  11. package/dist/cache/cache.service.js +40 -0
  12. package/dist/cache/cache.service.js.map +1 -0
  13. package/dist/cache/cache.types.d.ts +14 -0
  14. package/dist/cache/cache.types.d.ts.map +1 -0
  15. package/dist/cache/cache.types.js +8 -0
  16. package/dist/cache/cache.types.js.map +1 -0
  17. package/dist/cache/decorators.d.ts +12 -0
  18. package/dist/cache/decorators.d.ts.map +1 -0
  19. package/dist/cache/decorators.js +53 -0
  20. package/dist/cache/decorators.js.map +1 -0
  21. package/dist/cache/in-memory-cache.store.d.ts +8 -0
  22. package/dist/cache/in-memory-cache.store.d.ts.map +1 -0
  23. package/dist/cache/in-memory-cache.store.js +39 -0
  24. package/dist/cache/in-memory-cache.store.js.map +1 -0
  25. package/dist/cache/index.d.ts +5 -0
  26. package/dist/cache/index.d.ts.map +1 -0
  27. package/dist/cache/index.js +21 -0
  28. package/dist/cache/index.js.map +1 -0
  29. package/dist/core/component-registry.d.ts +7 -0
  30. package/dist/core/component-registry.d.ts.map +1 -0
  31. package/dist/core/component-registry.js +9 -0
  32. package/dist/core/component-registry.js.map +1 -0
  33. package/dist/core/decorators.d.ts +38 -22
  34. package/dist/core/decorators.d.ts.map +1 -0
  35. package/dist/core/decorators.js +155 -174
  36. package/dist/core/decorators.js.map +1 -1
  37. package/dist/core/di-container.d.ts +31 -0
  38. package/dist/core/di-container.d.ts.map +1 -0
  39. package/dist/core/di-container.js +219 -0
  40. package/dist/core/di-container.js.map +1 -0
  41. package/dist/core/index.d.ts +5 -0
  42. package/dist/core/index.d.ts.map +1 -0
  43. package/dist/core/index.js +21 -0
  44. package/dist/core/index.js.map +1 -0
  45. package/dist/core/request-context.service.d.ts +24 -0
  46. package/dist/core/request-context.service.d.ts.map +1 -0
  47. package/dist/core/request-context.service.js +52 -0
  48. package/dist/core/request-context.service.js.map +1 -0
  49. package/dist/core/router.d.ts +4 -32
  50. package/dist/core/router.d.ts.map +1 -0
  51. package/dist/core/router.js +81 -258
  52. package/dist/core/router.js.map +1 -1
  53. package/dist/events/bootstrap.d.ts +8 -0
  54. package/dist/events/bootstrap.d.ts.map +1 -0
  55. package/dist/events/bootstrap.js +37 -0
  56. package/dist/events/bootstrap.js.map +1 -0
  57. package/dist/events/decorators.d.ts +16 -0
  58. package/dist/events/decorators.d.ts.map +1 -0
  59. package/dist/events/decorators.js +37 -0
  60. package/dist/events/decorators.js.map +1 -0
  61. package/dist/events/event-bus.service.d.ts +21 -0
  62. package/dist/events/event-bus.service.d.ts.map +1 -0
  63. package/dist/events/event-bus.service.js +78 -0
  64. package/dist/events/event-bus.service.js.map +1 -0
  65. package/dist/events/event.types.d.ts +17 -0
  66. package/dist/events/event.types.d.ts.map +1 -0
  67. package/dist/events/event.types.js.map +1 -0
  68. package/dist/events/index.d.ts +5 -13
  69. package/dist/events/index.d.ts.map +1 -0
  70. package/dist/events/index.js +4 -54
  71. package/dist/events/index.js.map +1 -1
  72. package/dist/examples/controllers/health.controller.d.ts +7 -0
  73. package/dist/examples/controllers/health.controller.d.ts.map +1 -0
  74. package/dist/{events/examples/system.events.js → examples/controllers/health.controller.js} +16 -15
  75. package/dist/examples/controllers/health.controller.js.map +1 -0
  76. package/dist/examples/controllers/todo.controller.d.ts +31 -0
  77. package/dist/examples/controllers/todo.controller.d.ts.map +1 -0
  78. package/dist/examples/controllers/todo.controller.js +102 -0
  79. package/dist/examples/controllers/todo.controller.js.map +1 -0
  80. package/dist/examples/events/TodoEventHandler.d.ts +2 -0
  81. package/dist/examples/events/TodoEventHandler.d.ts.map +1 -0
  82. package/dist/examples/events/TodoEventHandler.js +31 -0
  83. package/dist/examples/events/TodoEventHandler.js.map +1 -0
  84. package/dist/examples/events/todo.events.d.ts +16 -0
  85. package/dist/examples/events/todo.events.d.ts.map +1 -0
  86. package/dist/examples/events/todo.events.js +13 -0
  87. package/dist/examples/events/todo.events.js.map +1 -0
  88. package/dist/examples/index.d.ts +2 -0
  89. package/dist/examples/index.d.ts.map +1 -0
  90. package/dist/examples/index.js +35 -0
  91. package/dist/examples/index.js.map +1 -0
  92. package/dist/examples/repositories/todo.repository.d.ts +20 -0
  93. package/dist/examples/repositories/todo.repository.d.ts.map +1 -0
  94. package/dist/examples/repositories/todo.repository.js +33 -0
  95. package/dist/examples/repositories/todo.repository.js.map +1 -0
  96. package/dist/examples/services/todo.service.d.ts +33 -0
  97. package/dist/examples/services/todo.service.d.ts.map +1 -0
  98. package/dist/examples/services/todo.service.js +80 -0
  99. package/dist/examples/services/todo.service.js.map +1 -0
  100. package/dist/examples/todos/schema.d.ts +54 -0
  101. package/dist/examples/todos/schema.d.ts.map +1 -0
  102. package/dist/examples/todos/schema.js +20 -0
  103. package/dist/examples/todos/schema.js.map +1 -0
  104. package/dist/index.d.ts +7 -17
  105. package/dist/index.d.ts.map +1 -0
  106. package/dist/index.js +20 -95
  107. package/dist/index.js.map +1 -1
  108. package/dist/logging/config/logging.config.d.ts +31 -3
  109. package/dist/logging/config/logging.config.d.ts.map +1 -0
  110. package/dist/logging/config/logging.config.js +43 -93
  111. package/dist/logging/config/logging.config.js.map +1 -1
  112. package/dist/logging/core/decorators.d.ts +16 -0
  113. package/dist/logging/core/decorators.d.ts.map +1 -0
  114. package/dist/logging/core/decorators.js +74 -0
  115. package/dist/logging/core/decorators.js.map +1 -0
  116. package/dist/logging/core/logger.provider.d.ts +4 -0
  117. package/dist/logging/core/logger.provider.d.ts.map +1 -0
  118. package/dist/logging/core/logger.provider.js +68 -0
  119. package/dist/logging/core/logger.provider.js.map +1 -0
  120. package/dist/logging/core/logger.service.d.ts +9 -27
  121. package/dist/logging/core/logger.service.d.ts.map +1 -0
  122. package/dist/logging/core/logger.service.js +34 -164
  123. package/dist/logging/core/logger.service.js.map +1 -1
  124. package/dist/logging/core/{startup-logger.service.d.ts → startup.logger.d.ts} +4 -6
  125. package/dist/logging/core/startup.logger.d.ts.map +1 -0
  126. package/dist/logging/core/{startup-logger.service.js → startup.logger.js} +36 -42
  127. package/dist/logging/core/startup.logger.js.map +1 -0
  128. package/dist/logging/index.d.ts +7 -14
  129. package/dist/logging/index.d.ts.map +1 -0
  130. package/dist/logging/index.js +17 -28
  131. package/dist/logging/index.js.map +1 -1
  132. package/dist/middleware/auth.middleware.d.ts +3 -0
  133. package/dist/middleware/auth.middleware.d.ts.map +1 -0
  134. package/dist/middleware/auth.middleware.js +18 -0
  135. package/dist/middleware/auth.middleware.js.map +1 -0
  136. package/dist/middleware/context.middleware.d.ts +7 -0
  137. package/dist/middleware/context.middleware.d.ts.map +1 -0
  138. package/dist/middleware/context.middleware.js +25 -0
  139. package/dist/middleware/context.middleware.js.map +1 -0
  140. package/dist/middleware/index.d.ts +4 -0
  141. package/dist/middleware/index.d.ts.map +1 -0
  142. package/dist/middleware/index.js +20 -0
  143. package/dist/middleware/index.js.map +1 -0
  144. package/dist/middleware/request-logger.middleware.d.ts +4 -0
  145. package/dist/middleware/request-logger.middleware.d.ts.map +1 -0
  146. package/dist/middleware/request-logger.middleware.js +18 -0
  147. package/dist/middleware/request-logger.middleware.js.map +1 -0
  148. package/package.json +52 -47
  149. package/LICENSE +0 -21
  150. package/README.md +0 -423
  151. package/dist/config/app.config.d.ts +0 -29
  152. package/dist/config/app.config.js +0 -55
  153. package/dist/config/app.config.js.map +0 -1
  154. package/dist/controllers/config.controller.d.ts +0 -16
  155. package/dist/controllers/config.controller.js +0 -66
  156. package/dist/controllers/config.controller.js.map +0 -1
  157. package/dist/controllers/events.controller.d.ts +0 -66
  158. package/dist/controllers/events.controller.js +0 -145
  159. package/dist/controllers/events.controller.js.map +0 -1
  160. package/dist/controllers/health.controller.d.ts +0 -20
  161. package/dist/controllers/health.controller.js +0 -92
  162. package/dist/controllers/health.controller.js.map +0 -1
  163. package/dist/controllers/user.controller.d.ts +0 -13
  164. package/dist/controllers/user.controller.js +0 -209
  165. package/dist/controllers/user.controller.js.map +0 -1
  166. package/dist/core/application.d.ts +0 -21
  167. package/dist/core/application.js +0 -90
  168. package/dist/core/application.js.map +0 -1
  169. package/dist/core/config.d.ts +0 -3
  170. package/dist/core/config.js +0 -78
  171. package/dist/core/config.js.map +0 -1
  172. package/dist/core/container.d.ts +0 -17
  173. package/dist/core/container.js +0 -92
  174. package/dist/core/container.js.map +0 -1
  175. package/dist/core/errors.d.ts +0 -18
  176. package/dist/core/errors.js +0 -74
  177. package/dist/core/errors.js.map +0 -1
  178. package/dist/core/middleware.d.ts +0 -8
  179. package/dist/core/middleware.js +0 -23
  180. package/dist/core/middleware.js.map +0 -1
  181. package/dist/core/openapi.d.ts +0 -80
  182. package/dist/core/openapi.js +0 -189
  183. package/dist/core/openapi.js.map +0 -1
  184. package/dist/core/utils.d.ts +0 -7
  185. package/dist/core/utils.js +0 -75
  186. package/dist/core/utils.js.map +0 -1
  187. package/dist/core/validation.d.ts +0 -15
  188. package/dist/core/validation.js +0 -161
  189. package/dist/core/validation.js.map +0 -1
  190. package/dist/events/core/event-bus.d.ts +0 -26
  191. package/dist/events/core/event-bus.js +0 -253
  192. package/dist/events/core/event-bus.js.map +0 -1
  193. package/dist/events/core/event-registry.d.ts +0 -31
  194. package/dist/events/core/event-registry.js +0 -170
  195. package/dist/events/core/event-registry.js.map +0 -1
  196. package/dist/events/decorators/event.decorators.d.ts +0 -11
  197. package/dist/events/decorators/event.decorators.js +0 -123
  198. package/dist/events/decorators/event.decorators.js.map +0 -1
  199. package/dist/events/examples/system.events.d.ts +0 -15
  200. package/dist/events/examples/system.events.js.map +0 -1
  201. package/dist/events/examples/user.events.d.ts +0 -68
  202. package/dist/events/examples/user.events.js +0 -73
  203. package/dist/events/examples/user.events.js.map +0 -1
  204. package/dist/events/examples/user.handlers.d.ts +0 -20
  205. package/dist/events/examples/user.handlers.js +0 -157
  206. package/dist/events/examples/user.handlers.js.map +0 -1
  207. package/dist/events/middleware/logging.middleware.d.ts +0 -7
  208. package/dist/events/middleware/logging.middleware.js +0 -44
  209. package/dist/events/middleware/logging.middleware.js.map +0 -1
  210. package/dist/events/middleware/metrics.middleware.d.ts +0 -11
  211. package/dist/events/middleware/metrics.middleware.js +0 -87
  212. package/dist/events/middleware/metrics.middleware.js.map +0 -1
  213. package/dist/events/middleware/validation.middleware.d.ts +0 -8
  214. package/dist/events/middleware/validation.middleware.js +0 -63
  215. package/dist/events/middleware/validation.middleware.js.map +0 -1
  216. package/dist/events/store/memory-event-store.d.ts +0 -21
  217. package/dist/events/store/memory-event-store.js +0 -81
  218. package/dist/events/store/memory-event-store.js.map +0 -1
  219. package/dist/events/types/event.types.d.ts +0 -57
  220. package/dist/events/types/event.types.js.map +0 -1
  221. package/dist/examples/basic-api.d.ts +0 -1
  222. package/dist/examples/basic-api.js +0 -120
  223. package/dist/examples/basic-api.js.map +0 -1
  224. package/dist/logging/core/log-context.service.d.ts +0 -11
  225. package/dist/logging/core/log-context.service.js +0 -40
  226. package/dist/logging/core/log-context.service.js.map +0 -1
  227. package/dist/logging/core/startup-logger.service.js.map +0 -1
  228. package/dist/logging/decorators/log.decorator.d.ts +0 -11
  229. package/dist/logging/decorators/log.decorator.js +0 -80
  230. package/dist/logging/decorators/log.decorator.js.map +0 -1
  231. package/dist/logging/middleware/context.middleware.d.ts +0 -2
  232. package/dist/logging/middleware/context.middleware.js +0 -29
  233. package/dist/logging/middleware/context.middleware.js.map +0 -1
  234. package/dist/logging/middleware/request-logging.middleware.d.ts +0 -3
  235. package/dist/logging/middleware/request-logging.middleware.js +0 -78
  236. package/dist/logging/middleware/request-logging.middleware.js.map +0 -1
  237. package/dist/logging/types/logging.types.d.ts +0 -79
  238. package/dist/logging/types/logging.types.js +0 -3
  239. package/dist/logging/types/logging.types.js.map +0 -1
  240. package/dist/middlewares/auth.middleware.d.ts +0 -2
  241. package/dist/middlewares/auth.middleware.js +0 -20
  242. package/dist/middlewares/auth.middleware.js.map +0 -1
  243. package/dist/middlewares/cors.middleware.d.ts +0 -2
  244. package/dist/middlewares/cors.middleware.js +0 -16
  245. package/dist/middlewares/cors.middleware.js.map +0 -1
  246. package/dist/middlewares/swagger.middleware.d.ts +0 -6
  247. package/dist/middlewares/swagger.middleware.js +0 -84
  248. package/dist/middlewares/swagger.middleware.js.map +0 -1
  249. package/dist/repositories/user.repository.d.ts +0 -16
  250. package/dist/repositories/user.repository.js +0 -110
  251. package/dist/repositories/user.repository.js.map +0 -1
  252. package/dist/schemas/user.schemas.d.ts +0 -214
  253. package/dist/schemas/user.schemas.js +0 -71
  254. package/dist/schemas/user.schemas.js.map +0 -1
  255. package/dist/services/config-demo.service.d.ts +0 -10
  256. package/dist/services/config-demo.service.js +0 -88
  257. package/dist/services/config-demo.service.js.map +0 -1
  258. package/dist/services/user.service.d.ts +0 -21
  259. package/dist/services/user.service.js +0 -201
  260. package/dist/services/user.service.js.map +0 -1
  261. /package/dist/events/{types/event.types.js → event.types.js} +0 -0
@@ -1,145 +0,0 @@
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
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.EventsController = void 0;
16
- const decorators_1 = require("../core/decorators");
17
- const events_1 = require("../events");
18
- let EventsController = class EventsController {
19
- constructor() {
20
- this.eventBus = events_1.EventBus.getInstance();
21
- this.registry = events_1.EventRegistry.getInstance();
22
- this.eventStore = new events_1.MemoryEventStore();
23
- }
24
- getEventMetrics() {
25
- return {
26
- busMetrics: this.eventBus.getMetrics(),
27
- registryStats: this.registry.getStatistics(),
28
- storeStats: this.eventStore.getStatistics()
29
- };
30
- }
31
- getEventTypes() {
32
- return {
33
- registeredTypes: this.registry.getRegisteredEventTypes(),
34
- totalTypes: this.registry.getRegisteredEventTypes().length
35
- };
36
- }
37
- getSubscriptions() {
38
- const subscriptions = this.registry.getAllSubscriptions();
39
- const result = {};
40
- for (const [eventType, subs] of subscriptions.entries()) {
41
- result[eventType] = subs.map(sub => ({
42
- id: sub.id,
43
- priority: sub.priority,
44
- active: sub.active,
45
- metadata: sub.metadata
46
- }));
47
- }
48
- return result;
49
- }
50
- getEventSystemHealth() {
51
- return {
52
- healthy: this.eventBus.isHealthy(),
53
- metrics: this.eventBus.getMetrics(),
54
- timestamp: new Date().toISOString()
55
- };
56
- }
57
- async emitEvent(eventData) {
58
- try {
59
- await this.eventBus.emit(eventData.type, eventData.data);
60
- return {
61
- success: true,
62
- message: `Event ${eventData.type} emitted successfully`,
63
- timestamp: new Date().toISOString()
64
- };
65
- }
66
- catch (error) {
67
- return {
68
- success: false,
69
- message: `Failed to emit event: ${error.message}`,
70
- timestamp: new Date().toISOString()
71
- };
72
- }
73
- }
74
- async getEventHistory(eventType, limit) {
75
- const events = await this.eventStore.getAllEvents(eventType);
76
- const limitNum = limit ? parseInt(limit, 10) : 50;
77
- return {
78
- events: events.slice(-limitNum).reverse(), // Most recent first
79
- total: events.length,
80
- filtered: !!eventType
81
- };
82
- }
83
- getEventStats() {
84
- return {
85
- system: {
86
- healthy: this.eventBus.isHealthy(),
87
- uptime: process.uptime()
88
- },
89
- registry: this.registry.getStatistics(),
90
- bus: this.eventBus.getMetrics(),
91
- store: this.eventStore.getStatistics()
92
- };
93
- }
94
- };
95
- exports.EventsController = EventsController;
96
- __decorate([
97
- (0, decorators_1.Get)('/metrics'),
98
- __metadata("design:type", Function),
99
- __metadata("design:paramtypes", []),
100
- __metadata("design:returntype", void 0)
101
- ], EventsController.prototype, "getEventMetrics", null);
102
- __decorate([
103
- (0, decorators_1.Get)('/types'),
104
- __metadata("design:type", Function),
105
- __metadata("design:paramtypes", []),
106
- __metadata("design:returntype", void 0)
107
- ], EventsController.prototype, "getEventTypes", null);
108
- __decorate([
109
- (0, decorators_1.Get)('/subscriptions'),
110
- __metadata("design:type", Function),
111
- __metadata("design:paramtypes", []),
112
- __metadata("design:returntype", void 0)
113
- ], EventsController.prototype, "getSubscriptions", null);
114
- __decorate([
115
- (0, decorators_1.Get)('/health'),
116
- __metadata("design:type", Function),
117
- __metadata("design:paramtypes", []),
118
- __metadata("design:returntype", void 0)
119
- ], EventsController.prototype, "getEventSystemHealth", null);
120
- __decorate([
121
- (0, decorators_1.Post)('/emit'),
122
- __param(0, (0, decorators_1.Body)()),
123
- __metadata("design:type", Function),
124
- __metadata("design:paramtypes", [Object]),
125
- __metadata("design:returntype", Promise)
126
- ], EventsController.prototype, "emitEvent", null);
127
- __decorate([
128
- (0, decorators_1.Get)('/history'),
129
- __param(0, (0, decorators_1.Query)('type')),
130
- __param(1, (0, decorators_1.Query)('limit')),
131
- __metadata("design:type", Function),
132
- __metadata("design:paramtypes", [String, String]),
133
- __metadata("design:returntype", Promise)
134
- ], EventsController.prototype, "getEventHistory", null);
135
- __decorate([
136
- (0, decorators_1.Get)('/stats'),
137
- __metadata("design:type", Function),
138
- __metadata("design:paramtypes", []),
139
- __metadata("design:returntype", void 0)
140
- ], EventsController.prototype, "getEventStats", null);
141
- exports.EventsController = EventsController = __decorate([
142
- (0, decorators_1.Controller)('/events'),
143
- __metadata("design:paramtypes", [])
144
- ], EventsController);
145
- //# sourceMappingURL=events.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.controller.js","sourceRoot":"","sources":["../../src/controllers/events.controller.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- export declare class HealthController {
2
- getRoutes(): {
3
- totalRoutes: number;
4
- routesByMethod: Record<string, number>;
5
- routesByController: Record<string, number>;
6
- } | {
7
- message: string;
8
- timestamp: string;
9
- };
10
- health(): {
11
- status: string;
12
- timestamp: string;
13
- uptime: number;
14
- memory: NodeJS.MemoryUsage;
15
- version: string;
16
- };
17
- ping(): {
18
- message: string;
19
- };
20
- }
@@ -1,92 +0,0 @@
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.HealthController = void 0;
13
- const decorators_1 = require("../core/decorators");
14
- const user_schemas_1 = require("../schemas/user.schemas");
15
- const router_1 = require("../core/router");
16
- const container_1 = require("../core/container");
17
- let HealthController = class HealthController {
18
- getRoutes() {
19
- // Get router instance from container (if available) or create summary
20
- try {
21
- const router = container_1.container.resolve(router_1.Router);
22
- return router.getRoutesSummary();
23
- }
24
- catch {
25
- return {
26
- message: 'Router information not available',
27
- timestamp: new Date().toISOString()
28
- };
29
- }
30
- }
31
- health() {
32
- return {
33
- status: 'OK',
34
- timestamp: new Date().toISOString(),
35
- uptime: process.uptime(),
36
- memory: process.memoryUsage(),
37
- version: process.version
38
- };
39
- }
40
- ping() {
41
- return { message: 'pong' };
42
- }
43
- };
44
- exports.HealthController = HealthController;
45
- __decorate([
46
- (0, decorators_1.Get)('/routes'),
47
- (0, decorators_1.ApiOperation)({
48
- summary: 'Get registered routes',
49
- description: 'Get a list of all registered routes in the application',
50
- operationId: 'getRoutes'
51
- }),
52
- __metadata("design:type", Function),
53
- __metadata("design:paramtypes", []),
54
- __metadata("design:returntype", void 0)
55
- ], HealthController.prototype, "getRoutes", null);
56
- __decorate([
57
- (0, decorators_1.Get)('/'),
58
- (0, decorators_1.ApiOperation)({
59
- summary: 'Health check',
60
- description: 'Get system health status and metrics',
61
- operationId: 'getHealth'
62
- }),
63
- (0, decorators_1.ValidateResponse)(user_schemas_1.healthResponseSchema),
64
- (0, decorators_1.ApiResponse)(200, {
65
- description: 'System health information',
66
- schema: user_schemas_1.healthResponseSchema
67
- }),
68
- __metadata("design:type", Function),
69
- __metadata("design:paramtypes", []),
70
- __metadata("design:returntype", void 0)
71
- ], HealthController.prototype, "health", null);
72
- __decorate([
73
- (0, decorators_1.Get)('/ping'),
74
- (0, decorators_1.ApiOperation)({
75
- summary: 'Ping endpoint',
76
- description: 'Simple ping endpoint for connectivity testing',
77
- operationId: 'ping'
78
- }),
79
- (0, decorators_1.ValidateResponse)(user_schemas_1.pingResponseSchema),
80
- (0, decorators_1.ApiResponse)(200, {
81
- description: 'Pong response',
82
- schema: user_schemas_1.pingResponseSchema
83
- }),
84
- __metadata("design:type", Function),
85
- __metadata("design:paramtypes", []),
86
- __metadata("design:returntype", void 0)
87
- ], HealthController.prototype, "ping", null);
88
- exports.HealthController = HealthController = __decorate([
89
- (0, decorators_1.Controller)('/health'),
90
- (0, decorators_1.ApiTags)('Health', 'System Health')
91
- ], HealthController);
92
- //# sourceMappingURL=health.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.controller.js","sourceRoot":"","sources":["../../src/controllers/health.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA2G;AAC3G,0DAAmF;AACnF,2CAAwC;AACxC,iDAA8C;AAIvC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAO3B,SAAS;QACP,sEAAsE;QACtE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,qBAAS,CAAC,OAAO,CAAC,eAAM,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,OAAO,EAAE,kCAAkC;gBAC3C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAaD,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;YACxB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;YAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;IAaD,IAAI;QACF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;CACF,CAAA;AAvDY,4CAAgB;AAO3B;IANC,IAAA,gBAAG,EAAC,SAAS,CAAC;IACd,IAAA,yBAAY,EAAC;QACZ,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,WAAW;KACzB,CAAC;;;;iDAYD;AAaD;IAXC,IAAA,gBAAG,EAAC,GAAG,CAAC;IACR,IAAA,yBAAY,EAAC;QACZ,OAAO,EAAE,cAAc;QACvB,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE,WAAW;KACzB,CAAC;IACD,IAAA,6BAAgB,EAAC,mCAAoB,CAAC;IACtC,IAAA,wBAAW,EAAC,GAAG,EAAE;QAChB,WAAW,EAAE,2BAA2B;QACxC,MAAM,EAAE,mCAAoB;KAC7B,CAAC;;;;8CASD;AAaD;IAXC,IAAA,gBAAG,EAAC,OAAO,CAAC;IACZ,IAAA,yBAAY,EAAC;QACZ,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,MAAM;KACpB,CAAC;IACD,IAAA,6BAAgB,EAAC,iCAAkB,CAAC;IACpC,IAAA,wBAAW,EAAC,GAAG,EAAE;QAChB,WAAW,EAAE,eAAe;QAC5B,MAAM,EAAE,iCAAkB;KAC3B,CAAC;;;;4CAGD;2BAtDU,gBAAgB;IAF5B,IAAA,uBAAU,EAAC,SAAS,CAAC;IACrB,IAAA,oBAAO,EAAC,QAAQ,EAAE,eAAe,CAAC;GACtB,gBAAgB,CAuD5B"}
@@ -1,13 +0,0 @@
1
- import { UserService, CreateUserDto, UpdateUserDto } from '../services/user.service';
2
- export declare class UserController {
3
- private userService;
4
- constructor(userService: UserService);
5
- getAllUsers(limit?: string): import("../repositories/user.repository").User[];
6
- getUserById(id: string): import("../repositories/user.repository").User;
7
- getUserByEmail(email: string): import("../repositories/user.repository").User;
8
- createUser(userData: CreateUserDto): Promise<import("../repositories/user.repository").User>;
9
- updateUser(id: string, userData: UpdateUserDto): Promise<import("../repositories/user.repository").User>;
10
- deleteUser(id: string): Promise<{
11
- message: string;
12
- }>;
13
- }
@@ -1,209 +0,0 @@
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
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.UserController = void 0;
16
- const decorators_1 = require("../core/decorators");
17
- const user_service_1 = require("../services/user.service");
18
- const auth_middleware_1 = require("../middlewares/auth.middleware");
19
- const user_schemas_1 = require("../schemas/user.schemas");
20
- let UserController = class UserController {
21
- constructor(userService) {
22
- this.userService = userService;
23
- }
24
- getAllUsers(limit) {
25
- const users = this.userService.getAllUsers();
26
- if (limit) {
27
- const limitNum = parseInt(limit, 10);
28
- return users.slice(0, limitNum);
29
- }
30
- return users;
31
- }
32
- getUserById(id) {
33
- return this.userService.getUserById(id);
34
- }
35
- getUserByEmail(email) {
36
- return this.userService.getUserByEmail(email);
37
- }
38
- async createUser(userData) {
39
- return await this.userService.createUser(userData);
40
- }
41
- async updateUser(id, userData) {
42
- return await this.userService.updateUser(id, userData);
43
- }
44
- async deleteUser(id) {
45
- await this.userService.deleteUser(id);
46
- return { message: 'User deleted successfully' };
47
- }
48
- };
49
- exports.UserController = UserController;
50
- __decorate([
51
- (0, decorators_1.Get)('/'),
52
- (0, decorators_1.ApiOperation)({
53
- summary: 'Get all users',
54
- description: 'Retrieve a list of all users with optional pagination',
55
- operationId: 'getAllUsers'
56
- }),
57
- (0, decorators_1.ValidateQuery)(user_schemas_1.paginationSchema),
58
- (0, decorators_1.ValidateResponse)(user_schemas_1.usersListResponseSchema),
59
- (0, decorators_1.ApiResponse)(200, {
60
- description: 'List of users retrieved successfully',
61
- schema: user_schemas_1.usersListResponseSchema
62
- }),
63
- __param(0, (0, decorators_1.Query)('limit')),
64
- __metadata("design:type", Function),
65
- __metadata("design:paramtypes", [String]),
66
- __metadata("design:returntype", void 0)
67
- ], UserController.prototype, "getAllUsers", null);
68
- __decorate([
69
- (0, decorators_1.Get)('/:id'),
70
- (0, decorators_1.ApiOperation)({
71
- summary: 'Get user by ID',
72
- description: 'Retrieve a specific user by their unique identifier',
73
- operationId: 'getUserById'
74
- }),
75
- (0, decorators_1.ValidateParams)(user_schemas_1.userParamsSchema),
76
- (0, decorators_1.ValidateResponse)(user_schemas_1.userResponseSchema),
77
- (0, decorators_1.ApiResponse)(200, {
78
- description: 'User found successfully',
79
- schema: user_schemas_1.userResponseSchema
80
- }),
81
- (0, decorators_1.ApiResponse)(404, {
82
- description: 'User not found',
83
- schema: user_schemas_1.errorResponseSchema
84
- }),
85
- __param(0, (0, decorators_1.Param)('id')),
86
- __metadata("design:type", Function),
87
- __metadata("design:paramtypes", [String]),
88
- __metadata("design:returntype", void 0)
89
- ], UserController.prototype, "getUserById", null);
90
- __decorate([
91
- (0, decorators_1.Get)('/email/:email'),
92
- (0, decorators_1.ApiOperation)({
93
- summary: 'Get user by email',
94
- description: 'Retrieve a specific user by their email address',
95
- operationId: 'getUserByEmail'
96
- }),
97
- (0, decorators_1.ValidateParams)(user_schemas_1.emailParamsSchema),
98
- (0, decorators_1.ValidateResponse)(user_schemas_1.userResponseSchema),
99
- (0, decorators_1.ApiResponse)(200, {
100
- description: 'User found successfully',
101
- schema: user_schemas_1.userResponseSchema
102
- }),
103
- (0, decorators_1.ApiResponse)(404, {
104
- description: 'User not found',
105
- schema: user_schemas_1.errorResponseSchema
106
- }),
107
- __param(0, (0, decorators_1.Param)('email')),
108
- __metadata("design:type", Function),
109
- __metadata("design:paramtypes", [String]),
110
- __metadata("design:returntype", void 0)
111
- ], UserController.prototype, "getUserByEmail", null);
112
- __decorate([
113
- (0, decorators_1.Post)('/'),
114
- (0, decorators_1.ApiOperation)({
115
- summary: 'Create new user',
116
- description: 'Create a new user account with email and name validation',
117
- operationId: 'createUser'
118
- }),
119
- (0, decorators_1.ValidateBody)(user_schemas_1.createUserSchema),
120
- (0, decorators_1.ValidateResponse)(user_schemas_1.createUserResponseSchema),
121
- (0, decorators_1.ApiResponse)(201, {
122
- description: 'User created successfully',
123
- schema: user_schemas_1.createUserResponseSchema
124
- }),
125
- (0, decorators_1.ApiResponse)(409, {
126
- description: 'Email already exists',
127
- schema: user_schemas_1.errorResponseSchema
128
- }),
129
- __param(0, (0, decorators_1.Body)()),
130
- __metadata("design:type", Function),
131
- __metadata("design:paramtypes", [Object]),
132
- __metadata("design:returntype", Promise)
133
- ], UserController.prototype, "createUser", null);
134
- __decorate([
135
- (0, decorators_1.Put)('/:id'),
136
- (0, decorators_1.UseMiddleware)(auth_middleware_1.authMiddleware),
137
- (0, decorators_1.ApiOperation)({
138
- summary: 'Update user',
139
- description: 'Update an existing user\'s information',
140
- operationId: 'updateUser'
141
- }),
142
- (0, decorators_1.ApiSecurity)([{ bearerAuth: [] }]),
143
- (0, decorators_1.ValidateParams)(user_schemas_1.userParamsSchema),
144
- (0, decorators_1.ValidateBody)(user_schemas_1.updateUserSchema),
145
- (0, decorators_1.ValidateResponse)(user_schemas_1.updateUserResponseSchema),
146
- (0, decorators_1.ApiResponse)(200, {
147
- description: 'User updated successfully',
148
- schema: user_schemas_1.updateUserResponseSchema
149
- }),
150
- (0, decorators_1.ApiResponse)(401, {
151
- description: 'Unauthorized - Invalid or missing token',
152
- schema: user_schemas_1.errorResponseSchema
153
- }),
154
- (0, decorators_1.ApiResponse)(404, {
155
- description: 'User not found',
156
- schema: user_schemas_1.errorResponseSchema
157
- }),
158
- (0, decorators_1.ApiResponse)(409, {
159
- description: 'Email already exists',
160
- schema: user_schemas_1.errorResponseSchema
161
- }),
162
- __param(0, (0, decorators_1.Param)('id')),
163
- __param(1, (0, decorators_1.Body)()),
164
- __metadata("design:type", Function),
165
- __metadata("design:paramtypes", [String, Object]),
166
- __metadata("design:returntype", Promise)
167
- ], UserController.prototype, "updateUser", null);
168
- __decorate([
169
- (0, decorators_1.Delete)('/:id'),
170
- (0, decorators_1.UseMiddleware)(auth_middleware_1.authMiddleware),
171
- (0, decorators_1.ApiOperation)({
172
- summary: 'Delete user',
173
- description: 'Delete a user account permanently',
174
- operationId: 'deleteUser'
175
- }),
176
- (0, decorators_1.ApiSecurity)([{ bearerAuth: [] }]),
177
- (0, decorators_1.ValidateParams)(user_schemas_1.userParamsSchema),
178
- (0, decorators_1.ValidateResponse)(user_schemas_1.deleteUserResponseSchema),
179
- (0, decorators_1.ApiResponse)(200, {
180
- description: 'User deleted successfully',
181
- schema: user_schemas_1.deleteUserResponseSchema
182
- }),
183
- (0, decorators_1.ApiResponse)(401, {
184
- description: 'Unauthorized - Invalid or missing token',
185
- schema: user_schemas_1.errorResponseSchema
186
- }),
187
- (0, decorators_1.ApiResponse)(404, {
188
- description: 'User not found',
189
- schema: user_schemas_1.errorResponseSchema
190
- }),
191
- __param(0, (0, decorators_1.Param)('id')),
192
- __metadata("design:type", Function),
193
- __metadata("design:paramtypes", [String]),
194
- __metadata("design:returntype", Promise)
195
- ], UserController.prototype, "deleteUser", null);
196
- exports.UserController = UserController = __decorate([
197
- (0, decorators_1.Controller)('/users'),
198
- (0, decorators_1.ApiTags)('Users', 'User Management'),
199
- (0, decorators_1.ApiResponse)(400, {
200
- description: 'Validation error',
201
- schema: user_schemas_1.validationErrorResponseSchema
202
- }),
203
- (0, decorators_1.ApiResponse)(500, {
204
- description: 'Internal server error',
205
- schema: user_schemas_1.errorResponseSchema
206
- }),
207
- __metadata("design:paramtypes", [user_service_1.UserService])
208
- ], UserController);
209
- //# sourceMappingURL=user.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/controllers/user.controller.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { Server } from 'http';
2
- import { Middleware } from './middleware';
3
- export interface ApplicationConfig {
4
- controllers: any[];
5
- middlewares?: Middleware[];
6
- port?: number;
7
- hostname?: string;
8
- }
9
- export declare class Application {
10
- private server;
11
- private router;
12
- private globalMiddleware;
13
- private config;
14
- private logger?;
15
- private startupLogger?;
16
- constructor(config: ApplicationConfig);
17
- private handleRequest;
18
- start(): Promise<void>;
19
- stop(): Promise<void>;
20
- getServer(): Server;
21
- }
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Application = void 0;
4
- const http_1 = require("http");
5
- const router_1 = require("./router");
6
- const middleware_1 = require("./middleware");
7
- const errors_1 = require("./errors");
8
- const logging_1 = require("../logging");
9
- class Application {
10
- constructor(config) {
11
- this.config = {
12
- port: 3000,
13
- hostname: 'localhost',
14
- ...config
15
- };
16
- // Initialize logging if available
17
- try {
18
- this.logger = logging_1.LoggerService.getInstance();
19
- this.startupLogger = logging_1.StartupLoggerService.getInstance(this.logger);
20
- this.startupLogger.logComponentStart('Application', {
21
- port: this.config.port,
22
- hostname: this.config.hostname,
23
- controllers: config.controllers.length,
24
- middlewares: config.middlewares?.length || 0
25
- });
26
- }
27
- catch (error) {
28
- // Logging not configured yet, continue without it
29
- }
30
- this.router = new router_1.Router();
31
- this.globalMiddleware = new middleware_1.MiddlewareStack();
32
- // Register global middlewares
33
- if (config.middlewares) {
34
- config.middlewares.forEach(middleware => {
35
- this.globalMiddleware.use(middleware);
36
- });
37
- }
38
- // Register controllers
39
- this.router.registerControllers(config.controllers);
40
- if (this.startupLogger) {
41
- this.startupLogger.logComponentComplete('Router', {
42
- routesRegistered: this.router.getRouteCount()
43
- });
44
- }
45
- // Create server
46
- this.server = (0, http_1.createServer)(this.handleRequest.bind(this));
47
- if (this.startupLogger) {
48
- this.startupLogger.logComponentComplete('HTTP Server');
49
- }
50
- }
51
- async handleRequest(req, res) {
52
- try {
53
- // Execute global middlewares
54
- await this.globalMiddleware.execute(req, res);
55
- // Handle route
56
- await this.router.handleRequest(req, res);
57
- }
58
- catch (error) {
59
- (0, errors_1.errorHandler)(error, res);
60
- }
61
- }
62
- start() {
63
- return new Promise((resolve) => {
64
- this.server.listen(this.config.port, this.config.hostname, () => {
65
- if (this.logger && this.startupLogger) {
66
- this.startupLogger.logComponentComplete('Application');
67
- this.startupLogger.logStartupComplete();
68
- }
69
- console.log(`🚀 Server running at http://${this.config.hostname}:${this.config.port}`);
70
- resolve();
71
- });
72
- });
73
- }
74
- stop() {
75
- return new Promise((resolve) => {
76
- this.server.close(() => {
77
- if (this.logger) {
78
- this.logger.info('Server stopped gracefully');
79
- }
80
- console.log('🛑 Server stopped');
81
- resolve();
82
- });
83
- });
84
- }
85
- getServer() {
86
- return this.server;
87
- }
88
- }
89
- exports.Application = Application;
90
- //# sourceMappingURL=application.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import 'reflect-metadata';
2
- export declare function Config(prefix?: string): ClassDecorator;
3
- export declare function getConfigInstance<T>(configClass: new () => T): T;