@zintrust/core 0.1.18 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -10
- package/bin/zintrust-main.d.ts.map +1 -1
- package/bin/zintrust-main.js +9 -0
- package/package.json +11 -2
- package/public/error-pages/404.html +145 -0
- package/public/error-pages/500.html +266 -0
- package/public/error-pages/error.css +628 -0
- package/public/error-pages/error.js +428 -0
- package/public/index.html +1 -1
- package/public/zintrust.svg +30 -0
- package/routes/api.d.ts +7 -0
- package/routes/api.d.ts.map +1 -0
- package/routes/api.js +115 -0
- package/routes/broadcast.d.ts +9 -0
- package/routes/broadcast.d.ts.map +1 -0
- package/routes/broadcast.js +27 -0
- package/routes/health.d.ts +7 -0
- package/routes/health.d.ts.map +1 -0
- package/routes/health.js +127 -0
- package/routes/metrics.d.ts +9 -0
- package/routes/metrics.d.ts.map +1 -0
- package/routes/metrics.js +20 -0
- package/routes/openapi.d.ts +9 -0
- package/routes/openapi.d.ts.map +1 -0
- package/routes/openapi.js +76 -0
- package/routes/storage.d.ts +4 -0
- package/routes/storage.d.ts.map +1 -0
- package/routes/storage.js +35 -0
- package/src/boot/Application.d.ts +2 -2
- package/src/boot/Application.d.ts.map +1 -1
- package/src/boot/Application.js +18 -3
- package/src/boot/Server.d.ts +3 -2
- package/src/boot/Server.d.ts.map +1 -1
- package/src/boot/Server.js +39 -165
- package/src/boot/bootstrap.js +1 -1
- package/src/cache/Cache.d.ts +1 -1
- package/src/cache/Cache.d.ts.map +1 -1
- package/src/cache/CacheDriver.d.ts +4 -0
- package/src/cache/CacheDriver.d.ts.map +1 -1
- package/src/cache/drivers/KVDriver.d.ts +1 -1
- package/src/cache/drivers/KVDriver.d.ts.map +1 -1
- package/src/cache/drivers/MemoryDriver.d.ts +1 -1
- package/src/cache/drivers/MemoryDriver.d.ts.map +1 -1
- package/src/cache/drivers/MemoryDriver.js +16 -0
- package/src/cache/drivers/MongoDriver.d.ts +1 -1
- package/src/cache/drivers/MongoDriver.d.ts.map +1 -1
- package/src/cache/drivers/RedisDriver.d.ts +1 -1
- package/src/cache/drivers/RedisDriver.d.ts.map +1 -1
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +12 -4
- package/src/cli/PromptHelper.d.ts.map +1 -1
- package/src/cli/PromptHelper.js +4 -3
- package/src/cli/commands/AddCommand.d.ts +2 -2
- package/src/cli/commands/AddCommand.d.ts.map +1 -1
- package/src/cli/commands/AddCommand.js +135 -58
- package/src/cli/commands/ConfigCommand.d.ts +1 -1
- package/src/cli/commands/ConfigCommand.d.ts.map +1 -1
- package/src/cli/commands/CreateCommand.d.ts +15 -0
- package/src/cli/commands/CreateCommand.d.ts.map +1 -0
- package/src/cli/commands/CreateCommand.js +143 -0
- package/src/cli/commands/D1MigrateCommand.d.ts +1 -1
- package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/D1MigrateCommand.js +16 -20
- package/src/cli/commands/DbSeedCommand.d.ts +9 -0
- package/src/cli/commands/DbSeedCommand.d.ts.map +1 -0
- package/src/cli/commands/DbSeedCommand.js +171 -0
- package/src/cli/commands/DebugCommand.d.ts +1 -1
- package/src/cli/commands/DebugCommand.d.ts.map +1 -1
- package/src/cli/commands/FixCommand.d.ts +1 -1
- package/src/cli/commands/FixCommand.d.ts.map +1 -1
- package/src/cli/commands/JwtDevCommand.d.ts +8 -0
- package/src/cli/commands/JwtDevCommand.d.ts.map +1 -0
- package/src/cli/commands/JwtDevCommand.js +114 -0
- package/src/cli/commands/KeyGenerateCommand.d.ts +1 -1
- package/src/cli/commands/KeyGenerateCommand.d.ts.map +1 -1
- package/src/cli/commands/LogsCommand.d.ts +2 -2
- package/src/cli/commands/LogsCommand.d.ts.map +1 -1
- package/src/cli/commands/LogsCommand.js +36 -2
- package/src/cli/commands/MakeMailTemplateCommand.d.ts +1 -1
- package/src/cli/commands/MakeMailTemplateCommand.d.ts.map +1 -1
- package/src/cli/commands/MakeNotificationTemplateCommand.d.ts +1 -1
- package/src/cli/commands/MakeNotificationTemplateCommand.d.ts.map +1 -1
- package/src/cli/commands/MigrateCommand.d.ts +1 -1
- package/src/cli/commands/MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/MigrateCommand.js +291 -35
- package/src/cli/commands/NewCommand.d.ts +2 -2
- package/src/cli/commands/NewCommand.d.ts.map +1 -1
- package/src/cli/commands/NewCommand.js +38 -13
- package/src/cli/commands/PluginCommand.d.ts +1 -1
- package/src/cli/commands/PluginCommand.d.ts.map +1 -1
- package/src/cli/commands/PrepareCommand.d.ts +1 -1
- package/src/cli/commands/PrepareCommand.d.ts.map +1 -1
- package/src/cli/commands/QACommand.d.ts +2 -2
- package/src/cli/commands/QACommand.d.ts.map +1 -1
- package/src/cli/commands/RoutesCommand.d.ts +10 -0
- package/src/cli/commands/RoutesCommand.d.ts.map +1 -0
- package/src/cli/commands/RoutesCommand.js +242 -0
- package/src/cli/commands/SimulateCommand.d.ts +1 -1
- package/src/cli/commands/SimulateCommand.d.ts.map +1 -1
- package/src/cli/commands/SimulateCommand.js +1 -1
- package/src/cli/commands/StartCommand.d.ts.map +1 -1
- package/src/cli/commands/StartCommand.js +90 -3
- package/src/cli/commands/UpgradeCommand.d.ts +16 -0
- package/src/cli/commands/UpgradeCommand.d.ts.map +1 -0
- package/src/cli/commands/UpgradeCommand.js +107 -0
- package/src/cli/commands/index.d.ts +3 -0
- package/src/cli/commands/index.d.ts.map +1 -1
- package/src/cli/commands/index.js +3 -0
- package/src/cli/commands/runner/index.d.ts +3 -0
- package/src/cli/commands/runner/index.d.ts.map +1 -0
- package/src/cli/commands/runner/index.js +139 -0
- package/src/cli/config/ConfigManager.d.ts +1 -1
- package/src/cli/config/ConfigManager.d.ts.map +1 -1
- package/src/cli/config/ConfigValidator.d.ts +1 -1
- package/src/cli/config/ConfigValidator.d.ts.map +1 -1
- package/src/cli/config/ConfigValidator.js +1 -1
- package/src/cli/d1/D1SqlMigrations.d.ts +20 -0
- package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -0
- package/src/cli/d1/D1SqlMigrations.js +224 -0
- package/src/cli/d1/WranglerConfig.d.ts +4 -0
- package/src/cli/d1/WranglerConfig.d.ts.map +1 -0
- package/src/cli/d1/WranglerConfig.js +122 -0
- package/src/cli/d1/WranglerD1.d.ts +11 -0
- package/src/cli/d1/WranglerD1.d.ts.map +1 -0
- package/src/cli/d1/WranglerD1.js +16 -0
- package/src/cli/env/EnvFileBackfill.d.ts +10 -0
- package/src/cli/env/EnvFileBackfill.d.ts.map +1 -0
- package/src/cli/env/EnvFileBackfill.js +64 -0
- package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ControllerGenerator.js +72 -22
- package/src/cli/scaffolding/FactoryGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/FactoryGenerator.js +3 -1
- package/src/cli/scaffolding/GovernanceScaffolder.d.ts +23 -0
- package/src/cli/scaffolding/GovernanceScaffolder.d.ts.map +1 -0
- package/src/cli/scaffolding/GovernanceScaffolder.js +327 -0
- package/src/cli/scaffolding/MigrationGenerator.d.ts +10 -0
- package/src/cli/scaffolding/MigrationGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/MigrationGenerator.js +137 -51
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +54 -59
- package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/RouteGenerator.js +79 -43
- package/src/cli/scaffolding/SeederGenerator.d.ts +5 -0
- package/src/cli/scaffolding/SeederGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/SeederGenerator.js +63 -15
- package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ServiceScaffolder.js +24 -3
- package/src/cli/scaffolding/index.d.ts +2 -0
- package/src/cli/scaffolding/index.d.ts.map +1 -1
- package/src/cli/scaffolding/index.js +1 -0
- package/src/cli/utils/DistPackager.d.ts.map +1 -1
- package/src/cli/utils/DistPackager.js +8 -0
- package/src/common/index.d.ts +8 -0
- package/src/common/index.d.ts.map +1 -1
- package/src/common/index.js +28 -0
- package/src/common/utility.d.ts +38 -0
- package/src/common/utility.d.ts.map +1 -0
- package/src/common/utility.js +101 -0
- package/src/config/FileLogWriter.d.ts +2 -1
- package/src/config/FileLogWriter.d.ts.map +1 -1
- package/src/config/FileLogWriter.js +83 -2
- package/src/config/app.d.ts.map +1 -1
- package/src/config/app.js +3 -1
- package/src/config/broadcast.d.ts +1 -1
- package/src/config/broadcast.d.ts.map +1 -1
- package/src/config/broadcast.js +1 -1
- package/src/config/cache.d.ts +1 -1
- package/src/config/cache.d.ts.map +1 -1
- package/src/config/cloudflare.d.ts +1 -1
- package/src/config/cloudflare.d.ts.map +1 -1
- package/src/config/database.d.ts +7 -1
- package/src/config/database.d.ts.map +1 -1
- package/src/config/database.js +99 -7
- package/src/config/env.d.ts +6 -0
- package/src/config/env.d.ts.map +1 -1
- package/src/config/env.js +7 -0
- package/src/config/index.d.ts +8 -2
- package/src/config/index.d.ts.map +1 -1
- package/src/config/logging/KvLogger.js +1 -1
- package/src/config/logging/SlackLogger.js +2 -2
- package/src/config/middleware.d.ts +22 -2
- package/src/config/middleware.d.ts.map +1 -1
- package/src/config/middleware.js +179 -11
- package/src/config/notification.js +1 -1
- package/src/config/security.d.ts +1 -1
- package/src/config/security.js +1 -1
- package/src/config/storage.js +1 -1
- package/src/config/type.d.ts +8 -2
- package/src/config/type.d.ts.map +1 -1
- package/src/events/EventDispatcher.d.ts.map +1 -1
- package/src/events/EventDispatcher.js +6 -4
- package/src/exceptions/ZintrustError.d.ts +7 -0
- package/src/exceptions/ZintrustError.d.ts.map +1 -1
- package/src/exceptions/ZintrustError.js +56 -0
- package/src/features/Auth.d.ts +1 -1
- package/src/features/Auth.d.ts.map +1 -1
- package/src/features/Auth.js +3 -3
- package/src/features/Queue.js +1 -1
- package/src/functions/cloudflare.d.ts.map +1 -1
- package/src/functions/cloudflare.js +3 -14
- package/src/functions/deno.d.ts.map +1 -1
- package/src/functions/deno.js +3 -14
- package/src/functions/lambda.d.ts.map +1 -1
- package/src/functions/lambda.js +3 -14
- package/src/health/StartupHealthChecks.js +1 -1
- package/src/http/Controller.d.ts +2 -2
- package/src/http/Controller.d.ts.map +1 -1
- package/src/http/FileUpload.d.ts +68 -0
- package/src/http/FileUpload.d.ts.map +1 -0
- package/src/http/FileUpload.js +120 -0
- package/src/http/Kernel.d.ts +5 -5
- package/src/http/Kernel.d.ts.map +1 -1
- package/src/http/Kernel.js +139 -23
- package/src/http/Request.d.ts +20 -1
- package/src/http/Request.d.ts.map +1 -1
- package/src/http/Request.js +23 -0
- package/src/http/RequestContext.d.ts +6 -0
- package/src/http/RequestContext.d.ts.map +1 -1
- package/src/http/RequestContext.js +77 -1
- package/src/http/Response.d.ts +1 -1
- package/src/http/Response.d.ts.map +1 -1
- package/src/http/ValidationHelper.d.ts +78 -0
- package/src/http/ValidationHelper.d.ts.map +1 -0
- package/src/http/ValidationHelper.js +121 -0
- package/src/http/error-pages/ErrorPageRenderer.d.ts +17 -0
- package/src/http/error-pages/ErrorPageRenderer.d.ts.map +1 -0
- package/src/http/error-pages/ErrorPageRenderer.js +88 -0
- package/src/http/middleware/BodyParsingMiddleware.d.ts +12 -0
- package/src/http/middleware/BodyParsingMiddleware.d.ts.map +1 -0
- package/src/http/middleware/BodyParsingMiddleware.js +251 -0
- package/src/http/middleware/FileUploadMiddleware.d.ts +12 -0
- package/src/http/middleware/FileUploadMiddleware.d.ts.map +1 -0
- package/src/http/middleware/FileUploadMiddleware.js +74 -0
- package/src/http/parsers/BodyParsers.d.ts +32 -0
- package/src/http/parsers/BodyParsers.d.ts.map +1 -0
- package/src/http/parsers/BodyParsers.js +159 -0
- package/src/http/parsers/MultipartParser.d.ts +33 -0
- package/src/http/parsers/MultipartParser.d.ts.map +1 -0
- package/src/http/parsers/MultipartParser.js +129 -0
- package/src/http/parsers/MultipartParserRegistry.d.ts +34 -0
- package/src/http/parsers/MultipartParserRegistry.d.ts.map +1 -0
- package/src/http/parsers/MultipartParserRegistry.js +20 -0
- package/src/http/validated.d.ts +12 -0
- package/src/http/validated.d.ts.map +1 -0
- package/src/http/validated.js +41 -0
- package/src/index.d.ts +65 -7
- package/src/index.d.ts.map +1 -1
- package/src/index.js +59 -5
- package/src/microservices/RequestTracingMiddleware.d.ts +2 -2
- package/src/microservices/RequestTracingMiddleware.d.ts.map +1 -1
- package/src/microservices/RequestTracingMiddleware.js +3 -0
- package/src/microservices/ServiceAuthMiddleware.d.ts +2 -2
- package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -1
- package/src/middleware/AuthMiddleware.d.ts +10 -0
- package/src/middleware/AuthMiddleware.d.ts.map +1 -0
- package/src/middleware/AuthMiddleware.js +16 -0
- package/src/middleware/CsrfMiddleware.d.ts +11 -1
- package/src/middleware/CsrfMiddleware.d.ts.map +1 -1
- package/src/middleware/CsrfMiddleware.js +33 -0
- package/src/middleware/JwtAuthMiddleware.d.ts +11 -0
- package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -0
- package/src/middleware/JwtAuthMiddleware.js +73 -0
- package/src/middleware/LoggingMiddleware.d.ts.map +1 -1
- package/src/middleware/LoggingMiddleware.js +8 -3
- package/src/middleware/MiddlewareStack.d.ts +2 -2
- package/src/middleware/MiddlewareStack.d.ts.map +1 -1
- package/src/middleware/RateLimiter.d.ts +2 -2
- package/src/middleware/RateLimiter.d.ts.map +1 -1
- package/src/middleware/RateLimiter.js +26 -1
- package/src/middleware/SanitizeBodyMiddleware.d.ts +12 -0
- package/src/middleware/SanitizeBodyMiddleware.d.ts.map +1 -0
- package/src/middleware/SanitizeBodyMiddleware.js +31 -0
- package/src/middleware/SecurityMiddleware.d.ts +1 -1
- package/src/middleware/SecurityMiddleware.d.ts.map +1 -1
- package/src/middleware/SessionMiddleware.d.ts +1 -1
- package/src/middleware/SessionMiddleware.d.ts.map +1 -1
- package/src/middleware/ValidationMiddleware.d.ts +25 -0
- package/src/middleware/ValidationMiddleware.d.ts.map +1 -0
- package/src/middleware/ValidationMiddleware.js +251 -0
- package/src/migrations/MigrationDiscovery.d.ts +5 -0
- package/src/migrations/MigrationDiscovery.d.ts.map +1 -0
- package/src/migrations/MigrationDiscovery.js +16 -0
- package/src/migrations/MigrationLoader.d.ts +5 -0
- package/src/migrations/MigrationLoader.d.ts.map +1 -0
- package/src/migrations/MigrationLoader.js +43 -0
- package/src/migrations/MigrationLock.d.ts +4 -0
- package/src/migrations/MigrationLock.d.ts.map +1 -0
- package/src/migrations/MigrationLock.js +33 -0
- package/src/migrations/Migrator.d.ts +23 -0
- package/src/migrations/Migrator.d.ts.map +1 -0
- package/src/migrations/Migrator.js +4 -0
- package/src/migrations/MigratorFactory.d.ts +25 -0
- package/src/migrations/MigratorFactory.d.ts.map +1 -0
- package/src/migrations/MigratorFactory.js +323 -0
- package/src/migrations/schema/Blueprint.d.ts +5 -0
- package/src/migrations/schema/Blueprint.d.ts.map +1 -0
- package/src/migrations/schema/Blueprint.js +189 -0
- package/src/migrations/schema/Schema.d.ts +8 -0
- package/src/migrations/schema/Schema.d.ts.map +1 -0
- package/src/migrations/schema/Schema.js +141 -0
- package/src/migrations/schema/SchemaCompiler.d.ts +20 -0
- package/src/migrations/schema/SchemaCompiler.d.ts.map +1 -0
- package/src/migrations/schema/SchemaCompiler.js +262 -0
- package/src/migrations/schema/index.d.ts +5 -0
- package/src/migrations/schema/index.d.ts.map +1 -0
- package/src/migrations/schema/index.js +3 -0
- package/src/migrations/schema/types.d.ts +86 -0
- package/src/migrations/schema/types.d.ts.map +1 -0
- package/src/migrations/schema/types.js +1 -0
- package/src/migrations/types.d.ts +45 -0
- package/src/migrations/types.d.ts.map +1 -0
- package/src/migrations/types.js +1 -0
- package/src/node-singletons/crypto.d.ts +1 -1
- package/src/node-singletons/crypto.d.ts.map +1 -1
- package/src/node-singletons/crypto.js +1 -1
- package/src/node-singletons/fs.d.ts +2 -2
- package/src/node-singletons/fs.d.ts.map +1 -1
- package/src/node-singletons/fs.js +1 -1
- package/src/node-singletons/util.d.ts +6 -0
- package/src/node-singletons/util.d.ts.map +1 -0
- package/src/node-singletons/util.js +5 -0
- package/src/node.d.ts +2 -0
- package/src/node.d.ts.map +1 -1
- package/src/node.js +7 -0
- package/src/observability/OpenTelemetry.d.ts +62 -0
- package/src/observability/OpenTelemetry.d.ts.map +1 -0
- package/src/observability/OpenTelemetry.js +167 -0
- package/src/observability/PrometheusMetrics.d.ts +25 -0
- package/src/observability/PrometheusMetrics.d.ts.map +1 -0
- package/src/observability/PrometheusMetrics.js +114 -0
- package/src/openapi/OpenApiGenerator.d.ts +68 -0
- package/src/openapi/OpenApiGenerator.d.ts.map +1 -0
- package/src/openapi/OpenApiGenerator.js +287 -0
- package/src/orm/Database.d.ts +4 -2
- package/src/orm/Database.d.ts.map +1 -1
- package/src/orm/Database.js +142 -29
- package/src/orm/DatabaseAdapter.d.ts +13 -0
- package/src/orm/DatabaseAdapter.d.ts.map +1 -1
- package/src/orm/DatabaseAdapterRegistry.d.ts.map +1 -1
- package/src/orm/DatabaseAdapterRegistry.js +3 -1
- package/src/orm/DatabaseRuntimeRegistration.d.ts.map +1 -1
- package/src/orm/DatabaseRuntimeRegistration.js +4 -0
- package/src/orm/Model.d.ts +30 -2
- package/src/orm/Model.d.ts.map +1 -1
- package/src/orm/Model.js +255 -62
- package/src/orm/QueryBuilder.d.ts +22 -1
- package/src/orm/QueryBuilder.d.ts.map +1 -1
- package/src/orm/QueryBuilder.js +405 -95
- package/src/orm/Relationships.d.ts +7 -1
- package/src/orm/Relationships.d.ts.map +1 -1
- package/src/orm/Relationships.js +18 -0
- package/src/orm/SchemaCompiler.d.ts +9 -0
- package/src/orm/SchemaCompiler.d.ts.map +1 -0
- package/src/orm/SchemaCompiler.js +145 -0
- package/src/orm/adapters/D1Adapter.d.ts +1 -1
- package/src/orm/adapters/D1Adapter.d.ts.map +1 -1
- package/src/orm/adapters/MySQLAdapter.d.ts +1 -1
- package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -1
- package/src/orm/adapters/MySQLAdapter.js +88 -69
- package/src/orm/adapters/PostgreSQLAdapter.d.ts +1 -1
- package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/src/orm/adapters/PostgreSQLAdapter.js +88 -69
- package/src/orm/adapters/SQLServerAdapter.d.ts +1 -1
- package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -1
- package/src/orm/adapters/SQLiteAdapter.d.ts +1 -1
- package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/src/orm/adapters/SQLiteAdapter.js +63 -3
- package/src/orm/maintenance/SqliteMaintenance.d.ts +5 -0
- package/src/orm/maintenance/SqliteMaintenance.d.ts.map +1 -0
- package/src/orm/maintenance/SqliteMaintenance.js +14 -0
- package/src/orm/migrations/MigrationStore.d.ts +38 -0
- package/src/orm/migrations/MigrationStore.d.ts.map +1 -0
- package/src/orm/migrations/MigrationStore.js +157 -0
- package/src/performance/CodeGenerationBenchmark.d.ts.map +1 -1
- package/src/performance/Optimizer.d.ts +1 -0
- package/src/performance/Optimizer.d.ts.map +1 -1
- package/src/performance/Optimizer.js +37 -3
- package/src/profiling/MemoryProfiler.d.ts +1 -1
- package/src/profiling/MemoryProfiler.d.ts.map +1 -1
- package/src/profiling/N1Detector.d.ts +1 -1
- package/src/profiling/N1Detector.d.ts.map +1 -1
- package/src/profiling/QueryLogger.d.ts +1 -1
- package/src/profiling/QueryLogger.d.ts.map +1 -1
- package/src/profiling/RequestProfiler.d.ts +3 -3
- package/src/profiling/RequestProfiler.d.ts.map +1 -1
- package/src/routes/api.d.ts +2 -0
- package/src/routes/api.d.ts.map +1 -0
- package/src/routes/api.js +1 -0
- package/src/routes/broadcast.d.ts +2 -0
- package/src/routes/broadcast.d.ts.map +1 -0
- package/src/routes/broadcast.js +1 -0
- package/src/routes/health.d.ts +2 -0
- package/src/routes/health.d.ts.map +1 -0
- package/src/routes/health.js +1 -0
- package/src/routes/metrics.d.ts +2 -0
- package/src/routes/metrics.d.ts.map +1 -0
- package/src/routes/metrics.js +1 -0
- package/src/routes/storage.d.ts +2 -0
- package/src/routes/storage.d.ts.map +1 -0
- package/src/routes/storage.js +1 -0
- package/src/routing/CoreRoutes.d.ts +12 -0
- package/src/routing/CoreRoutes.d.ts.map +1 -0
- package/src/routing/CoreRoutes.js +151 -0
- package/src/routing/RouteRegistry.d.ts +39 -0
- package/src/routing/RouteRegistry.d.ts.map +1 -0
- package/src/routing/RouteRegistry.js +44 -0
- package/src/routing/Router.d.ts +26 -9
- package/src/routing/Router.d.ts.map +1 -1
- package/src/routing/Router.js +79 -35
- package/src/routing/common.d.ts +15 -0
- package/src/routing/common.d.ts.map +1 -0
- package/src/routing/common.js +47 -0
- package/src/routing/doc.d.ts +28 -0
- package/src/routing/doc.d.ts.map +1 -0
- package/src/routing/doc.js +95 -0
- package/src/routing/error.d.ts +21 -0
- package/src/routing/error.d.ts.map +1 -0
- package/src/routing/error.js +126 -0
- package/src/routing/errorPages.d.ts +14 -0
- package/src/routing/errorPages.d.ts.map +1 -0
- package/src/routing/errorPages.js +103 -0
- package/src/routing/publicRoot.d.ts +18 -0
- package/src/routing/publicRoot.d.ts.map +1 -0
- package/src/routing/publicRoot.js +49 -0
- package/src/runtime/PluginAutoImports.d.ts +21 -0
- package/src/runtime/PluginAutoImports.d.ts.map +1 -0
- package/src/runtime/PluginAutoImports.js +59 -0
- package/src/runtime/PluginManager.d.ts +1 -5
- package/src/runtime/PluginManager.d.ts.map +1 -1
- package/src/runtime/PluginManager.js +25 -18
- package/src/runtime/RuntimeAdapter.d.ts.map +1 -1
- package/src/runtime/RuntimeAdapter.js +20 -1
- package/src/runtime/RuntimeDetector.d.ts +1 -1
- package/src/runtime/RuntimeDetector.d.ts.map +1 -1
- package/src/runtime/adapters/CloudflareAdapter.d.ts +1 -1
- package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/CloudflareAdapter.js +1 -1
- package/src/runtime/adapters/DenoAdapter.d.ts +1 -1
- package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/DenoAdapter.js +3 -3
- package/src/runtime/adapters/LambdaAdapter.d.ts +1 -1
- package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/LambdaAdapter.js +1 -1
- package/src/runtime/adapters/NodeServerAdapter.d.ts +1 -1
- package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -1
- package/src/runtime/getKernel.d.ts +9 -0
- package/src/runtime/getKernel.d.ts.map +1 -0
- package/src/runtime/getKernel.js +27 -0
- package/src/scripts/TemplateImportsCheck.js +47 -7
- package/src/scripts/TemplateSync.js +92 -20
- package/src/security/Encryptor.d.ts.map +1 -1
- package/src/security/Encryptor.js +64 -7
- package/src/security/JwtManager.d.ts +1 -0
- package/src/security/JwtManager.d.ts.map +1 -1
- package/src/security/JwtManager.js +33 -0
- package/src/security/Sanitizer.d.ts +76 -0
- package/src/security/Sanitizer.d.ts.map +1 -0
- package/src/security/Sanitizer.js +412 -0
- package/src/security/TokenRevocation.d.ts +7 -0
- package/src/security/TokenRevocation.d.ts.map +1 -0
- package/src/security/TokenRevocation.js +57 -0
- package/src/seeders/SeederDiscovery.d.ts +5 -0
- package/src/seeders/SeederDiscovery.d.ts.map +1 -0
- package/src/seeders/SeederDiscovery.js +21 -0
- package/src/seeders/SeederLoader.d.ts +5 -0
- package/src/seeders/SeederLoader.d.ts.map +1 -0
- package/src/seeders/SeederLoader.js +60 -0
- package/src/seeders/types.d.ts +18 -0
- package/src/seeders/types.d.ts.map +1 -0
- package/src/seeders/types.js +1 -0
- package/src/session/SessionManager.js +1 -1
- package/src/start.d.ts +21 -0
- package/src/start.d.ts.map +1 -0
- package/src/start.js +60 -0
- package/src/templates/adapters/MySQLAdapter.ts.tpl +109 -85
- package/src/templates/adapters/PostgreSQLAdapter.ts.tpl +129 -88
- package/src/templates/adapters/SQLServerAdapter.ts.tpl +5 -9
- package/src/templates/adapters/SQLiteAdapter.ts.tpl +78 -11
- package/src/templates/features/Queue.ts.tpl +2 -2
- package/src/templates/project/basic/app/Controllers/AuthController.ts.tpl +217 -0
- package/src/templates/project/basic/app/Controllers/UserController.ts.tpl +3 -16
- package/src/templates/project/basic/app/Middleware/ProfilerMiddleware.ts.tpl +1 -3
- package/src/templates/project/basic/app/Middleware/index.ts.tpl +3 -8
- package/src/templates/project/basic/app/Models/Post.ts.tpl +2 -3
- package/src/templates/project/basic/app/Models/User.ts.tpl +1 -1
- package/src/templates/project/basic/app/Types/controller.ts.tpl +46 -0
- package/src/templates/project/basic/config/FileLogWriter.ts.tpl +5 -236
- package/src/templates/project/basic/config/SecretsManager.ts.tpl +13 -450
- package/src/templates/project/basic/config/StartupConfigValidator.ts.tpl +9 -268
- package/src/templates/project/basic/config/app.ts.tpl +13 -153
- package/src/templates/project/basic/config/broadcast.ts.tpl +15 -129
- package/src/templates/project/basic/config/cache.ts.tpl +15 -92
- package/src/templates/project/basic/config/cloudflare.ts.tpl +4 -39
- package/src/templates/project/basic/config/constants.ts.tpl +9 -65
- package/src/templates/project/basic/config/database.ts.tpl +29 -116
- package/src/templates/project/basic/config/env.ts.tpl +5 -169
- package/src/templates/project/basic/config/features.ts.tpl +6 -54
- package/src/templates/project/basic/config/index.ts.tpl +27 -24
- package/src/templates/project/basic/config/logger.ts.tpl +5 -381
- package/src/templates/project/basic/config/logging/HttpLogger.ts.tpl +1 -1
- package/src/templates/project/basic/config/logging/KvLogger.ts.tpl +2 -2
- package/src/templates/project/basic/config/logging/SlackLogger.ts.tpl +1 -1
- package/src/templates/project/basic/config/mail.ts.tpl +15 -115
- package/src/templates/project/basic/config/microservices.ts.tpl +11 -97
- package/src/templates/project/basic/config/middleware.ts.tpl +27 -18
- package/src/templates/project/basic/config/notification.ts.tpl +14 -127
- package/src/templates/project/basic/config/queue.ts.tpl +16 -79
- package/src/templates/project/basic/config/security.ts.tpl +11 -163
- package/src/templates/project/basic/config/startup.ts.tpl +10 -21
- package/src/templates/project/basic/config/storage.ts.tpl +15 -133
- package/src/templates/project/basic/config/type.ts.tpl +33 -441
- package/src/templates/project/basic/database/factories/UserFactory.ts.tpl +80 -0
- package/src/templates/project/basic/database/migrations/create_tasks_table.ts.tpl +28 -0
- package/src/templates/project/basic/database/migrations/create_users_table.ts.tpl +29 -0
- package/src/templates/project/basic/database/seeders/DatabaseSeeder.ts.tpl +19 -0
- package/src/templates/project/basic/database/seeders/UserSeeder.ts.tpl +18 -0
- package/src/templates/project/basic/database/seeders/index.ts.tpl +2 -0
- package/src/templates/project/basic/package.json.tpl +1 -1
- package/src/templates/project/basic/routes/api.ts.tpl +74 -36
- package/src/templates/project/basic/routes/health.ts.tpl +1 -6
- package/src/templates/project/basic/routes/metrics.ts.tpl +22 -0
- package/src/templates/project/basic/src/index.ts.tpl +7 -80
- package/src/templates/project/basic/tsconfig.json.tpl +12 -13
- package/src/testing/TestEnvironment.d.ts +40 -0
- package/src/testing/TestEnvironment.d.ts.map +1 -0
- package/src/testing/TestEnvironment.js +141 -0
- package/src/testing/TestHttp.d.ts +29 -0
- package/src/testing/TestHttp.d.ts.map +1 -0
- package/src/testing/TestHttp.js +96 -0
- package/src/testing/index.d.ts +5 -0
- package/src/testing/index.d.ts.map +1 -0
- package/src/testing/index.js +2 -0
- package/src/time/DateTime.d.ts +181 -0
- package/src/time/DateTime.d.ts.map +1 -0
- package/src/time/DateTime.js +300 -0
- package/src/time/index.d.ts +7 -0
- package/src/time/index.d.ts.map +1 -0
- package/src/time/index.js +5 -0
- package/src/tools/http/Http.d.ts.map +1 -1
- package/src/tools/http/Http.js +4 -0
- package/src/tools/mail/drivers/Smtp.js +1 -1
- package/src/tools/queue/drivers/InMemory.d.ts +1 -1
- package/src/tools/queue/drivers/InMemory.d.ts.map +1 -1
- package/src/tools/queue/drivers/InMemory.js +1 -1
- package/src/tools/queue/drivers/Redis.d.ts +1 -1
- package/src/tools/queue/drivers/Redis.d.ts.map +1 -1
- package/src/tools/queue/drivers/Redis.js +1 -1
- package/src/validation/ValidationError.d.ts.map +1 -1
- package/src/validation/ValidationError.js +4 -2
- package/src/validation/Validator.d.ts +49 -16
- package/src/validation/Validator.d.ts.map +1 -1
- package/src/validation/Validator.js +307 -5
- package/src/common/uuid.d.ts +0 -3
- package/src/common/uuid.d.ts.map +0 -1
- package/src/common/uuid.js +0 -30
- package/src/templates/project/basic/.env.example.tpl +0 -74
- package/src/templates/project/basic/.env.tpl +0 -166
- package/src/templates/project/basic/database/migrations/index.ts.tpl +0 -2
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multipart Form-Data Parser
|
|
3
|
+
* Parses multipart/form-data requests for file uploads and form fields
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Simple multipart boundary extractor
|
|
7
|
+
*/
|
|
8
|
+
const getBoundary = (contentType) => {
|
|
9
|
+
const match = /boundary=([^;\s]+)/.exec(contentType);
|
|
10
|
+
if (match?.[1] === undefined)
|
|
11
|
+
return undefined;
|
|
12
|
+
return match[1].replaceAll('"', '');
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Extract parts from multipart body by boundary
|
|
16
|
+
*/
|
|
17
|
+
const extractParts = (bodyBuffer, boundary) => {
|
|
18
|
+
const parts = [];
|
|
19
|
+
if (!boundary)
|
|
20
|
+
return parts;
|
|
21
|
+
const boundaryBuffer = Buffer.from(`--${boundary}`);
|
|
22
|
+
let currentPos = 0;
|
|
23
|
+
while (currentPos < bodyBuffer.length) {
|
|
24
|
+
const boundaryPos = bodyBuffer.indexOf(boundaryBuffer, currentPos);
|
|
25
|
+
if (boundaryPos === -1)
|
|
26
|
+
break;
|
|
27
|
+
const start = currentPos + (currentPos === 0 ? 0 : 2); // Skip CRLF before boundary
|
|
28
|
+
const end = boundaryPos;
|
|
29
|
+
if (start < end) {
|
|
30
|
+
parts.push(bodyBuffer.subarray(start, end));
|
|
31
|
+
}
|
|
32
|
+
currentPos = boundaryPos + boundaryBuffer.length;
|
|
33
|
+
}
|
|
34
|
+
return parts;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Parse a single multipart part
|
|
38
|
+
*/
|
|
39
|
+
const parsePart = (part, result) => {
|
|
40
|
+
if (part.length === 0)
|
|
41
|
+
return;
|
|
42
|
+
// Find headers/body separator (double CRLF or double LF)
|
|
43
|
+
const headerEndIdx = part.indexOf(Buffer.from('\r\n\r\n'));
|
|
44
|
+
const headerEndIdx2 = part.indexOf(Buffer.from('\n\n'));
|
|
45
|
+
const headerEnd = headerEndIdx >= 0 ? headerEndIdx : headerEndIdx2;
|
|
46
|
+
if (headerEnd === -1)
|
|
47
|
+
return;
|
|
48
|
+
const headerSection = part.subarray(0, headerEnd).toString('utf-8');
|
|
49
|
+
const bodyStart = headerEnd + (headerEndIdx >= 0 ? 4 : 2);
|
|
50
|
+
// OPTIMIZATION: Do not convert body to string yet, as it might be a binary file
|
|
51
|
+
// Parse headers
|
|
52
|
+
const contentDispositionMatch = /Content-Disposition: form-data; name="([^"]+)"(?:; filename="([^"]*)")?/i.exec(headerSection);
|
|
53
|
+
if (!contentDispositionMatch)
|
|
54
|
+
return;
|
|
55
|
+
const fieldName = contentDispositionMatch[1] ?? '';
|
|
56
|
+
const fileName = contentDispositionMatch[2];
|
|
57
|
+
// Check if it's a file upload
|
|
58
|
+
if (fileName !== undefined && fileName !== null) {
|
|
59
|
+
const contentTypeMatch = /Content-Type: ([^\r\n]+)/i.exec(headerSection);
|
|
60
|
+
const mimeType = contentTypeMatch?.[1] ?? 'application/octet-stream';
|
|
61
|
+
// CRITICAL: Use buffer subarray directly for zero-copy and to prevent binary corruption via trim()
|
|
62
|
+
const buffer = part.subarray(bodyStart);
|
|
63
|
+
const file = {
|
|
64
|
+
fieldName,
|
|
65
|
+
originalName: fileName,
|
|
66
|
+
mimeType,
|
|
67
|
+
buffer,
|
|
68
|
+
size: buffer.length,
|
|
69
|
+
};
|
|
70
|
+
result.files[fieldName] ??= [];
|
|
71
|
+
const files = result.files[fieldName];
|
|
72
|
+
if (files !== undefined) {
|
|
73
|
+
files.push(file);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// Regular form field - safe to convert to string and trim
|
|
78
|
+
const partBody = part.subarray(bodyStart).toString('utf-8').trim();
|
|
79
|
+
const fieldValue = result.fields[fieldName];
|
|
80
|
+
if (fieldValue === undefined) {
|
|
81
|
+
result.fields[fieldName] = partBody;
|
|
82
|
+
}
|
|
83
|
+
else if (Array.isArray(fieldValue)) {
|
|
84
|
+
fieldValue.push(partBody);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
result.fields[fieldName] = [fieldValue, partBody];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Parse multipart/form-data body
|
|
93
|
+
* Note: This is a simplified parser. For production use a proper multipart library
|
|
94
|
+
*/
|
|
95
|
+
export const parseMultipartFormData = (body, boundary) => {
|
|
96
|
+
const result = { fields: {}, files: {} };
|
|
97
|
+
if (!boundary)
|
|
98
|
+
return result;
|
|
99
|
+
const bodyBuffer = typeof body === 'string' ? Buffer.from(body) : body;
|
|
100
|
+
const parts = extractParts(bodyBuffer, boundary);
|
|
101
|
+
for (const part of parts) {
|
|
102
|
+
parsePart(part, result);
|
|
103
|
+
}
|
|
104
|
+
return result;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Parse multipart/form-data from request
|
|
108
|
+
*/
|
|
109
|
+
export const MultipartParser = Object.freeze({
|
|
110
|
+
/**
|
|
111
|
+
* Check if content-type is multipart/form-data
|
|
112
|
+
*/
|
|
113
|
+
isMultipart(contentType) {
|
|
114
|
+
return contentType.includes('multipart/form-data');
|
|
115
|
+
},
|
|
116
|
+
/**
|
|
117
|
+
* Get boundary from content-type header
|
|
118
|
+
*/
|
|
119
|
+
getBoundary(contentType) {
|
|
120
|
+
return getBoundary(contentType);
|
|
121
|
+
},
|
|
122
|
+
/**
|
|
123
|
+
* Parse multipart body
|
|
124
|
+
*/
|
|
125
|
+
parse(body, boundary) {
|
|
126
|
+
return parseMultipartFormData(body, boundary);
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
export default MultipartParser;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { UploadedFile } from '../FileUpload';
|
|
2
|
+
import type { IncomingMessage } from '../../node-singletons/http';
|
|
3
|
+
export type MultipartFieldValue = string | string[];
|
|
4
|
+
export type ParsedMultipartData = {
|
|
5
|
+
fields: Record<string, MultipartFieldValue>;
|
|
6
|
+
files: Record<string, UploadedFile[]>;
|
|
7
|
+
};
|
|
8
|
+
export type MultipartParseInput = {
|
|
9
|
+
req: IncomingMessage;
|
|
10
|
+
contentType: string;
|
|
11
|
+
/**
|
|
12
|
+
* Limits are enforced by the parser implementation.
|
|
13
|
+
* Core provides defaults via env vars, but the parser may choose stricter behavior.
|
|
14
|
+
*/
|
|
15
|
+
limits: {
|
|
16
|
+
maxFileSizeBytes: number;
|
|
17
|
+
maxFiles: number;
|
|
18
|
+
maxFields: number;
|
|
19
|
+
maxFieldSizeBytes: number;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export type MultipartParserProvider = (input: MultipartParseInput) => Promise<ParsedMultipartData>;
|
|
23
|
+
declare function register(next: MultipartParserProvider): void;
|
|
24
|
+
declare function get(): MultipartParserProvider | null;
|
|
25
|
+
declare function has(): boolean;
|
|
26
|
+
declare function clear(): void;
|
|
27
|
+
export declare const MultipartParserRegistry: Readonly<{
|
|
28
|
+
register: typeof register;
|
|
29
|
+
get: typeof get;
|
|
30
|
+
has: typeof has;
|
|
31
|
+
clear: typeof clear;
|
|
32
|
+
}>;
|
|
33
|
+
export default MultipartParserRegistry;
|
|
34
|
+
//# sourceMappingURL=MultipartParserRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultipartParserRegistry.d.ts","sourceRoot":"","sources":["../../../../src/http/parsers/MultipartParserRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,MAAM,EAAE;QACN,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAInG,iBAAS,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAErD;AAED,iBAAS,GAAG,IAAI,uBAAuB,GAAG,IAAI,CAE7C;AAED,iBAAS,GAAG,IAAI,OAAO,CAEtB;AAED,iBAAS,KAAK,IAAI,IAAI,CAErB;AAED,eAAO,MAAM,uBAAuB;;;;;EAKlC,CAAC;AAEH,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
let provider = null;
|
|
2
|
+
function register(next) {
|
|
3
|
+
provider = next;
|
|
4
|
+
}
|
|
5
|
+
function get() {
|
|
6
|
+
return provider;
|
|
7
|
+
}
|
|
8
|
+
function has() {
|
|
9
|
+
return provider !== null;
|
|
10
|
+
}
|
|
11
|
+
function clear() {
|
|
12
|
+
provider = null;
|
|
13
|
+
}
|
|
14
|
+
export const MultipartParserRegistry = Object.freeze({
|
|
15
|
+
register,
|
|
16
|
+
get,
|
|
17
|
+
has,
|
|
18
|
+
clear,
|
|
19
|
+
});
|
|
20
|
+
export default MultipartParserRegistry;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IRequest } from './Request';
|
|
2
|
+
export declare const validatedBody: <TBody = Record<string, unknown>>(req: IRequest) => TBody | undefined;
|
|
3
|
+
export declare const validatedQuery: <TQuery = Record<string, unknown>>(req: IRequest) => TQuery | undefined;
|
|
4
|
+
export declare const validatedParams: <TParams = Record<string, unknown>>(req: IRequest) => TParams | undefined;
|
|
5
|
+
export declare const validatedHeaders: <THeaders = Record<string, unknown>>(req: IRequest) => THeaders | undefined;
|
|
6
|
+
export declare const Validated: Readonly<{
|
|
7
|
+
body: <TBody = Record<string, unknown>>(req: IRequest) => TBody | undefined;
|
|
8
|
+
query: <TQuery = Record<string, unknown>>(req: IRequest) => TQuery | undefined;
|
|
9
|
+
params: <TParams = Record<string, unknown>>(req: IRequest) => TParams | undefined;
|
|
10
|
+
headers: <THeaders = Record<string, unknown>>(req: IRequest) => THeaders | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=validated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validated.d.ts","sourceRoot":"","sources":["../../../src/http/validated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAa9C,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,KAAK,QAAQ,KACZ,KAAK,GAAG,SAKV,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,QAAQ,KACZ,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,KAAK,QAAQ,KACZ,OAAO,GAAG,SAKZ,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,KAAK,QAAQ,KACZ,QAAQ,GAAG,SAKb,CAAC;AAEF,eAAO,MAAM,SAAS;WApCQ,KAAK,iCAC5B,QAAQ,KACZ,KAAK,GAAG,SAAS;YAOW,MAAM,iCAC9B,QAAQ,KACZ,MAAM,GAAG,SAAS;aAOW,OAAO,iCAChC,QAAQ,KACZ,OAAO,GAAG,SAAS;cAOW,QAAQ,iCAClC,QAAQ,KACZ,QAAQ,GAAG,SAAS;EAYrB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const getValidated = (req) => {
|
|
2
|
+
return req.validated;
|
|
3
|
+
};
|
|
4
|
+
export const validatedBody = (req) => {
|
|
5
|
+
const validated = getValidated(req);
|
|
6
|
+
if (validated === undefined)
|
|
7
|
+
return undefined;
|
|
8
|
+
if (validated.body === undefined)
|
|
9
|
+
return undefined;
|
|
10
|
+
return validated.body;
|
|
11
|
+
};
|
|
12
|
+
export const validatedQuery = (req) => {
|
|
13
|
+
const validated = getValidated(req);
|
|
14
|
+
if (validated === undefined)
|
|
15
|
+
return undefined;
|
|
16
|
+
if (validated.query === undefined)
|
|
17
|
+
return undefined;
|
|
18
|
+
return validated.query;
|
|
19
|
+
};
|
|
20
|
+
export const validatedParams = (req) => {
|
|
21
|
+
const validated = getValidated(req);
|
|
22
|
+
if (validated === undefined)
|
|
23
|
+
return undefined;
|
|
24
|
+
if (validated.params === undefined)
|
|
25
|
+
return undefined;
|
|
26
|
+
return validated.params;
|
|
27
|
+
};
|
|
28
|
+
export const validatedHeaders = (req) => {
|
|
29
|
+
const validated = getValidated(req);
|
|
30
|
+
if (validated === undefined)
|
|
31
|
+
return undefined;
|
|
32
|
+
if (validated.headers === undefined)
|
|
33
|
+
return undefined;
|
|
34
|
+
return validated.headers;
|
|
35
|
+
};
|
|
36
|
+
export const Validated = Object.freeze({
|
|
37
|
+
body: validatedBody,
|
|
38
|
+
query: validatedQuery,
|
|
39
|
+
params: validatedParams,
|
|
40
|
+
headers: validatedHeaders,
|
|
41
|
+
});
|
package/src/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ZinTrust Framework - Production-Grade TypeScript Backend
|
|
3
3
|
* Built for performance, type safety, and exceptional developer experience
|
|
4
4
|
*/
|
|
5
5
|
declare const ZintrustApplication: Readonly<{
|
|
@@ -53,11 +53,21 @@ declare const ZintrustSignedRequest: Readonly<{
|
|
|
53
53
|
export { Server } from './boot/Server';
|
|
54
54
|
export { ServiceContainer } from './container/ServiceContainer';
|
|
55
55
|
export { Controller } from './http/Controller';
|
|
56
|
+
export { FileUpload } from './http/FileUpload';
|
|
57
|
+
export type { FileUploadOptions, IFileUploadHandler, UploadedFile } from './http/FileUpload';
|
|
56
58
|
export { Kernel } from './http/Kernel';
|
|
59
|
+
export { bodyParsingMiddleware } from './http/middleware/BodyParsingMiddleware';
|
|
60
|
+
export { fileUploadMiddleware } from './http/middleware/FileUploadMiddleware';
|
|
61
|
+
export { BodyParsers } from './http/parsers/BodyParsers';
|
|
62
|
+
export { MultipartParser } from './http/parsers/MultipartParser';
|
|
63
|
+
export { MultipartParserRegistry } from './http/parsers/MultipartParserRegistry';
|
|
64
|
+
export type { MultipartFieldValue, MultipartParseInput, MultipartParserProvider, ParsedMultipartData, } from './http/parsers/MultipartParserRegistry';
|
|
57
65
|
export { Request } from './http/Request';
|
|
58
|
-
export type { IRequest } from './http/Request';
|
|
66
|
+
export type { IRequest, ValidatedRequest } from './http/Request';
|
|
67
|
+
export { RequestContext } from './http/RequestContext';
|
|
59
68
|
export { Response } from './http/Response';
|
|
60
69
|
export type { IResponse } from './http/Response';
|
|
70
|
+
export { getValidatedBody, getValidatedHeaders, getValidatedParams, getValidatedQuery, hasValidatedBody, requireValidatedBody, ValidationHelper, } from './http/ValidationHelper';
|
|
61
71
|
export { CsrfMiddleware } from './middleware/CsrfMiddleware';
|
|
62
72
|
export { ErrorHandlerMiddleware } from './middleware/ErrorHandlerMiddleware';
|
|
63
73
|
export { LoggingMiddleware } from './middleware/LoggingMiddleware';
|
|
@@ -66,32 +76,47 @@ export type { Middleware } from './middleware/MiddlewareStack';
|
|
|
66
76
|
export { RateLimiter } from './middleware/RateLimiter';
|
|
67
77
|
export { SecurityMiddleware } from './middleware/SecurityMiddleware';
|
|
68
78
|
export { SessionMiddleware } from './middleware/SessionMiddleware';
|
|
79
|
+
export { ValidationMiddleware } from './middleware/ValidationMiddleware';
|
|
69
80
|
export { MySQLAdapter } from './orm/adapters/MySQLAdapter';
|
|
70
81
|
export { PostgreSQLAdapter } from './orm/adapters/PostgreSQLAdapter';
|
|
71
82
|
export { SQLiteAdapter } from './orm/adapters/SQLiteAdapter';
|
|
72
83
|
export { SQLServerAdapter } from './orm/adapters/SQLServerAdapter';
|
|
73
|
-
export { Database, resetDatabase, useDatabase } from './orm/Database';
|
|
84
|
+
export { Database, resetDatabase, useDatabase, useEnsureDbConnected } from './orm/Database';
|
|
85
|
+
export type { IDatabase } from './orm/Database';
|
|
74
86
|
export { Model } from './orm/Model';
|
|
75
87
|
export type { IModel, ModelConfig, ModelStatic } from './orm/Model';
|
|
76
88
|
export { QueryBuilder } from './orm/QueryBuilder';
|
|
89
|
+
export type { InsertResult, IQueryBuilder } from './orm/QueryBuilder';
|
|
77
90
|
export type { IRelationship } from './orm/Relationships';
|
|
78
91
|
export { ZintrustApplication as Application };
|
|
92
|
+
export { DateTime } from './time/DateTime';
|
|
93
|
+
export type { IDateTime } from './time/DateTime';
|
|
94
|
+
export { Schema as MigrationSchema, type Blueprint } from './migrations/schema';
|
|
95
|
+
export { OpenApiGenerator } from './openapi/OpenApiGenerator';
|
|
96
|
+
export type { OpenApiGeneratorOptions } from './openapi/OpenApiGenerator';
|
|
79
97
|
export { DatabaseAdapterRegistry } from './orm/DatabaseAdapterRegistry';
|
|
80
98
|
export { Router } from './routing/Router';
|
|
81
99
|
export type { IRouter } from './routing/Router';
|
|
100
|
+
export { normalizeRouteMeta, RouteRegistry } from './routing/RouteRegistry';
|
|
101
|
+
export type { RouteMeta, RouteMetaInput, RouteRegistration } from './routing/RouteRegistry';
|
|
102
|
+
export { generateSecureJobId, generateUuid, getString, Utilities, type UtilitiesType, } from './common/utility';
|
|
82
103
|
export { delay, ensureDirSafe } from './common/index';
|
|
83
|
-
export { generateSecureJobId, generateUuid } from './common/uuid';
|
|
84
104
|
export { ZintrustAwsSigV4 as AwsSigV4 };
|
|
85
105
|
export { collect, Collection } from './collections/index';
|
|
86
106
|
export type { ICollection, PrimitiveKey } from './collections/index';
|
|
87
107
|
export { HttpClient } from './tools/http/Http';
|
|
88
108
|
export type { IHttpRequest, IHttpResponse } from './tools/http/Http';
|
|
89
|
-
export type { DatabaseConfig, ID1Database } from './orm/DatabaseAdapter';
|
|
109
|
+
export type { DatabaseConfig, ID1Database, IDatabaseAdapter, QueryResult, } from './orm/DatabaseAdapter';
|
|
90
110
|
export { MemoryProfiler } from './profiling/MemoryProfiler';
|
|
91
111
|
export { N1Detector } from './profiling/N1Detector';
|
|
92
112
|
export { QueryLogger } from './profiling/QueryLogger';
|
|
93
113
|
export { RequestProfiler } from './profiling/RequestProfiler';
|
|
94
114
|
export type { MemoryDelta, MemorySnapshot, N1Pattern, ProfileReport, QueryLogEntry, } from './profiling/types';
|
|
115
|
+
export { GenerationCache, LazyLoader, Memoize, ParallelGenerator, PerformanceOptimizer, runAll, runBatch, } from './performance/Optimizer';
|
|
116
|
+
export type { IGenerationCache, ILazyLoader, IPerformanceOptimizer } from './performance/Optimizer';
|
|
117
|
+
export { OpenTelemetry } from './observability/OpenTelemetry';
|
|
118
|
+
export { PrometheusMetrics } from './observability/PrometheusMetrics';
|
|
119
|
+
export type { ObserveDbQueryInput, ObserveHttpRequestInput, } from './observability/PrometheusMetrics';
|
|
95
120
|
export { ValidationError } from './validation/ValidationError';
|
|
96
121
|
export type { FieldError } from './validation/ValidationError';
|
|
97
122
|
export { Schema, Validator } from './validation/Validator';
|
|
@@ -105,6 +130,8 @@ export { JwtManager } from './security/JwtManager';
|
|
|
105
130
|
export type { IJwtManager, JwtAlgorithm, JwtManagerType, JwtOptions, JwtPayload, } from './security/JwtManager';
|
|
106
131
|
export { PasswordResetTokenBroker } from './security/PasswordResetTokenBroker';
|
|
107
132
|
export type { IPasswordResetTokenBroker, IPasswordResetTokenStore, PasswordResetTokenBrokerOptions, PasswordResetTokenBrokerType, PasswordResetTokenRecord, } from './security/PasswordResetTokenBroker';
|
|
133
|
+
export { createSanitizer, Sanitizer, type SanitizerType } from './security/Sanitizer';
|
|
134
|
+
export { TokenRevocation } from './security/TokenRevocation';
|
|
108
135
|
export { Xss } from './security/Xss';
|
|
109
136
|
export { XssProtection } from './security/XssProtection';
|
|
110
137
|
export { ZintrustSignedRequest as SignedRequest };
|
|
@@ -115,10 +142,13 @@ export { SessionManager } from './session/SessionManager';
|
|
|
115
142
|
export type { ISession, ISessionManager, SessionData, SessionManagerOptions, } from './session/SessionManager';
|
|
116
143
|
export { Env } from './config/env';
|
|
117
144
|
export { Logger } from './config/logger';
|
|
145
|
+
export type * from './config/type';
|
|
118
146
|
export { appConfig } from './config/app';
|
|
119
147
|
export type { AppConfig } from './config/app';
|
|
120
148
|
export { cacheConfig } from './config/cache';
|
|
121
149
|
export type { CacheConfig } from './config/cache';
|
|
150
|
+
export { Cache, cache } from './cache/Cache';
|
|
151
|
+
export type { CacheDriver } from './cache/CacheDriver';
|
|
122
152
|
export { registerCachesFromRuntimeConfig } from './cache/CacheRuntimeRegistration';
|
|
123
153
|
export { CacheDriverRegistry } from './cache/CacheDriverRegistry';
|
|
124
154
|
export { databaseConfig } from './config/database';
|
|
@@ -126,7 +156,16 @@ export type { DatabaseConfig as DatabaseRuntimeConfig } from './config/database'
|
|
|
126
156
|
export { registerDatabasesFromRuntimeConfig } from './orm/DatabaseRuntimeRegistration';
|
|
127
157
|
export { microservicesConfig } from './config/microservices';
|
|
128
158
|
export type { MicroservicesConfig } from './config/microservices';
|
|
129
|
-
export {
|
|
159
|
+
export { MicroserviceBootstrap } from './microservices/MicroserviceBootstrap';
|
|
160
|
+
export type { IMicroserviceBootstrap, ServiceConfig } from './microservices/MicroserviceBootstrap';
|
|
161
|
+
export { MicroserviceManager } from './microservices/MicroserviceManager';
|
|
162
|
+
export type { IMicroserviceManager, MicroserviceConfig } from './microservices/MicroserviceManager';
|
|
163
|
+
export { RequestTracingMiddleware } from './microservices/RequestTracingMiddleware';
|
|
164
|
+
export { ServiceAuthMiddleware } from './microservices/ServiceAuthMiddleware';
|
|
165
|
+
export { HealthCheckHandler, ServiceHealthMonitor } from './microservices/ServiceHealthMonitor';
|
|
166
|
+
export type { AggregatedHealthStatus, HealthCheckResult, IServiceHealthMonitor, } from './microservices/ServiceHealthMonitor';
|
|
167
|
+
export { middlewareConfig, MiddlewareKeys } from './config/middleware';
|
|
168
|
+
export type { MiddlewareKey } from './config/middleware';
|
|
130
169
|
export type { MiddlewareConfigType } from './config/type';
|
|
131
170
|
export { queueConfig } from './config/queue';
|
|
132
171
|
export type { QueueConfig } from './config/queue';
|
|
@@ -142,7 +181,8 @@ export type { StartupConfig } from './config/startup';
|
|
|
142
181
|
export { Constants, DEFAULTS, ENV_KEYS, HTTP_HEADERS, MIME_TYPES } from './config/constants';
|
|
143
182
|
export { FeatureFlags } from './config/features';
|
|
144
183
|
export { Cloudflare } from './config/cloudflare';
|
|
145
|
-
export { SecretsManager } from './config/SecretsManager';
|
|
184
|
+
export { getDatabaseCredentials, getJwtSecrets, SECRETS, SecretsManager, } from './config/SecretsManager';
|
|
185
|
+
export type { DatabaseCredentials, JwtSecrets } from './config/SecretsManager';
|
|
146
186
|
export type { MailDriverConfig, MailDriverName, WorkersEnv } from './config/type';
|
|
147
187
|
export { StartupConfigValidator } from './config/StartupConfigValidator';
|
|
148
188
|
export { Mail } from './tools/mail/Mail';
|
|
@@ -180,4 +220,22 @@ export { GcsDriver } from './tools/storage/drivers/Gcs';
|
|
|
180
220
|
export type { GcsConfig } from './tools/storage/drivers/Gcs';
|
|
181
221
|
export { RedisQueue } from './tools/queue/drivers/Redis';
|
|
182
222
|
export { Queue } from './tools/queue/Queue';
|
|
223
|
+
export { SeederLoader } from './seeders/SeederLoader';
|
|
224
|
+
export type { LoadedSeeder, SeederHandler } from './seeders/types';
|
|
225
|
+
export { default as logCleanup } from './schedules/log-cleanup';
|
|
226
|
+
export * as NodeSingletons from './node-singletons/index';
|
|
227
|
+
export { Auth } from './features/Auth';
|
|
228
|
+
export { MicroserviceGenerator } from './microservices/MicroserviceGenerator';
|
|
229
|
+
export type { GenerateServiceOptions, IMicroserviceGenerator, } from './microservices/MicroserviceGenerator';
|
|
230
|
+
export { BaseCommand } from './cli/BaseCommand';
|
|
231
|
+
export type { CommandOptions } from './cli/BaseCommand';
|
|
232
|
+
export { CLI } from './cli/CLI';
|
|
233
|
+
export { ErrorHandler, EXIT_CODES } from './cli/ErrorHandler';
|
|
234
|
+
export { getKernel } from './runtime/getKernel';
|
|
235
|
+
export { RuntimeDetector } from './runtime/RuntimeDetector';
|
|
236
|
+
export { PluginManager } from './runtime/PluginManager';
|
|
237
|
+
export { PluginRegistry } from './runtime/PluginRegistry';
|
|
238
|
+
export { nowIso } from './common/utility';
|
|
239
|
+
export type { SanitizerError } from './exceptions/ZintrustError';
|
|
240
|
+
export { randomBytes } from './node-singletons/crypto';
|
|
183
241
|
//# sourceMappingURL=index.d.ts.map
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,QAAA,MAAM,mBAAmB;;EAAc,CAAC;AACxC,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAW,CAAC;AAClC,QAAA,MAAM,qBAAqB;;;;;;;;;;;EAAgB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ZinTrust Framework - Production-Grade TypeScript Backend
|
|
3
3
|
* Built for performance, type safety, and exceptional developer experience
|
|
4
4
|
*/
|
|
5
5
|
import { Application } from './boot/Application.js';
|
|
@@ -11,9 +11,17 @@ const ZintrustSignedRequest = SignedRequest;
|
|
|
11
11
|
export { Server } from './boot/Server.js';
|
|
12
12
|
export { ServiceContainer } from './container/ServiceContainer.js';
|
|
13
13
|
export { Controller } from './http/Controller.js';
|
|
14
|
+
export { FileUpload } from './http/FileUpload.js';
|
|
14
15
|
export { Kernel } from './http/Kernel.js';
|
|
16
|
+
export { bodyParsingMiddleware } from './http/middleware/BodyParsingMiddleware.js';
|
|
17
|
+
export { fileUploadMiddleware } from './http/middleware/FileUploadMiddleware.js';
|
|
18
|
+
export { BodyParsers } from './http/parsers/BodyParsers.js';
|
|
19
|
+
export { MultipartParser } from './http/parsers/MultipartParser.js';
|
|
20
|
+
export { MultipartParserRegistry } from './http/parsers/MultipartParserRegistry.js';
|
|
15
21
|
export { Request } from './http/Request.js';
|
|
22
|
+
export { RequestContext } from './http/RequestContext.js';
|
|
16
23
|
export { Response } from './http/Response.js';
|
|
24
|
+
export { getValidatedBody, getValidatedHeaders, getValidatedParams, getValidatedQuery, hasValidatedBody, requireValidatedBody, ValidationHelper, } from './http/ValidationHelper.js';
|
|
17
25
|
export { CsrfMiddleware } from './middleware/CsrfMiddleware.js';
|
|
18
26
|
export { ErrorHandlerMiddleware } from './middleware/ErrorHandlerMiddleware.js';
|
|
19
27
|
export { LoggingMiddleware } from './middleware/LoggingMiddleware.js';
|
|
@@ -21,20 +29,29 @@ export { MiddlewareStack } from './middleware/MiddlewareStack.js';
|
|
|
21
29
|
export { RateLimiter } from './middleware/RateLimiter.js';
|
|
22
30
|
export { SecurityMiddleware } from './middleware/SecurityMiddleware.js';
|
|
23
31
|
export { SessionMiddleware } from './middleware/SessionMiddleware.js';
|
|
32
|
+
export { ValidationMiddleware } from './middleware/ValidationMiddleware.js';
|
|
24
33
|
export { MySQLAdapter } from './orm/adapters/MySQLAdapter.js';
|
|
25
34
|
export { PostgreSQLAdapter } from './orm/adapters/PostgreSQLAdapter.js';
|
|
26
35
|
export { SQLiteAdapter } from './orm/adapters/SQLiteAdapter.js';
|
|
27
36
|
export { SQLServerAdapter } from './orm/adapters/SQLServerAdapter.js';
|
|
28
|
-
export { Database, resetDatabase, useDatabase } from './orm/Database.js';
|
|
37
|
+
export { Database, resetDatabase, useDatabase, useEnsureDbConnected } from './orm/Database.js';
|
|
29
38
|
export { Model } from './orm/Model.js';
|
|
30
39
|
export { QueryBuilder } from './orm/QueryBuilder.js';
|
|
31
40
|
export { ZintrustApplication as Application };
|
|
41
|
+
// Time Utilities
|
|
42
|
+
export { DateTime } from './time/DateTime.js';
|
|
43
|
+
// Migrations
|
|
44
|
+
// Note: `Schema` is already exported by Validation. We expose the migration schema runtime
|
|
45
|
+
// as `MigrationSchema` to avoid name collisions.
|
|
46
|
+
export { Schema as MigrationSchema } from './migrations/schema/index.js';
|
|
32
47
|
// Adapter registry (for external adapter packages)
|
|
48
|
+
export { OpenApiGenerator } from './openapi/OpenApiGenerator.js';
|
|
33
49
|
export { DatabaseAdapterRegistry } from './orm/DatabaseAdapterRegistry.js';
|
|
34
50
|
export { Router } from './routing/Router.js';
|
|
51
|
+
export { normalizeRouteMeta, RouteRegistry } from './routing/RouteRegistry.js';
|
|
35
52
|
// Common
|
|
53
|
+
export { generateSecureJobId, generateUuid, getString, Utilities, } from './common/utility.js';
|
|
36
54
|
export { delay, ensureDirSafe } from './common/index.js';
|
|
37
|
-
export { generateSecureJobId, generateUuid } from './common/uuid.js';
|
|
38
55
|
export { ZintrustAwsSigV4 as AwsSigV4 };
|
|
39
56
|
// Collections
|
|
40
57
|
export { collect, Collection } from './collections/index.js';
|
|
@@ -45,6 +62,11 @@ export { MemoryProfiler } from './profiling/MemoryProfiler.js';
|
|
|
45
62
|
export { N1Detector } from './profiling/N1Detector.js';
|
|
46
63
|
export { QueryLogger } from './profiling/QueryLogger.js';
|
|
47
64
|
export { RequestProfiler } from './profiling/RequestProfiler.js';
|
|
65
|
+
// Performance
|
|
66
|
+
export { GenerationCache, LazyLoader, Memoize, ParallelGenerator, PerformanceOptimizer, runAll, runBatch, } from './performance/Optimizer.js';
|
|
67
|
+
// Observability
|
|
68
|
+
export { OpenTelemetry } from './observability/OpenTelemetry.js';
|
|
69
|
+
export { PrometheusMetrics } from './observability/PrometheusMetrics.js';
|
|
48
70
|
// Validation
|
|
49
71
|
export { ValidationError } from './validation/ValidationError.js';
|
|
50
72
|
export { Schema, Validator } from './validation/Validator.js';
|
|
@@ -55,6 +77,8 @@ export { Encryptor } from './security/Encryptor.js';
|
|
|
55
77
|
export { Hash } from './security/Hash.js';
|
|
56
78
|
export { JwtManager } from './security/JwtManager.js';
|
|
57
79
|
export { PasswordResetTokenBroker } from './security/PasswordResetTokenBroker.js';
|
|
80
|
+
export { createSanitizer, Sanitizer } from './security/Sanitizer.js';
|
|
81
|
+
export { TokenRevocation } from './security/TokenRevocation.js';
|
|
58
82
|
export { Xss } from './security/Xss.js';
|
|
59
83
|
export { XssProtection } from './security/XssProtection.js';
|
|
60
84
|
export { ZintrustSignedRequest as SignedRequest };
|
|
@@ -69,13 +93,21 @@ export { Env } from './config/env.js';
|
|
|
69
93
|
export { Logger } from './config/logger.js';
|
|
70
94
|
export { appConfig } from './config/app.js';
|
|
71
95
|
export { cacheConfig } from './config/cache.js';
|
|
96
|
+
// Cache helpers
|
|
97
|
+
export { Cache, cache } from './cache/Cache.js';
|
|
72
98
|
export { registerCachesFromRuntimeConfig } from './cache/CacheRuntimeRegistration.js';
|
|
73
99
|
// Cache driver registry (for external driver packages)
|
|
74
100
|
export { CacheDriverRegistry } from './cache/CacheDriverRegistry.js';
|
|
75
101
|
export { databaseConfig } from './config/database.js';
|
|
76
102
|
export { registerDatabasesFromRuntimeConfig } from './orm/DatabaseRuntimeRegistration.js';
|
|
77
103
|
export { microservicesConfig } from './config/microservices.js';
|
|
78
|
-
|
|
104
|
+
// Microservices
|
|
105
|
+
export { MicroserviceBootstrap } from './microservices/MicroserviceBootstrap.js';
|
|
106
|
+
export { MicroserviceManager } from './microservices/MicroserviceManager.js';
|
|
107
|
+
export { RequestTracingMiddleware } from './microservices/RequestTracingMiddleware.js';
|
|
108
|
+
export { ServiceAuthMiddleware } from './microservices/ServiceAuthMiddleware.js';
|
|
109
|
+
export { HealthCheckHandler, ServiceHealthMonitor } from './microservices/ServiceHealthMonitor.js';
|
|
110
|
+
export { middlewareConfig, MiddlewareKeys } from './config/middleware.js';
|
|
79
111
|
export { queueConfig } from './config/queue.js';
|
|
80
112
|
export { default as broadcastConfig } from './config/broadcast.js';
|
|
81
113
|
export { default as notificationConfig } from './config/notification.js';
|
|
@@ -86,7 +118,7 @@ export { startupConfig } from './config/startup.js';
|
|
|
86
118
|
export { Constants, DEFAULTS, ENV_KEYS, HTTP_HEADERS, MIME_TYPES } from './config/constants.js';
|
|
87
119
|
export { FeatureFlags } from './config/features.js';
|
|
88
120
|
export { Cloudflare } from './config/cloudflare.js';
|
|
89
|
-
export { SecretsManager } from './config/SecretsManager.js';
|
|
121
|
+
export { getDatabaseCredentials, getJwtSecrets, SECRETS, SecretsManager, } from './config/SecretsManager.js';
|
|
90
122
|
// Config (validation)
|
|
91
123
|
export { StartupConfigValidator } from './config/StartupConfigValidator.js';
|
|
92
124
|
// Mail
|
|
@@ -125,5 +157,27 @@ export { GcsDriver } from './tools/storage/drivers/Gcs.js';
|
|
|
125
157
|
// Queue drivers (for external registration packages)
|
|
126
158
|
export { RedisQueue } from './tools/queue/drivers/Redis.js';
|
|
127
159
|
export { Queue } from './tools/queue/Queue.js';
|
|
160
|
+
// Seeders (for database seeding)
|
|
161
|
+
export { SeederLoader } from './seeders/SeederLoader.js';
|
|
162
|
+
// Schedules
|
|
163
|
+
export { default as logCleanup } from './schedules/log-cleanup.js';
|
|
164
|
+
// Node Singletons (cross-runtime wrappers for Node.js APIs)
|
|
165
|
+
export * as NodeSingletons from './node-singletons/index.js';
|
|
166
|
+
// Auth features
|
|
167
|
+
export { Auth } from './features/Auth.js';
|
|
168
|
+
// Microservice utilities
|
|
169
|
+
export { MicroserviceGenerator } from './microservices/MicroserviceGenerator.js';
|
|
170
|
+
// CLI utilities (for build tools and scripting)
|
|
171
|
+
export { BaseCommand } from './cli/BaseCommand.js';
|
|
172
|
+
export { CLI } from './cli/CLI.js';
|
|
173
|
+
export { ErrorHandler, EXIT_CODES } from './cli/ErrorHandler.js';
|
|
174
|
+
// Runtime detection and kernel
|
|
175
|
+
export { getKernel } from './runtime/getKernel.js';
|
|
176
|
+
export { RuntimeDetector } from './runtime/RuntimeDetector.js';
|
|
177
|
+
// Plugin system
|
|
178
|
+
export { PluginManager } from './runtime/PluginManager.js';
|
|
179
|
+
export { PluginRegistry } from './runtime/PluginRegistry.js';
|
|
180
|
+
export { nowIso } from './common/utility.js';
|
|
181
|
+
export { randomBytes } from './node-singletons/crypto.js';
|
|
128
182
|
// NOTE: Node-only exports (like FileLogWriter, process) are intentionally not
|
|
129
183
|
// exported from this root entrypoint. Use the '@zintrust/core/node' subpath.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IRequest } from '../http/Request';
|
|
2
|
-
import { IResponse } from '../http/Response';
|
|
1
|
+
import type { IRequest } from '../http/Request';
|
|
2
|
+
import type { IResponse } from '../http/Response';
|
|
3
3
|
export type NextFunction = (error?: Error) => void | Promise<void>;
|
|
4
4
|
export interface MNextFunction {
|
|
5
5
|
middleware(serviceName: string, enabled?: boolean, samplingRate?: number): (req: IRequest, res: IResponse, next: NextFunction) => void | Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestTracingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/microservices/RequestTracingMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"RequestTracingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/microservices/RequestTracingMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,GACzB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;oBACa,MAAM,eAAe,MAAM,GAAG,YAAY;EAqB1D,CAAC;AAoGH;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,aAAa,CAuB/D;AAED,eAAO,MAAM,wBAAwB,EAAE,aAAiD,CAAC;AAEzF,eAAO,MAAM,UAAU,GACrB,aAAa,MAAM,EACnB,UAAS,OAAc,EACvB,eAAc,MAAU,KACvB,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CACN,CAAC;AAE1E,eAAe,wBAAwB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Env } from '../config/env.js';
|
|
2
2
|
import { Logger } from '../config/logger.js';
|
|
3
|
+
import { RequestContext } from '../http/RequestContext.js';
|
|
3
4
|
import * as crypto from '../node-singletons/crypto.js';
|
|
4
5
|
/**
|
|
5
6
|
* Trace logger for structured logging
|
|
@@ -62,6 +63,8 @@ function createTracingMiddleware(serviceName, enabled, samplingRate) {
|
|
|
62
63
|
startTime: Date.now(),
|
|
63
64
|
serviceName,
|
|
64
65
|
};
|
|
66
|
+
// Keep the generic RequestContext traceId in sync for shared logging/observability.
|
|
67
|
+
RequestContext.setTraceId(req, traceId);
|
|
65
68
|
req.context = Object.keys(req.context).length > 0 ? req.context : {};
|
|
66
69
|
req.context['trace'] = traceContext;
|
|
67
70
|
req.context['traceLogger'] = TraceLogger.create(traceId, serviceName);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IRequest } from '../http/Request';
|
|
2
|
-
import { IResponse } from '../http/Response';
|
|
1
|
+
import type { IRequest } from '../http/Request';
|
|
2
|
+
import type { IResponse } from '../http/Response';
|
|
3
3
|
export type NextFunction = (error?: Error) => void | Promise<void>;
|
|
4
4
|
/**
|
|
5
5
|
* Service-to-service authentication strategies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAuthMiddleware.d.ts","sourceRoot":"","sources":["../../../src/microservices/ServiceAuthMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ServiceAuthMiddleware.d.ts","sourceRoot":"","sources":["../../../src/microservices/ServiceAuthMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;oBACa,MAAM,GAAG,WAAW;EA6BpC,CAAC;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;OAEG;oBACa,MAAM,GAAG,QAAQ;EAyDjC,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;sBACe,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW;EAO1D,CAAC;AAEH,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAChE,UAAU,CACR,QAAQ,EAAE,YAAY,GACrB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF;AAwMD,eAAO,MAAM,qBAAqB,kCAA+C,CAAC;AAElF,eAAe,qBAAqB,CAAC"}
|