@zintrust/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/bin/z.d.ts +7 -0
  2. package/bin/z.d.ts.map +1 -0
  3. package/bin/z.js +6 -0
  4. package/bin/zin.d.ts +7 -0
  5. package/bin/zin.d.ts.map +1 -0
  6. package/bin/zin.js +6 -0
  7. package/bin/zintrust-microservices.d.ts +7 -0
  8. package/bin/zintrust-microservices.d.ts.map +1 -0
  9. package/bin/zintrust-microservices.js +165 -0
  10. package/bin/zintrust.d.ts +9 -0
  11. package/bin/zintrust.d.ts.map +1 -0
  12. package/bin/zintrust.js +51 -0
  13. package/bin/zt.d.ts +7 -0
  14. package/bin/zt.d.ts.map +1 -0
  15. package/bin/zt.js +6 -0
  16. package/package.json +80 -0
  17. package/src/boot/Application.d.ts +31 -0
  18. package/src/boot/Application.d.ts.map +1 -0
  19. package/src/boot/Application.js +159 -0
  20. package/src/boot/Server.d.ts +23 -0
  21. package/src/boot/Server.d.ts.map +1 -0
  22. package/src/boot/Server.js +236 -0
  23. package/src/boot/bootstrap.d.ts +7 -0
  24. package/src/boot/bootstrap.d.ts.map +1 -0
  25. package/src/boot/bootstrap.js +64 -0
  26. package/src/builder/BundleOptimizer.d.ts +42 -0
  27. package/src/builder/BundleOptimizer.d.ts.map +1 -0
  28. package/src/builder/BundleOptimizer.js +356 -0
  29. package/src/cache/Cache.d.ts +26 -0
  30. package/src/cache/Cache.d.ts.map +1 -0
  31. package/src/cache/Cache.js +89 -0
  32. package/src/cache/CacheDriver.d.ts +28 -0
  33. package/src/cache/CacheDriver.d.ts.map +1 -0
  34. package/src/cache/CacheDriver.js +6 -0
  35. package/src/cache/drivers/KVDriver.d.ts +12 -0
  36. package/src/cache/drivers/KVDriver.d.ts.map +1 -0
  37. package/src/cache/drivers/KVDriver.js +54 -0
  38. package/src/cache/drivers/MemoryDriver.d.ts +12 -0
  39. package/src/cache/drivers/MemoryDriver.d.ts.map +1 -0
  40. package/src/cache/drivers/MemoryDriver.js +50 -0
  41. package/src/cache/drivers/MongoDriver.d.ts +17 -0
  42. package/src/cache/drivers/MongoDriver.d.ts.map +1 -0
  43. package/src/cache/drivers/MongoDriver.js +80 -0
  44. package/src/cache/drivers/RedisDriver.d.ts +12 -0
  45. package/src/cache/drivers/RedisDriver.d.ts.map +1 -0
  46. package/src/cache/drivers/RedisDriver.js +79 -0
  47. package/src/cli/BaseCommand.d.ts +39 -0
  48. package/src/cli/BaseCommand.d.ts.map +1 -0
  49. package/src/cli/BaseCommand.js +58 -0
  50. package/src/cli/CLI.d.ts +21 -0
  51. package/src/cli/CLI.d.ts.map +1 -0
  52. package/src/cli/CLI.js +203 -0
  53. package/src/cli/ErrorHandler.d.ts +23 -0
  54. package/src/cli/ErrorHandler.d.ts.map +1 -0
  55. package/src/cli/ErrorHandler.js +95 -0
  56. package/src/cli/PromptHelper.d.ts +47 -0
  57. package/src/cli/PromptHelper.d.ts.map +1 -0
  58. package/src/cli/PromptHelper.js +155 -0
  59. package/src/cli/commands/AddCommand.d.ts +15 -0
  60. package/src/cli/commands/AddCommand.d.ts.map +1 -0
  61. package/src/cli/commands/AddCommand.js +817 -0
  62. package/src/cli/commands/ConfigCommand.d.ts +15 -0
  63. package/src/cli/commands/ConfigCommand.d.ts.map +1 -0
  64. package/src/cli/commands/ConfigCommand.js +273 -0
  65. package/src/cli/commands/D1MigrateCommand.d.ts +15 -0
  66. package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -0
  67. package/src/cli/commands/D1MigrateCommand.js +73 -0
  68. package/src/cli/commands/DebugCommand.d.ts +15 -0
  69. package/src/cli/commands/DebugCommand.d.ts.map +1 -0
  70. package/src/cli/commands/DebugCommand.js +52 -0
  71. package/src/cli/commands/FixCommand.d.ts +15 -0
  72. package/src/cli/commands/FixCommand.d.ts.map +1 -0
  73. package/src/cli/commands/FixCommand.js +80 -0
  74. package/src/cli/commands/KeyGenerateCommand.d.ts +9 -0
  75. package/src/cli/commands/KeyGenerateCommand.d.ts.map +1 -0
  76. package/src/cli/commands/KeyGenerateCommand.js +76 -0
  77. package/src/cli/commands/LogsCommand.d.ts +19 -0
  78. package/src/cli/commands/LogsCommand.d.ts.map +1 -0
  79. package/src/cli/commands/LogsCommand.js +185 -0
  80. package/src/cli/commands/MigrateCommand.d.ts +15 -0
  81. package/src/cli/commands/MigrateCommand.d.ts.map +1 -0
  82. package/src/cli/commands/MigrateCommand.js +56 -0
  83. package/src/cli/commands/NewCommand.d.ts +32 -0
  84. package/src/cli/commands/NewCommand.d.ts.map +1 -0
  85. package/src/cli/commands/NewCommand.js +280 -0
  86. package/src/cli/commands/PluginCommand.d.ts +9 -0
  87. package/src/cli/commands/PluginCommand.d.ts.map +1 -0
  88. package/src/cli/commands/PluginCommand.js +94 -0
  89. package/src/cli/commands/PrepareCommand.d.ts +8 -0
  90. package/src/cli/commands/PrepareCommand.d.ts.map +1 -0
  91. package/src/cli/commands/PrepareCommand.js +51 -0
  92. package/src/cli/commands/QACommand.d.ts +33 -0
  93. package/src/cli/commands/QACommand.d.ts.map +1 -0
  94. package/src/cli/commands/QACommand.js +490 -0
  95. package/src/cli/commands/SimulateCommand.d.ts +12 -0
  96. package/src/cli/commands/SimulateCommand.d.ts.map +1 -0
  97. package/src/cli/commands/SimulateCommand.js +79 -0
  98. package/src/cli/commands/StartCommand.d.ts +5 -0
  99. package/src/cli/commands/StartCommand.d.ts.map +1 -0
  100. package/src/cli/commands/StartCommand.js +227 -0
  101. package/src/cli/commands/index.d.ts +11 -0
  102. package/src/cli/commands/index.d.ts.map +1 -0
  103. package/src/cli/commands/index.js +10 -0
  104. package/src/cli/config/ConfigManager.d.ts +42 -0
  105. package/src/cli/config/ConfigManager.d.ts.map +1 -0
  106. package/src/cli/config/ConfigManager.js +175 -0
  107. package/src/cli/config/ConfigSchema.d.ts +195 -0
  108. package/src/cli/config/ConfigSchema.d.ts.map +1 -0
  109. package/src/cli/config/ConfigSchema.js +171 -0
  110. package/src/cli/config/ConfigValidator.d.ts +41 -0
  111. package/src/cli/config/ConfigValidator.d.ts.map +1 -0
  112. package/src/cli/config/ConfigValidator.js +200 -0
  113. package/src/cli/config/index.d.ts +8 -0
  114. package/src/cli/config/index.d.ts.map +1 -0
  115. package/src/cli/config/index.js +7 -0
  116. package/src/cli/debug/Dashboard.d.ts +34 -0
  117. package/src/cli/debug/Dashboard.d.ts.map +1 -0
  118. package/src/cli/debug/Dashboard.js +152 -0
  119. package/src/cli/index.d.ts +14 -0
  120. package/src/cli/index.d.ts.map +1 -0
  121. package/src/cli/index.js +14 -0
  122. package/src/cli/logger/Logger.d.ts +43 -0
  123. package/src/cli/logger/Logger.d.ts.map +1 -0
  124. package/src/cli/logger/Logger.js +137 -0
  125. package/src/cli/scaffolding/ControllerGenerator.d.ts +44 -0
  126. package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -0
  127. package/src/cli/scaffolding/ControllerGenerator.js +540 -0
  128. package/src/cli/scaffolding/FactoryGenerator.d.ts +47 -0
  129. package/src/cli/scaffolding/FactoryGenerator.d.ts.map +1 -0
  130. package/src/cli/scaffolding/FactoryGenerator.js +356 -0
  131. package/src/cli/scaffolding/FeatureScaffolder.d.ts +40 -0
  132. package/src/cli/scaffolding/FeatureScaffolder.d.ts.map +1 -0
  133. package/src/cli/scaffolding/FeatureScaffolder.js +747 -0
  134. package/src/cli/scaffolding/FileGenerator.d.ts +31 -0
  135. package/src/cli/scaffolding/FileGenerator.d.ts.map +1 -0
  136. package/src/cli/scaffolding/FileGenerator.js +222 -0
  137. package/src/cli/scaffolding/MigrationGenerator.d.ts +35 -0
  138. package/src/cli/scaffolding/MigrationGenerator.d.ts.map +1 -0
  139. package/src/cli/scaffolding/MigrationGenerator.js +257 -0
  140. package/src/cli/scaffolding/ModelGenerator.d.ts +81 -0
  141. package/src/cli/scaffolding/ModelGenerator.d.ts.map +1 -0
  142. package/src/cli/scaffolding/ModelGenerator.js +249 -0
  143. package/src/cli/scaffolding/ProjectScaffolder.d.ts +66 -0
  144. package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -0
  145. package/src/cli/scaffolding/ProjectScaffolder.js +439 -0
  146. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts +50 -0
  147. package/src/cli/scaffolding/RequestFactoryGenerator.d.ts.map +1 -0
  148. package/src/cli/scaffolding/RequestFactoryGenerator.js +465 -0
  149. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts +43 -0
  150. package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts.map +1 -0
  151. package/src/cli/scaffolding/ResponseFactoryGenerator.js +321 -0
  152. package/src/cli/scaffolding/RouteGenerator.d.ts +66 -0
  153. package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -0
  154. package/src/cli/scaffolding/RouteGenerator.js +306 -0
  155. package/src/cli/scaffolding/SeederGenerator.d.ts +47 -0
  156. package/src/cli/scaffolding/SeederGenerator.d.ts.map +1 -0
  157. package/src/cli/scaffolding/SeederGenerator.js +286 -0
  158. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts +40 -0
  159. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts.map +1 -0
  160. package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +267 -0
  161. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts +45 -0
  162. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts.map +1 -0
  163. package/src/cli/scaffolding/ServiceRequestFactoryGenerator.js +397 -0
  164. package/src/cli/scaffolding/ServiceScaffolder.d.ts +45 -0
  165. package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -0
  166. package/src/cli/scaffolding/ServiceScaffolder.js +367 -0
  167. package/src/cli/scaffolding/TemplateEngine.d.ts +35 -0
  168. package/src/cli/scaffolding/TemplateEngine.d.ts.map +1 -0
  169. package/src/cli/scaffolding/TemplateEngine.js +379 -0
  170. package/src/cli/scaffolding/WorkflowGenerator.d.ts +31 -0
  171. package/src/cli/scaffolding/WorkflowGenerator.d.ts.map +1 -0
  172. package/src/cli/scaffolding/WorkflowGenerator.js +193 -0
  173. package/src/cli/scaffolding/index.d.ts +34 -0
  174. package/src/cli/scaffolding/index.d.ts.map +1 -0
  175. package/src/cli/scaffolding/index.js +18 -0
  176. package/src/cli/utils/DistPackager.d.ts +8 -0
  177. package/src/cli/utils/DistPackager.d.ts.map +1 -0
  178. package/src/cli/utils/DistPackager.js +94 -0
  179. package/src/cli/utils/EnvFileLoader.d.ts +21 -0
  180. package/src/cli/utils/EnvFileLoader.d.ts.map +1 -0
  181. package/src/cli/utils/EnvFileLoader.js +166 -0
  182. package/src/cli/utils/spawn.d.ts +11 -0
  183. package/src/cli/utils/spawn.d.ts.map +1 -0
  184. package/src/cli/utils/spawn.js +81 -0
  185. package/src/common/index.d.ts +87 -0
  186. package/src/common/index.d.ts.map +1 -0
  187. package/src/common/index.js +207 -0
  188. package/src/config/SecretsManager.d.ts +122 -0
  189. package/src/config/SecretsManager.d.ts.map +1 -0
  190. package/src/config/SecretsManager.js +328 -0
  191. package/src/config/app.d.ts +56 -0
  192. package/src/config/app.d.ts.map +1 -0
  193. package/src/config/app.js +77 -0
  194. package/src/config/cache.d.ts +76 -0
  195. package/src/config/cache.d.ts.map +1 -0
  196. package/src/config/cache.js +62 -0
  197. package/src/config/constants.d.ts +108 -0
  198. package/src/config/constants.d.ts.map +1 -0
  199. package/src/config/constants.js +64 -0
  200. package/src/config/database.d.ts +122 -0
  201. package/src/config/database.d.ts.map +1 -0
  202. package/src/config/database.js +89 -0
  203. package/src/config/env.d.ts +56 -0
  204. package/src/config/env.d.ts.map +1 -0
  205. package/src/config/env.js +133 -0
  206. package/src/config/features.d.ts +27 -0
  207. package/src/config/features.d.ts.map +1 -0
  208. package/src/config/features.js +49 -0
  209. package/src/config/index.d.ts +554 -0
  210. package/src/config/index.d.ts.map +1 -0
  211. package/src/config/index.js +31 -0
  212. package/src/config/logger.d.ts +17 -0
  213. package/src/config/logger.d.ts.map +1 -0
  214. package/src/config/logger.js +77 -0
  215. package/src/config/microservices.d.ts +88 -0
  216. package/src/config/microservices.d.ts.map +1 -0
  217. package/src/config/microservices.js +90 -0
  218. package/src/config/queue.d.ts +107 -0
  219. package/src/config/queue.d.ts.map +1 -0
  220. package/src/config/queue.js +74 -0
  221. package/src/config/security.d.ts +108 -0
  222. package/src/config/security.d.ts.map +1 -0
  223. package/src/config/security.js +134 -0
  224. package/src/config/storage.d.ts +105 -0
  225. package/src/config/storage.d.ts.map +1 -0
  226. package/src/config/storage.js +79 -0
  227. package/src/container/ServiceContainer.d.ts +25 -0
  228. package/src/container/ServiceContainer.d.ts.map +1 -0
  229. package/src/container/ServiceContainer.js +75 -0
  230. package/src/database/migrations/index.d.ts +2 -0
  231. package/src/database/migrations/index.d.ts.map +1 -0
  232. package/src/database/migrations/index.js +1 -0
  233. package/src/exceptions/ZintrustError.d.ts +88 -0
  234. package/src/exceptions/ZintrustError.d.ts.map +1 -0
  235. package/src/exceptions/ZintrustError.js +110 -0
  236. package/src/features/Auth.d.ts +20 -0
  237. package/src/features/Auth.d.ts.map +1 -0
  238. package/src/features/Auth.js +32 -0
  239. package/src/features/Queue.d.ts +21 -0
  240. package/src/features/Queue.d.ts.map +1 -0
  241. package/src/features/Queue.js +59 -0
  242. package/src/functions/cloudflare.d.ts +5 -0
  243. package/src/functions/cloudflare.d.ts.map +1 -0
  244. package/src/functions/cloudflare.js +34 -0
  245. package/src/functions/deno.d.ts +3 -0
  246. package/src/functions/deno.d.ts.map +1 -0
  247. package/src/functions/deno.js +31 -0
  248. package/src/functions/lambda.d.ts +2 -0
  249. package/src/functions/lambda.d.ts.map +1 -0
  250. package/src/functions/lambda.js +32 -0
  251. package/src/http/Controller.d.ts +20 -0
  252. package/src/http/Controller.d.ts.map +1 -0
  253. package/src/http/Controller.js +46 -0
  254. package/src/http/Kernel.d.ts +24 -0
  255. package/src/http/Kernel.d.ts.map +1 -0
  256. package/src/http/Kernel.js +72 -0
  257. package/src/http/Request.d.ts +36 -0
  258. package/src/http/Request.d.ts.map +1 -0
  259. package/src/http/Request.js +142 -0
  260. package/src/http/Response.d.ts +32 -0
  261. package/src/http/Response.d.ts.map +1 -0
  262. package/src/http/Response.js +70 -0
  263. package/src/index.d.ts +43 -0
  264. package/src/index.d.ts.map +1 -0
  265. package/src/index.js +37 -0
  266. package/src/microservices/MicroserviceBootstrap.d.ts +75 -0
  267. package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -0
  268. package/src/microservices/MicroserviceBootstrap.js +285 -0
  269. package/src/microservices/MicroserviceGenerator.d.ts +27 -0
  270. package/src/microservices/MicroserviceGenerator.d.ts.map +1 -0
  271. package/src/microservices/MicroserviceGenerator.js +436 -0
  272. package/src/microservices/MicroserviceManager.d.ts +68 -0
  273. package/src/microservices/MicroserviceManager.d.ts.map +1 -0
  274. package/src/microservices/MicroserviceManager.js +266 -0
  275. package/src/microservices/PostgresAdapter.d.ts +90 -0
  276. package/src/microservices/PostgresAdapter.d.ts.map +1 -0
  277. package/src/microservices/PostgresAdapter.js +286 -0
  278. package/src/microservices/RequestTracingMiddleware.d.ts +41 -0
  279. package/src/microservices/RequestTracingMiddleware.d.ts.map +1 -0
  280. package/src/microservices/RequestTracingMiddleware.js +122 -0
  281. package/src/microservices/ServiceAuthMiddleware.d.ts +58 -0
  282. package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -0
  283. package/src/microservices/ServiceAuthMiddleware.js +240 -0
  284. package/src/microservices/ServiceBundler.d.ts +45 -0
  285. package/src/microservices/ServiceBundler.d.ts.map +1 -0
  286. package/src/microservices/ServiceBundler.js +297 -0
  287. package/src/microservices/ServiceHealthMonitor.d.ts +96 -0
  288. package/src/microservices/ServiceHealthMonitor.d.ts.map +1 -0
  289. package/src/microservices/ServiceHealthMonitor.js +379 -0
  290. package/src/middleware/CsrfMiddleware.d.ts +19 -0
  291. package/src/middleware/CsrfMiddleware.d.ts.map +1 -0
  292. package/src/middleware/CsrfMiddleware.js +121 -0
  293. package/src/middleware/MiddlewareStack.d.ts +27 -0
  294. package/src/middleware/MiddlewareStack.d.ts.map +1 -0
  295. package/src/middleware/MiddlewareStack.js +43 -0
  296. package/src/middleware/RateLimiter.d.ts +22 -0
  297. package/src/middleware/RateLimiter.d.ts.map +1 -0
  298. package/src/middleware/RateLimiter.js +72 -0
  299. package/src/middleware/SecurityMiddleware.d.ts +33 -0
  300. package/src/middleware/SecurityMiddleware.d.ts.map +1 -0
  301. package/src/middleware/SecurityMiddleware.js +106 -0
  302. package/src/middleware/index.d.ts +9 -0
  303. package/src/middleware/index.d.ts.map +1 -0
  304. package/src/middleware/index.js +8 -0
  305. package/src/node-singletons/child-process.d.ts +7 -0
  306. package/src/node-singletons/child-process.d.ts.map +1 -0
  307. package/src/node-singletons/child-process.js +6 -0
  308. package/src/node-singletons/crypto.d.ts +7 -0
  309. package/src/node-singletons/crypto.d.ts.map +1 -0
  310. package/src/node-singletons/crypto.js +6 -0
  311. package/src/node-singletons/events.d.ts +7 -0
  312. package/src/node-singletons/events.d.ts.map +1 -0
  313. package/src/node-singletons/events.js +6 -0
  314. package/src/node-singletons/fs.d.ts +12 -0
  315. package/src/node-singletons/fs.d.ts.map +1 -0
  316. package/src/node-singletons/fs.js +14 -0
  317. package/src/node-singletons/http.d.ts +8 -0
  318. package/src/node-singletons/http.d.ts.map +1 -0
  319. package/src/node-singletons/http.js +6 -0
  320. package/src/node-singletons/index.d.ts +30 -0
  321. package/src/node-singletons/index.d.ts.map +1 -0
  322. package/src/node-singletons/index.js +31 -0
  323. package/src/node-singletons/os.d.ts +9 -0
  324. package/src/node-singletons/os.d.ts.map +1 -0
  325. package/src/node-singletons/os.js +9 -0
  326. package/src/node-singletons/path.d.ts +7 -0
  327. package/src/node-singletons/path.d.ts.map +1 -0
  328. package/src/node-singletons/path.js +6 -0
  329. package/src/node-singletons/perf-hooks.d.ts +7 -0
  330. package/src/node-singletons/perf-hooks.d.ts.map +1 -0
  331. package/src/node-singletons/perf-hooks.js +6 -0
  332. package/src/node-singletons/readline.d.ts +10 -0
  333. package/src/node-singletons/readline.d.ts.map +1 -0
  334. package/src/node-singletons/readline.js +9 -0
  335. package/src/node-singletons/url.d.ts +7 -0
  336. package/src/node-singletons/url.d.ts.map +1 -0
  337. package/src/node-singletons/url.js +6 -0
  338. package/src/orm/ConnectionManager.d.ts +118 -0
  339. package/src/orm/ConnectionManager.d.ts.map +1 -0
  340. package/src/orm/ConnectionManager.js +401 -0
  341. package/src/orm/Database.d.ts +31 -0
  342. package/src/orm/Database.d.ts.map +1 -0
  343. package/src/orm/Database.js +163 -0
  344. package/src/orm/DatabaseAdapter.d.ts +96 -0
  345. package/src/orm/DatabaseAdapter.d.ts.map +1 -0
  346. package/src/orm/DatabaseAdapter.js +40 -0
  347. package/src/orm/Model.d.ts +91 -0
  348. package/src/orm/Model.d.ts.map +1 -0
  349. package/src/orm/Model.js +206 -0
  350. package/src/orm/QueryBuilder.d.ts +52 -0
  351. package/src/orm/QueryBuilder.d.ts.map +1 -0
  352. package/src/orm/QueryBuilder.js +134 -0
  353. package/src/orm/Relationships.d.ts +53 -0
  354. package/src/orm/Relationships.d.ts.map +1 -0
  355. package/src/orm/Relationships.js +98 -0
  356. package/src/orm/Schema.d.ts +123 -0
  357. package/src/orm/Schema.d.ts.map +1 -0
  358. package/src/orm/Schema.js +169 -0
  359. package/src/orm/adapters/D1Adapter.d.ts +15 -0
  360. package/src/orm/adapters/D1Adapter.d.ts.map +1 -0
  361. package/src/orm/adapters/D1Adapter.js +125 -0
  362. package/src/orm/adapters/MySQLAdapter.d.ts +16 -0
  363. package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -0
  364. package/src/orm/adapters/MySQLAdapter.js +87 -0
  365. package/src/orm/adapters/PostgreSQLAdapter.d.ts +16 -0
  366. package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  367. package/src/orm/adapters/PostgreSQLAdapter.js +87 -0
  368. package/src/orm/adapters/SQLServerAdapter.d.ts +16 -0
  369. package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -0
  370. package/src/orm/adapters/SQLServerAdapter.js +81 -0
  371. package/src/orm/adapters/SQLiteAdapter.d.ts +11 -0
  372. package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -0
  373. package/src/orm/adapters/SQLiteAdapter.js +131 -0
  374. package/src/performance/Benchmark.d.ts +87 -0
  375. package/src/performance/Benchmark.d.ts.map +1 -0
  376. package/src/performance/Benchmark.js +304 -0
  377. package/src/performance/CodeGenerationBenchmark.d.ts +23 -0
  378. package/src/performance/CodeGenerationBenchmark.d.ts.map +1 -0
  379. package/src/performance/CodeGenerationBenchmark.js +249 -0
  380. package/src/performance/Optimizer.d.ts +99 -0
  381. package/src/performance/Optimizer.d.ts.map +1 -0
  382. package/src/performance/Optimizer.js +396 -0
  383. package/src/performance/establish-baseline.d.ts +9 -0
  384. package/src/performance/establish-baseline.d.ts.map +1 -0
  385. package/src/performance/establish-baseline.js +55 -0
  386. package/src/profiling/MemoryProfiler.d.ts +32 -0
  387. package/src/profiling/MemoryProfiler.d.ts.map +1 -0
  388. package/src/profiling/MemoryProfiler.js +84 -0
  389. package/src/profiling/N1Detector.d.ts +16 -0
  390. package/src/profiling/N1Detector.d.ts.map +1 -0
  391. package/src/profiling/N1Detector.js +120 -0
  392. package/src/profiling/QueryLogger.d.ts +107 -0
  393. package/src/profiling/QueryLogger.d.ts.map +1 -0
  394. package/src/profiling/QueryLogger.js +148 -0
  395. package/src/profiling/RequestProfiler.d.ts +30 -0
  396. package/src/profiling/RequestProfiler.d.ts.map +1 -0
  397. package/src/profiling/RequestProfiler.js +94 -0
  398. package/src/profiling/types.d.ts +77 -0
  399. package/src/profiling/types.d.ts.map +1 -0
  400. package/src/profiling/types.js +5 -0
  401. package/src/routing/Router.d.ts +52 -0
  402. package/src/routing/Router.d.ts.map +1 -0
  403. package/src/routing/Router.js +191 -0
  404. package/src/runtime/PluginManager.d.ts +30 -0
  405. package/src/runtime/PluginManager.d.ts.map +1 -0
  406. package/src/runtime/PluginManager.js +197 -0
  407. package/src/runtime/PluginRegistry.d.ts +22 -0
  408. package/src/runtime/PluginRegistry.d.ts.map +1 -0
  409. package/src/runtime/PluginRegistry.js +93 -0
  410. package/src/runtime/RuntimeAdapter.d.ts +126 -0
  411. package/src/runtime/RuntimeAdapter.d.ts.map +1 -0
  412. package/src/runtime/RuntimeAdapter.js +127 -0
  413. package/src/runtime/RuntimeDetector.d.ts +15 -0
  414. package/src/runtime/RuntimeDetector.d.ts.map +1 -0
  415. package/src/runtime/RuntimeDetector.js +219 -0
  416. package/src/runtime/adapters/CloudflareAdapter.d.ts +43 -0
  417. package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -0
  418. package/src/runtime/adapters/CloudflareAdapter.js +175 -0
  419. package/src/runtime/adapters/DenoAdapter.d.ts +30 -0
  420. package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -0
  421. package/src/runtime/adapters/DenoAdapter.js +191 -0
  422. package/src/runtime/adapters/FargateAdapter.d.ts +40 -0
  423. package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -0
  424. package/src/runtime/adapters/FargateAdapter.js +156 -0
  425. package/src/runtime/adapters/LambdaAdapter.d.ts +13 -0
  426. package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -0
  427. package/src/runtime/adapters/LambdaAdapter.js +302 -0
  428. package/src/runtime/adapters/NodeServerAdapter.d.ts +16 -0
  429. package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -0
  430. package/src/runtime/adapters/NodeServerAdapter.js +199 -0
  431. package/src/scripts/TemplateSync.d.ts +7 -0
  432. package/src/scripts/TemplateSync.d.ts.map +1 -0
  433. package/src/scripts/TemplateSync.js +234 -0
  434. package/src/security/CsrfTokenManager.d.ts +28 -0
  435. package/src/security/CsrfTokenManager.d.ts.map +1 -0
  436. package/src/security/CsrfTokenManager.js +78 -0
  437. package/src/security/Encryptor.d.ts +15 -0
  438. package/src/security/Encryptor.d.ts.map +1 -0
  439. package/src/security/Encryptor.js +142 -0
  440. package/src/security/JwtManager.d.ts +41 -0
  441. package/src/security/JwtManager.d.ts.map +1 -0
  442. package/src/security/JwtManager.js +229 -0
  443. package/src/security/UrlValidator.d.ts +21 -0
  444. package/src/security/UrlValidator.d.ts.map +1 -0
  445. package/src/security/UrlValidator.js +42 -0
  446. package/src/security/XssProtection.d.ts +24 -0
  447. package/src/security/XssProtection.d.ts.map +1 -0
  448. package/src/security/XssProtection.js +133 -0
  449. package/src/templates/TemplateRegistry.d.ts +40 -0
  450. package/src/templates/TemplateRegistry.d.ts.map +1 -0
  451. package/src/templates/TemplateRegistry.js +78 -0
  452. package/src/templates/TemplateRegistry.ts +91 -0
  453. package/src/templates/adapters/MySQLAdapter.ts.tpl +97 -0
  454. package/src/templates/adapters/PostgreSQLAdapter.ts.tpl +101 -0
  455. package/src/templates/adapters/SQLServerAdapter.ts.tpl +95 -0
  456. package/src/templates/adapters/SQLiteAdapter.ts.tpl +189 -0
  457. package/src/templates/features/Auth.ts.tpl +40 -0
  458. package/src/templates/features/Queue.ts.tpl +75 -0
  459. package/src/templates/project/basic/.env.example.tpl +26 -0
  460. package/src/templates/project/basic/.env.tpl +164 -0
  461. package/src/templates/project/basic/README.md.tpl +13 -0
  462. package/src/templates/project/basic/app/Controllers/UserController.ts.tpl +155 -0
  463. package/src/templates/project/basic/app/Middleware/ProfilerMiddleware.ts.tpl +55 -0
  464. package/src/templates/project/basic/app/Middleware/index.ts.tpl +304 -0
  465. package/src/templates/project/basic/app/Models/Post.ts.tpl +30 -0
  466. package/src/templates/project/basic/app/Models/User.ts.tpl +53 -0
  467. package/src/templates/project/basic/config/SecretsManager.ts.tpl +453 -0
  468. package/src/templates/project/basic/config/app.ts.tpl +97 -0
  469. package/src/templates/project/basic/config/cache.ts.tpl +117 -0
  470. package/src/templates/project/basic/config/constants.ts.tpl +70 -0
  471. package/src/templates/project/basic/config/database.ts.tpl +152 -0
  472. package/src/templates/project/basic/config/env.ts.tpl +148 -0
  473. package/src/templates/project/basic/config/features.ts.tpl +57 -0
  474. package/src/templates/project/basic/config/index.ts.tpl +36 -0
  475. package/src/templates/project/basic/config/logger.ts.tpl +95 -0
  476. package/src/templates/project/basic/config/microservices.ts.tpl +104 -0
  477. package/src/templates/project/basic/config/queue.ts.tpl +134 -0
  478. package/src/templates/project/basic/config/security.ts.tpl +149 -0
  479. package/src/templates/project/basic/config/storage.ts.tpl +136 -0
  480. package/src/templates/project/basic/database/factories/.gitkeep.tpl +0 -0
  481. package/src/templates/project/basic/database/migrations/.gitkeep.tpl +0 -0
  482. package/src/templates/project/basic/database/migrations/index.ts.tpl +2 -0
  483. package/src/templates/project/basic/database/seeders/.gitkeep.tpl +0 -0
  484. package/src/templates/project/basic/package.json.tpl +22 -0
  485. package/src/templates/project/basic/routes/api.ts.tpl +135 -0
  486. package/src/templates/project/basic/src/index.ts.tpl +49 -0
  487. package/src/templates/project/basic/template.json +17 -0
  488. package/src/templates/project/basic/tsconfig.json.tpl +20 -0
  489. package/src/validation/ValidationError.d.ts +42 -0
  490. package/src/validation/ValidationError.d.ts.map +1 -0
  491. package/src/validation/ValidationError.js +53 -0
  492. package/src/validation/Validator.d.ts +60 -0
  493. package/src/validation/Validator.d.ts.map +1 -0
  494. package/src/validation/Validator.js +190 -0
@@ -0,0 +1,540 @@
1
+ /**
2
+ * ControllerGenerator - Generate controller files
3
+ * Creates CRUD controllers with validation and error handling
4
+ */
5
+ import { FileGenerator } from '../scaffolding/FileGenerator';
6
+ import { Logger } from '../../config/logger';
7
+ import * as path from 'node:path';
8
+ /**
9
+ * ControllerGenerator creates HTTP request handlers
10
+ */
11
+ const CONTROLLER_TYPES = {
12
+ crud: (options) => generateCrudController(options),
13
+ resource: (options) => generateResourceController(options),
14
+ api: (options) => generateApiController(options),
15
+ graphql: (options) => generateGraphQLController(options),
16
+ websocket: (options) => generateWebSocketController(options),
17
+ webhook: (options) => generateWebhookController(options),
18
+ };
19
+ /**
20
+ * Validate controller options
21
+ */
22
+ export function validateOptions(options) {
23
+ const errors = [];
24
+ if (options.name === undefined ||
25
+ options.name === '' ||
26
+ /^[A-Z][a-zA-Z\d]*Controller$/.test(options.name) === false) {
27
+ errors.push(`Invalid controller name '${options.name}'. Must end with 'Controller'.`);
28
+ }
29
+ if (options.controllerPath === undefined ||
30
+ options.controllerPath === '' ||
31
+ FileGenerator.directoryExists(options.controllerPath) === false) {
32
+ errors.push(`Controllers directory does not exist: ${options.controllerPath}`);
33
+ }
34
+ if (options.type !== undefined &&
35
+ Object.keys(CONTROLLER_TYPES).includes(options.type) === false) {
36
+ errors.push(`Invalid controller type '${options.type}'. Supported: ${Object.keys(CONTROLLER_TYPES).join(', ')}`);
37
+ }
38
+ return {
39
+ valid: errors.length === 0,
40
+ errors,
41
+ };
42
+ }
43
+ /**
44
+ * Generate controller file
45
+ */
46
+ export async function generateController(options) {
47
+ const validation = validateOptions(options);
48
+ if (validation.valid === false) {
49
+ return {
50
+ success: false,
51
+ controllerName: options.name,
52
+ controllerFile: '',
53
+ message: `Validation failed: ${validation.errors.join(', ')}`,
54
+ };
55
+ }
56
+ try {
57
+ const controllerType = options.type ?? 'resource';
58
+ const controllerContent = buildControllerCode(options, controllerType);
59
+ const controllerFile = path.join(options.controllerPath, `${options.name}.ts`);
60
+ const created = FileGenerator.writeFile(controllerFile, controllerContent);
61
+ if (created === false) {
62
+ return {
63
+ success: false,
64
+ controllerName: options.name,
65
+ controllerFile,
66
+ message: `Failed to create controller file`,
67
+ };
68
+ }
69
+ Logger.info(`✅ Generated controller: ${options.name}`);
70
+ return {
71
+ success: true,
72
+ controllerName: options.name,
73
+ controllerFile,
74
+ message: `Controller ${options.name} created successfully`,
75
+ };
76
+ }
77
+ catch (error) {
78
+ Logger.error(`Failed to generate controller: ${error.message}`);
79
+ return {
80
+ success: false,
81
+ controllerName: options.name,
82
+ controllerFile: '',
83
+ message: `Error: ${error.message}`,
84
+ };
85
+ }
86
+ }
87
+ /**
88
+ * Build controller TypeScript code
89
+ */
90
+ function buildControllerCode(options, type) {
91
+ if (type === 'crud' || type === 'resource') {
92
+ return generateCrudController(options);
93
+ }
94
+ else if (type === 'api') {
95
+ return generateApiController(options);
96
+ }
97
+ else if (type === 'graphql') {
98
+ return generateGraphQLController(options);
99
+ }
100
+ else if (type === 'websocket') {
101
+ return generateWebSocketController(options);
102
+ }
103
+ else if (type === 'webhook') {
104
+ return generateWebhookController(options);
105
+ }
106
+ return '';
107
+ }
108
+ /**
109
+ * Generate CRUD/Resource controller
110
+ */
111
+ function generateCrudController(options) {
112
+ const modelName = options?.model ?? 'Model';
113
+ const className = options?.name ?? 'ResourceController';
114
+ return `/**
115
+ * ${className}
116
+ * Auto-generated CRUD controller
117
+ */
118
+
119
+ import { IRequest } from '../../http/Request';
120
+ import { IResponse } from '../../http/Response';
121
+ import { Controller } from '../../http/Controller';
122
+ import { ${modelName} } from '@app/Models/${modelName}';
123
+
124
+ export const ${className} = Object.freeze({
125
+ ...Controller,
126
+ ${buildIndexMethod(modelName)},
127
+
128
+ ${buildShowMethod(modelName)},
129
+
130
+ ${buildStoreMethod(modelName)},
131
+
132
+ ${buildUpdateMethod(modelName)},
133
+
134
+ ${buildDestroyMethod(modelName)},
135
+
136
+ ${buildHandleErrorMethod()},
137
+ });
138
+ `;
139
+ }
140
+ /**
141
+ * Build index method
142
+ */
143
+ function buildIndexMethod(modelName) {
144
+ return ` /**
145
+ * GET /
146
+ * List all records
147
+ */
148
+ async index(req: IRequest, res: IResponse): Promise<void> {
149
+ try {
150
+ const page = req.getQuery('page') as string || '1';
151
+ const limit = req.getQuery('limit') as string || '10';
152
+
153
+ const records = await ${modelName}.query()
154
+ .limit(parseInt(limit, 10))
155
+ .offset((parseInt(page, 10) - 1) * parseInt(limit, 10))
156
+ .get();
157
+
158
+ res.json({
159
+ data: records,
160
+ page: parseInt(page, 10),
161
+ limit: parseInt(limit, 10),
162
+ });
163
+ } catch (error) {
164
+ handleError(res, error);
165
+ }
166
+ }`;
167
+ }
168
+ /**
169
+ * Build show method
170
+ */
171
+ function buildShowMethod(modelName) {
172
+ return ` /**
173
+ * GET /:id
174
+ * Show single record
175
+ */
176
+ async show(req: IRequest, res: IResponse): Promise<void> {
177
+ try {
178
+ const id = req.getParam('id');
179
+ const record = await ${modelName}.find(id);
180
+
181
+ if (record === null) {
182
+ return res.setStatus(404).json({ error: 'Not found' });
183
+ }
184
+
185
+ res.json({ data: record });
186
+ } catch (error) {
187
+ handleError(res, error);
188
+ }
189
+ }`;
190
+ }
191
+ /**
192
+ * Build store method
193
+ */
194
+ function buildStoreMethod(modelName) {
195
+ return ` /**
196
+ * POST /
197
+ * Create new record
198
+ */
199
+ async store(req: IRequest, res: IResponse): Promise<void> {
200
+ try {
201
+ const body = req.getBody() as Record<string, unknown>;
202
+ const record = await ${modelName}.create(body);
203
+
204
+ res.setStatus(201).json({ data: record });
205
+ } catch (error) {
206
+ handleError(res, error);
207
+ }
208
+ }`;
209
+ }
210
+ /**
211
+ * Build update method
212
+ */
213
+ function buildUpdateMethod(modelName) {
214
+ return ` /**
215
+ * PUT /:id
216
+ * Update record
217
+ */
218
+ async update(req: IRequest, res: IResponse): Promise<void> {
219
+ try {
220
+ const id = req.getParam('id');
221
+ const body = req.getBody() as Record<string, unknown>;
222
+
223
+ const record = await ${modelName}.find(id);
224
+ if (record === null) {
225
+ return res.setStatus(404).json({ error: 'Not found' });
226
+ }
227
+
228
+ record.fill(body);
229
+ await record.save();
230
+
231
+ res.json({ data: record });
232
+ } catch (error) {
233
+ handleError(res, error);
234
+ }
235
+ }`;
236
+ }
237
+ /**
238
+ * Build destroy method
239
+ */
240
+ function buildDestroyMethod(modelName) {
241
+ return ` /**
242
+ * DELETE /:id
243
+ * Delete record
244
+ */
245
+ async destroy(req: IRequest, res: IResponse): Promise<void> {
246
+ try {
247
+ const id = req.getParam('id');
248
+ const record = await ${modelName}.find(id);
249
+
250
+ if (record === null) {
251
+ return res.setStatus(404).json({ error: 'Not found' });
252
+ }
253
+
254
+ await record.delete();
255
+ res.setStatus(204).send();
256
+ } catch (error) {
257
+ handleError(res, error);
258
+ }
259
+ }`;
260
+ }
261
+ /**
262
+ * Build handle error method
263
+ */
264
+ function buildHandleErrorMethod() {
265
+ return ` /**
266
+ * Handle controller errors
267
+ */
268
+ handleError(res: IResponse, error: unknown): void {
269
+ const message = error instanceof Error ? error.message : 'Internal server error';
270
+ res.setStatus(500).json({ error: message });
271
+ }`;
272
+ }
273
+ /**
274
+ * Generate Resource controller (alias for CRUD)
275
+ */
276
+ function generateResourceController(options) {
277
+ return generateCrudController(options);
278
+ }
279
+ /**
280
+ * Generate API controller
281
+ */
282
+ function generateApiController(options) {
283
+ const className = options?.name ?? 'ApiController';
284
+ return `/**
285
+ * ${className}
286
+ * Auto-generated API controller
287
+ */
288
+
289
+ import { IRequest } from '../../http/Request';
290
+ import { IResponse } from '../../http/Response';
291
+ import { Controller } from '../../http/Controller';
292
+
293
+ export const ${className} = {\n ...Controller,
294
+ ${buildApiControllerBody()},
295
+ };
296
+ `;
297
+ }
298
+ /**
299
+ * Build API controller body
300
+ */
301
+ function buildApiControllerBody() {
302
+ return `${buildApiMainHandler()},
303
+
304
+ ${buildApiMethodHandlers()},
305
+
306
+ ${buildHandleErrorMethod()}`;
307
+ }
308
+ /**
309
+ * Build API main handler
310
+ */
311
+ function buildApiMainHandler() {
312
+ return ` /**
313
+ * API endpoint template
314
+ */
315
+ async handleRequest(req: IRequest, res: IResponse): Promise<void> {
316
+ try {
317
+ const method = req.getMethod();
318
+
319
+ // Route to appropriate handler
320
+ if (method === 'GET') {
321
+ await handleGet(req, res);
322
+ } else if (method === 'POST') {
323
+ await handlePost(req, res);
324
+ } else if (method === 'PUT') {
325
+ await handlePut(req, res);
326
+ } else if (method === 'DELETE') {
327
+ await handleDelete(req, res);
328
+ } else {
329
+ res.setStatus(405).json({ error: 'Method not allowed' });
330
+ }
331
+ } catch (error) {
332
+ handleError(res, error);
333
+ }
334
+ }`;
335
+ }
336
+ /**
337
+ * Build API method handlers
338
+ */
339
+ function buildApiMethodHandlers() {
340
+ return ` /**
341
+ * Handle GET requests
342
+ */
343
+ async handleGet(_req: IRequest, res: IResponse): Promise<void> {
344
+ res.json({ message: 'GET endpoint' });
345
+ },
346
+
347
+ /**
348
+ * Handle POST requests
349
+ */
350
+ async handlePost(_req: IRequest, res: IResponse): Promise<void> {
351
+ res.setStatus(201).json({ message: 'POST endpoint' });
352
+ },
353
+
354
+ /**
355
+ * Handle PUT requests
356
+ */
357
+ async handlePut(_req: IRequest, res: IResponse): Promise<void> {
358
+ res.json({ message: 'PUT endpoint' });
359
+ },
360
+
361
+ /**
362
+ * Handle DELETE requests
363
+ */
364
+ async handleDelete(_req: IRequest, res: IResponse): Promise<void> {
365
+ res.setStatus(204).send();
366
+ }`;
367
+ }
368
+ /**
369
+ * Generate GraphQL controller
370
+ */
371
+ function generateGraphQLController(options) {
372
+ const className = options?.name ?? 'GraphQLController';
373
+ return `/**
374
+ * ${className}
375
+ * Auto-generated GraphQL controller
376
+ */
377
+
378
+ import { IRequest } from '../../http/Request';
379
+ import { IResponse } from '../../http/Response';
380
+ import { Controller } from '../../http/Controller';
381
+
382
+ export const ${className} = {\n ...Controller,
383
+ /**
384
+ * GraphQL endpoint
385
+ */
386
+ async handle(req: IRequest, res: IResponse): Promise<void> {
387
+ try {
388
+ if (req.getMethod() !== 'POST') {
389
+ return res.setStatus(405).json({ error: 'Method not allowed' });
390
+ }
391
+
392
+ const body = req.getBody() as Record<string, unknown>;
393
+ const query = body.query as string;
394
+
395
+ // TODO: Execute GraphQL query
396
+ const result = await executeQuery(query);
397
+
398
+ res.json(result);
399
+ } catch (error) {
400
+ handleError(res, error);
401
+ }
402
+ },
403
+
404
+ /**
405
+ * Execute GraphQL query
406
+ */
407
+ async executeQuery(query: string): Promise<Record<string, unknown>> {
408
+ // TODO: Implement GraphQL execution
409
+ return { data: null };
410
+ },
411
+
412
+ /**
413
+ * Handle controller errors
414
+ */
415
+ handleError(res: IResponse, error: unknown): void {
416
+ const message = error instanceof Error ? error.message : 'GraphQL error';
417
+ res.setStatus(500).json({ errors: [{ message }] });
418
+ },
419
+ };
420
+ `;
421
+ }
422
+ /**
423
+ * Generate WebSocket controller
424
+ */
425
+ function generateWebSocketController(options) {
426
+ const className = options?.name ?? 'WebSocketController';
427
+ return `/**
428
+ * ${className}
429
+ * Auto-generated WebSocket controller
430
+ */
431
+
432
+ import { Logger } from '../../config/logger';
433
+
434
+ export const ${className} = {
435
+ /**
436
+ * Handle WebSocket connection
437
+ */
438
+ async onConnect(socket: { id: string }): Promise<void> {
439
+ Logger.info('Client connected:', { socketId: socket.id });
440
+ },
441
+
442
+ /**
443
+ * Handle WebSocket message
444
+ */
445
+ async onMessage(socket: { emit: (event: string, data: unknown) => void }, message: unknown): Promise<void> {
446
+ Logger.info('Message received:', { message });
447
+ socket.emit('message', { echo: message });
448
+ },
449
+
450
+ /**
451
+ * Handle WebSocket disconnect
452
+ */
453
+ async onDisconnect(socket: { id: string }): Promise<void> {
454
+ Logger.info('Client disconnected:', { socketId: socket.id });
455
+ },
456
+ };
457
+ `;
458
+ }
459
+ /**
460
+ * Generate Webhook controller
461
+ */
462
+ function generateWebhookController(options) {
463
+ const className = options?.name ?? 'WebhookController';
464
+ return `/**
465
+ * ${className}
466
+ * Auto-generated Webhook controller
467
+ */
468
+
469
+ import { IRequest } from '../../http/Request';
470
+ import { IResponse } from '../../http/Response';
471
+ import { Controller } from '../../http/Controller';
472
+ import { Logger } from '../../config/logger';
473
+
474
+ export const ${className} = {\n ...Controller,
475
+ ${buildWebhookControllerBody()},
476
+ };
477
+ `;
478
+ }
479
+ /**
480
+ * Build Webhook controller body
481
+ */
482
+ function buildWebhookControllerBody() {
483
+ return ` /**
484
+ * Handle incoming webhook
485
+ */
486
+ async handle(req: IRequest, res: IResponse): Promise<void> {
487
+ try {
488
+ // Verify webhook signature
489
+ const signature = req.getHeader('x-webhook-signature');
490
+ if (verifySignature(req, signature as string) === false) {
491
+ return res.setStatus(401).json({ error: 'Invalid signature' });
492
+ }
493
+
494
+ const body = req.getBody();
495
+ await processWebhook(body);
496
+
497
+ res.json({ success: true });
498
+ } catch (error) {
499
+ handleError(res, error);
500
+ }
501
+ },
502
+
503
+ /**
504
+ * Verify webhook signature
505
+ */
506
+ verifySignature(req: IRequest, signature: string): boolean {
507
+ // TODO: Implement signature verification
508
+ return true;
509
+ },
510
+
511
+ /**
512
+ * Process webhook payload
513
+ */
514
+ async processWebhook(payload: unknown): Promise<void> {
515
+ // TODO: Implement webhook processing
516
+ Logger.info('Processing webhook:', { payload });
517
+ },
518
+
519
+ /**
520
+ * Handle controller errors
521
+ */
522
+ handleError(res: IResponse, error: unknown): void {
523
+ const message = error instanceof Error ? error.message : 'Webhook error';
524
+ res.setStatus(500).json({ error: message });
525
+ }`;
526
+ }
527
+ /**
528
+ * Get available controller types
529
+ */
530
+ export function getAvailableTypes() {
531
+ return Object.keys(CONTROLLER_TYPES);
532
+ }
533
+ /**
534
+ * ControllerGenerator creates HTTP request handlers
535
+ */
536
+ export const ControllerGenerator = Object.freeze({
537
+ validateOptions,
538
+ generateController,
539
+ getAvailableTypes,
540
+ });
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Factory Generator
3
+ * Generates test data factory modules for models
4
+ */
5
+ export type FieldType = 'string' | 'integer' | 'float' | 'boolean' | 'text' | 'datetime' | 'json' | 'email' | 'phone';
6
+ export interface FactoryField {
7
+ name: string;
8
+ type: FieldType;
9
+ nullable?: boolean;
10
+ }
11
+ export interface FactoryOptions {
12
+ factoryName: string;
13
+ modelName: string;
14
+ factoriesPath: string;
15
+ fields?: FactoryField[];
16
+ relationships?: string[];
17
+ }
18
+ export interface FactoryGeneratorResult {
19
+ success: boolean;
20
+ message: string;
21
+ filePath?: string;
22
+ factoryName?: string;
23
+ }
24
+ /**
25
+ * Factory Generator - Generates test data factories
26
+ */
27
+ /**
28
+ * Validate factory options
29
+ */
30
+ export declare function validateOptions(options: FactoryOptions): Promise<void>;
31
+ /**
32
+ * Generate factory
33
+ */
34
+ export declare function generateFactory(options: FactoryOptions): Promise<FactoryGeneratorResult>;
35
+ /**
36
+ * Get available types
37
+ */
38
+ export declare function getAvailableTypes(): string[];
39
+ /**
40
+ * Factory Generator - Generates test data factories
41
+ */
42
+ export declare const FactoryGenerator: Readonly<{
43
+ validateOptions: typeof validateOptions;
44
+ generateFactory: typeof generateFactory;
45
+ getAvailableTypes: typeof getAvailableTypes;
46
+ }>;
47
+ //# sourceMappingURL=FactoryGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FactoryGenerator.d.ts","sourceRoot":"","sources":["../../../../src/cli/scaffolding/FactoryGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,CAAC;AAEZ,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AAEH;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B5E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyB9F;AA+SD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAC"}