@zintrust/core 0.1.49 → 0.1.51
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/bin/z.js +0 -0
- package/bin/zin.js +0 -0
- package/bin/zintrust.js +0 -0
- package/bin/zt.js +0 -0
- package/package.json +1 -9
- package/src/boot/bootstrap.js +2 -6
- package/src/boot/registry/runtime.d.ts.map +1 -1
- package/src/boot/registry/runtime.js +6 -1
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +27 -50
- package/src/cli/scaffolding/env.d.ts +2 -0
- package/src/cli/scaffolding/env.d.ts.map +1 -0
- package/src/cli/scaffolding/env.js +549 -0
- package/src/cli/utils/EnvFileLoader.js +1 -1
- package/src/config/index.d.ts +1 -1
- package/src/config/index.d.ts.map +1 -1
- package/src/config/index.js +30 -10
- package/src/config/logger.d.ts.map +1 -1
- package/src/config/logger.js +56 -9
- package/src/index.d.ts +0 -2
- package/src/index.d.ts.map +1 -1
- package/src/index.js +3 -5
- package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -2
- package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -1
- package/src/proxy/d1/ZintrustD1Proxy.js +39 -2
- package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -2
- package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -1
- package/src/proxy/kv/ZintrustKvProxy.js +38 -2
- package/src/runtime/PluginAutoImports.js +1 -1
- package/src/runtime/WorkersModule.d.ts.map +1 -1
- package/src/runtime/WorkersModule.js +66 -0
- package/src/security/JwtManager.js +1 -1
- package/app/Controllers/AuthController.d.ts +0 -10
- package/app/Controllers/AuthController.d.ts.map +0 -1
- package/app/Controllers/AuthController.js +0 -223
- package/app/Controllers/UserController.d.ts +0 -9
- package/app/Controllers/UserController.d.ts.map +0 -1
- package/app/Controllers/UserController.js +0 -8
- package/app/Controllers/UserQueryBuilderController.d.ts +0 -16
- package/app/Controllers/UserQueryBuilderController.d.ts.map +0 -1
- package/app/Controllers/UserQueryBuilderController.js +0 -404
- package/app/Middleware/ProfilerMiddleware.d.ts +0 -12
- package/app/Middleware/ProfilerMiddleware.d.ts.map +0 -1
- package/app/Middleware/ProfilerMiddleware.js +0 -47
- package/app/Middleware/index.d.ts +0 -59
- package/app/Middleware/index.d.ts.map +0 -1
- package/app/Middleware/index.js +0 -215
- package/app/Models/Post.d.ts +0 -14
- package/app/Models/Post.d.ts.map +0 -1
- package/app/Models/Post.js +0 -27
- package/app/Models/User.d.ts +0 -14
- package/app/Models/User.d.ts.map +0 -1
- package/app/Models/User.js +0 -44
- package/app/Schedules/JobTracking.d.ts +0 -3
- package/app/Schedules/JobTracking.d.ts.map +0 -1
- package/app/Schedules/JobTracking.js +0 -13
- package/app/Schedules/index.d.ts +0 -2
- package/app/Schedules/index.d.ts.map +0 -1
- package/app/Schedules/index.js +0 -1
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts +0 -6
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +0 -1
- package/app/Toolkit/Broadcast/sendBroadcast.js +0 -5
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +0 -6
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +0 -1
- package/app/Toolkit/Mail/sendWelcomeEmail.js +0 -20
- package/app/Toolkit/Notification/sendSlackNotification.d.ts +0 -8
- package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +0 -1
- package/app/Toolkit/Notification/sendSlackNotification.js +0 -5
- package/app/Toolkit/Notification/sendSms.d.ts +0 -6
- package/app/Toolkit/Notification/sendSms.d.ts.map +0 -1
- package/app/Toolkit/Notification/sendSms.js +0 -5
- package/app/Types/controller.d.ts +0 -44
- package/app/Types/controller.d.ts.map +0 -1
- package/app/Types/controller.js +0 -1
- package/config/broadcast.d.ts +0 -38
- package/config/broadcast.d.ts.map +0 -1
- package/config/broadcast.js +0 -37
- package/config/cache.d.ts +0 -40
- package/config/cache.d.ts.map +0 -1
- package/config/cache.js +0 -39
- package/config/database.d.ts +0 -58
- package/config/database.d.ts.map +0 -1
- package/config/database.js +0 -65
- package/config/mail.d.ts +0 -51
- package/config/mail.d.ts.map +0 -1
- package/config/mail.js +0 -69
- package/config/middleware.d.ts +0 -11
- package/config/middleware.d.ts.map +0 -1
- package/config/middleware.js +0 -30
- package/config/notification.d.ts +0 -33
- package/config/notification.d.ts.map +0 -1
- package/config/notification.js +0 -33
- package/config/queue.d.ts +0 -55
- package/config/queue.d.ts.map +0 -1
- package/config/queue.js +0 -87
- package/config/storage.d.ts +0 -59
- package/config/storage.d.ts.map +0 -1
- package/config/storage.js +0 -59
- package/config/workers.d.ts +0 -54
- package/config/workers.d.ts.map +0 -1
- package/config/workers.js +0 -83
- package/packages/cloudflare-d1-proxy/src/index.d.ts +0 -48
- package/packages/cloudflare-d1-proxy/src/index.d.ts.map +0 -1
- package/packages/cloudflare-d1-proxy/src/index.js +0 -387
- package/packages/cloudflare-kv-proxy/src/index.d.ts +0 -44
- package/packages/cloudflare-kv-proxy/src/index.d.ts.map +0 -1
- package/packages/cloudflare-kv-proxy/src/index.js +0 -325
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts +0 -35
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +0 -1
- package/packages/queue-monitor/src/QueueMonitoringService.js +0 -194
- package/packages/queue-monitor/src/connection.d.ts +0 -3
- package/packages/queue-monitor/src/connection.d.ts.map +0 -1
- package/packages/queue-monitor/src/connection.js +0 -1
- package/packages/queue-monitor/src/dashboard-ui.d.ts +0 -7
- package/packages/queue-monitor/src/dashboard-ui.d.ts.map +0 -1
- package/packages/queue-monitor/src/dashboard-ui.js +0 -997
- package/packages/queue-monitor/src/driver.d.ts +0 -15
- package/packages/queue-monitor/src/driver.d.ts.map +0 -1
- package/packages/queue-monitor/src/driver.js +0 -115
- package/packages/queue-monitor/src/index.d.ts +0 -71
- package/packages/queue-monitor/src/index.d.ts.map +0 -1
- package/packages/queue-monitor/src/index.js +0 -296
- package/packages/queue-monitor/src/metrics.d.ts +0 -27
- package/packages/queue-monitor/src/metrics.d.ts.map +0 -1
- package/packages/queue-monitor/src/metrics.js +0 -92
- package/packages/queue-monitor/src/worker.d.ts +0 -8
- package/packages/queue-monitor/src/worker.d.ts.map +0 -1
- package/packages/queue-monitor/src/worker.js +0 -35
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts +0 -26
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +0 -1
- package/packages/queue-redis/src/BullMQRedisQueue.js +0 -463
- package/packages/queue-redis/src/HttpQueueDriver.d.ts +0 -18
- package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +0 -1
- package/packages/queue-redis/src/HttpQueueDriver.js +0 -249
- package/packages/queue-redis/src/QueueHttpGateway.d.ts +0 -16
- package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +0 -1
- package/packages/queue-redis/src/QueueHttpGateway.js +0 -217
- package/packages/queue-redis/src/RedisPublishClient.d.ts +0 -14
- package/packages/queue-redis/src/RedisPublishClient.d.ts.map +0 -1
- package/packages/queue-redis/src/RedisPublishClient.js +0 -251
- package/packages/queue-redis/src/index.d.ts +0 -12
- package/packages/queue-redis/src/index.d.ts.map +0 -1
- package/packages/queue-redis/src/index.js +0 -10
- package/packages/queue-redis/src/register.d.ts +0 -6
- package/packages/queue-redis/src/register.d.ts.map +0 -1
- package/packages/queue-redis/src/register.js +0 -21
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +0 -11
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +0 -1
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +0 -32
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +0 -11
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +0 -1
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +0 -46
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +0 -7
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +0 -1
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +0 -44
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +0 -7
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +0 -1
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +0 -104
- package/packages/workers/src/AnomalyDetection.d.ts +0 -107
- package/packages/workers/src/AnomalyDetection.d.ts.map +0 -1
- package/packages/workers/src/AnomalyDetection.js +0 -329
- package/packages/workers/src/AutoScaler.d.ts +0 -128
- package/packages/workers/src/AutoScaler.d.ts.map +0 -1
- package/packages/workers/src/AutoScaler.js +0 -425
- package/packages/workers/src/BroadcastWorker.d.ts +0 -24
- package/packages/workers/src/BroadcastWorker.d.ts.map +0 -1
- package/packages/workers/src/BroadcastWorker.js +0 -24
- package/packages/workers/src/CanaryController.d.ts +0 -104
- package/packages/workers/src/CanaryController.d.ts.map +0 -1
- package/packages/workers/src/CanaryController.js +0 -424
- package/packages/workers/src/ChaosEngineering.d.ts +0 -80
- package/packages/workers/src/ChaosEngineering.d.ts.map +0 -1
- package/packages/workers/src/ChaosEngineering.js +0 -229
- package/packages/workers/src/CircuitBreaker.d.ts +0 -107
- package/packages/workers/src/CircuitBreaker.d.ts.map +0 -1
- package/packages/workers/src/CircuitBreaker.js +0 -374
- package/packages/workers/src/ClusterLock.d.ts +0 -91
- package/packages/workers/src/ClusterLock.d.ts.map +0 -1
- package/packages/workers/src/ClusterLock.js +0 -397
- package/packages/workers/src/ComplianceManager.d.ts +0 -178
- package/packages/workers/src/ComplianceManager.d.ts.map +0 -1
- package/packages/workers/src/ComplianceManager.js +0 -556
- package/packages/workers/src/DatacenterOrchestrator.d.ts +0 -134
- package/packages/workers/src/DatacenterOrchestrator.d.ts.map +0 -1
- package/packages/workers/src/DatacenterOrchestrator.js +0 -404
- package/packages/workers/src/DeadLetterQueue.d.ts +0 -123
- package/packages/workers/src/DeadLetterQueue.d.ts.map +0 -1
- package/packages/workers/src/DeadLetterQueue.js +0 -544
- package/packages/workers/src/HealthMonitor.d.ts +0 -43
- package/packages/workers/src/HealthMonitor.d.ts.map +0 -1
- package/packages/workers/src/HealthMonitor.js +0 -312
- package/packages/workers/src/MultiQueueWorker.d.ts +0 -90
- package/packages/workers/src/MultiQueueWorker.d.ts.map +0 -1
- package/packages/workers/src/MultiQueueWorker.js +0 -282
- package/packages/workers/src/NotificationWorker.d.ts +0 -24
- package/packages/workers/src/NotificationWorker.d.ts.map +0 -1
- package/packages/workers/src/NotificationWorker.js +0 -23
- package/packages/workers/src/Observability.d.ts +0 -154
- package/packages/workers/src/Observability.d.ts.map +0 -1
- package/packages/workers/src/Observability.js +0 -538
- package/packages/workers/src/PluginManager.d.ts +0 -124
- package/packages/workers/src/PluginManager.d.ts.map +0 -1
- package/packages/workers/src/PluginManager.js +0 -392
- package/packages/workers/src/PriorityQueue.d.ts +0 -118
- package/packages/workers/src/PriorityQueue.d.ts.map +0 -1
- package/packages/workers/src/PriorityQueue.js +0 -276
- package/packages/workers/src/ResourceMonitor.d.ts +0 -165
- package/packages/workers/src/ResourceMonitor.d.ts.map +0 -1
- package/packages/workers/src/ResourceMonitor.js +0 -632
- package/packages/workers/src/SLAMonitor.d.ts +0 -111
- package/packages/workers/src/SLAMonitor.d.ts.map +0 -1
- package/packages/workers/src/SLAMonitor.js +0 -274
- package/packages/workers/src/WorkerFactory.d.ts +0 -218
- package/packages/workers/src/WorkerFactory.d.ts.map +0 -1
- package/packages/workers/src/WorkerFactory.js +0 -2253
- package/packages/workers/src/WorkerInit.d.ts +0 -86
- package/packages/workers/src/WorkerInit.d.ts.map +0 -1
- package/packages/workers/src/WorkerInit.js +0 -307
- package/packages/workers/src/WorkerMetrics.d.ts +0 -116
- package/packages/workers/src/WorkerMetrics.d.ts.map +0 -1
- package/packages/workers/src/WorkerMetrics.js +0 -570
- package/packages/workers/src/WorkerRegistry.d.ts +0 -152
- package/packages/workers/src/WorkerRegistry.d.ts.map +0 -1
- package/packages/workers/src/WorkerRegistry.js +0 -396
- package/packages/workers/src/WorkerShutdown.d.ts +0 -70
- package/packages/workers/src/WorkerShutdown.d.ts.map +0 -1
- package/packages/workers/src/WorkerShutdown.js +0 -185
- package/packages/workers/src/WorkerVersioning.d.ts +0 -108
- package/packages/workers/src/WorkerVersioning.d.ts.map +0 -1
- package/packages/workers/src/WorkerVersioning.js +0 -300
- package/packages/workers/src/config/workerConfig.d.ts +0 -5
- package/packages/workers/src/config/workerConfig.d.ts.map +0 -1
- package/packages/workers/src/config/workerConfig.js +0 -25
- package/packages/workers/src/createQueueWorker.d.ts +0 -26
- package/packages/workers/src/createQueueWorker.d.ts.map +0 -1
- package/packages/workers/src/createQueueWorker.js +0 -367
- package/packages/workers/src/dashboard/index.d.ts +0 -2
- package/packages/workers/src/dashboard/index.d.ts.map +0 -1
- package/packages/workers/src/dashboard/index.js +0 -1
- package/packages/workers/src/dashboard/types.d.ts +0 -123
- package/packages/workers/src/dashboard/types.d.ts.map +0 -1
- package/packages/workers/src/dashboard/types.js +0 -1
- package/packages/workers/src/dashboard/workers-api.d.ts +0 -5
- package/packages/workers/src/dashboard/workers-api.d.ts.map +0 -1
- package/packages/workers/src/dashboard/workers-api.js +0 -738
- package/packages/workers/src/helper/index.d.ts +0 -6
- package/packages/workers/src/helper/index.d.ts.map +0 -1
- package/packages/workers/src/helper/index.js +0 -10
- package/packages/workers/src/http/WorkerApiController.d.ts +0 -39
- package/packages/workers/src/http/WorkerApiController.d.ts.map +0 -1
- package/packages/workers/src/http/WorkerApiController.js +0 -313
- package/packages/workers/src/http/WorkerController.d.ts +0 -375
- package/packages/workers/src/http/WorkerController.d.ts.map +0 -1
- package/packages/workers/src/http/WorkerController.js +0 -1454
- package/packages/workers/src/http/WorkerMonitoringService.d.ts +0 -12
- package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +0 -1
- package/packages/workers/src/http/WorkerMonitoringService.js +0 -89
- package/packages/workers/src/http/middleware/CustomValidation.d.ts +0 -93
- package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/CustomValidation.js +0 -270
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +0 -4
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/DatacenterValidator.js +0 -94
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +0 -8
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/EditWorkerValidation.js +0 -56
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +0 -4
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/FeaturesValidator.js +0 -61
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +0 -32
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/InfrastructureValidator.js +0 -226
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts +0 -4
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/OptionsValidator.js +0 -112
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +0 -8
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/PayloadSanitizer.js +0 -42
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +0 -140
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/QueueNameSanitizer.js +0 -45
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts +0 -8
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/ValidateDriver.js +0 -20
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/VersionSanitizer.js +0 -25
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +0 -46
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +0 -28
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/WorkerValidationChain.js +0 -186
- package/packages/workers/src/index.d.ts +0 -47
- package/packages/workers/src/index.d.ts.map +0 -1
- package/packages/workers/src/index.js +0 -48
- package/packages/workers/src/routes/workers.d.ts +0 -13
- package/packages/workers/src/routes/workers.d.ts.map +0 -1
- package/packages/workers/src/routes/workers.js +0 -126
- package/packages/workers/src/storage/WorkerStore.d.ts +0 -52
- package/packages/workers/src/storage/WorkerStore.d.ts.map +0 -1
- package/packages/workers/src/storage/WorkerStore.js +0 -259
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +0 -47
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +0 -1
- package/packages/workers/src/telemetry/api/TelemetryAPI.js +0 -219
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +0 -18
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +0 -1
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +0 -140
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts +0 -2
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/AlertPanel.js +0 -13
- package/packages/workers/src/telemetry/components/CostTracking.d.ts +0 -2
- package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/CostTracking.js +0 -14
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +0 -2
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/ResourceUsageChart.js +0 -11
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +0 -2
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/WorkerHealthChart.js +0 -11
- package/packages/workers/src/telemetry/index.d.ts +0 -16
- package/packages/workers/src/telemetry/index.d.ts.map +0 -1
- package/packages/workers/src/telemetry/index.js +0 -60
- package/packages/workers/src/telemetry/routes/dashboard.d.ts +0 -7
- package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +0 -1
- package/packages/workers/src/telemetry/routes/dashboard.js +0 -608
- package/packages/workers/src/type.d.ts +0 -77
- package/packages/workers/src/type.d.ts.map +0 -1
- package/packages/workers/src/type.js +0 -1
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +0 -5
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +0 -1
- package/packages/workers/src/ui/router/EmbeddedAssets.js +0 -13
- package/packages/workers/src/ui/router/ui.d.ts +0 -4
- package/packages/workers/src/ui/router/ui.d.ts.map +0 -1
- package/packages/workers/src/ui/router/ui.js +0 -208
- package/packages/workers/src/ui/types/worker-ui.d.ts +0 -230
- package/packages/workers/src/ui/types/worker-ui.d.ts.map +0 -1
- package/packages/workers/src/ui/types/worker-ui.js +0 -5
- package/routes/api.d.ts +0 -7
- package/routes/api.d.ts.map +0 -1
- package/routes/api.js +0 -136
- package/routes/broadcast.d.ts +0 -9
- package/routes/broadcast.d.ts.map +0 -1
- package/routes/broadcast.js +0 -27
- package/routes/storage.d.ts +0 -4
- package/routes/storage.d.ts.map +0 -1
- package/routes/storage.js +0 -35
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { Cloudflare, Logger, MIME_TYPES, NodeSingletons, Router } from '../../../../../src/index.js';
|
|
2
|
-
import { INDEX_HTML, MAIN_JS, STYLES_CSS, ZINTRUST_SVG } from './EmbeddedAssets.js';
|
|
3
|
-
const isCloudflare = (() => {
|
|
4
|
-
try {
|
|
5
|
-
return Cloudflare.getWorkersEnv() !== null;
|
|
6
|
-
}
|
|
7
|
-
catch {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
})();
|
|
11
|
-
const safeFileUrlToPath = (url) => {
|
|
12
|
-
if (typeof url !== 'string' || url.trim() === '')
|
|
13
|
-
return '';
|
|
14
|
-
try {
|
|
15
|
-
return NodeSingletons.url.fileURLToPath(url);
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
return '';
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
const safeCwd = () => {
|
|
22
|
-
try {
|
|
23
|
-
const cwd = NodeSingletons.process?.cwd?.();
|
|
24
|
-
if (typeof cwd === 'string' && cwd.trim() !== '')
|
|
25
|
-
return cwd;
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
// ignore
|
|
29
|
-
}
|
|
30
|
-
return '';
|
|
31
|
-
};
|
|
32
|
-
const getAssetsBinding = () => Cloudflare.getAssetsBinding();
|
|
33
|
-
const fetchAssetText = async (assetPath) => {
|
|
34
|
-
const assets = getAssetsBinding();
|
|
35
|
-
if (!assets)
|
|
36
|
-
return '';
|
|
37
|
-
const url = new URL(assetPath, 'http://assets');
|
|
38
|
-
const response = await assets.fetch(url);
|
|
39
|
-
if (!response.ok)
|
|
40
|
-
return '';
|
|
41
|
-
return response.text();
|
|
42
|
-
};
|
|
43
|
-
const fetchAssetBytes = async (assetPath) => {
|
|
44
|
-
const assets = getAssetsBinding();
|
|
45
|
-
if (!assets)
|
|
46
|
-
return null;
|
|
47
|
-
const url = new URL(assetPath, 'http://assets');
|
|
48
|
-
const response = await assets.fetch(url);
|
|
49
|
-
if (!response.ok)
|
|
50
|
-
return null;
|
|
51
|
-
const buffer = await response.arrayBuffer();
|
|
52
|
-
return new Uint8Array(buffer);
|
|
53
|
-
};
|
|
54
|
-
const resolveEmbeddedAssetText = (assetPath) => {
|
|
55
|
-
const normalizedPath = assetPath.replace(/^\//, '');
|
|
56
|
-
if (normalizedPath === 'workers/index.html') {
|
|
57
|
-
return Buffer.from(INDEX_HTML, 'base64').toString('utf-8');
|
|
58
|
-
}
|
|
59
|
-
return null;
|
|
60
|
-
};
|
|
61
|
-
const resolveEmbeddedAssetBytes = (assetPath) => {
|
|
62
|
-
const normalizedPath = assetPath.replace(/^\//, '');
|
|
63
|
-
if (normalizedPath === 'workers/styles.css') {
|
|
64
|
-
return Buffer.from(STYLES_CSS, 'base64');
|
|
65
|
-
}
|
|
66
|
-
if (normalizedPath === 'workers/main.js') {
|
|
67
|
-
return Buffer.from(MAIN_JS, 'base64');
|
|
68
|
-
}
|
|
69
|
-
if (normalizedPath === 'workers/zintrust.svg') {
|
|
70
|
-
return Buffer.from(ZINTRUST_SVG, 'base64');
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
};
|
|
74
|
-
export const uiResolver = async (uiBasePath) => {
|
|
75
|
-
// Resolve base path for UI assets
|
|
76
|
-
// const __filename = NodeSingletons.url.fileURLToPath(import.meta.url);
|
|
77
|
-
// const __dirname = NodeSingletons.path.dirname(__filename);
|
|
78
|
-
const assetHtml = await fetchAssetText('/workers/index.html');
|
|
79
|
-
if (assetHtml !== '')
|
|
80
|
-
return assetHtml;
|
|
81
|
-
const uiPath = NodeSingletons.path.resolve(uiBasePath, 'workers/index.html');
|
|
82
|
-
try {
|
|
83
|
-
return await NodeSingletons.fs.readFile(uiPath, 'utf8');
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
const embedded = resolveEmbeddedAssetText('/workers/index.html');
|
|
87
|
-
if (embedded !== null)
|
|
88
|
-
return embedded;
|
|
89
|
-
throw Error('workers index.html is unavailable');
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
// MIME type mapping for static files
|
|
93
|
-
const getMimeType = (filePath) => {
|
|
94
|
-
const ext = NodeSingletons.path.extname(filePath).toLowerCase();
|
|
95
|
-
const mimeTypes = {
|
|
96
|
-
'.css': MIME_TYPES.CSS,
|
|
97
|
-
'.js': MIME_TYPES.JS,
|
|
98
|
-
'.html': MIME_TYPES.HTML,
|
|
99
|
-
'.json': MIME_TYPES.JSON,
|
|
100
|
-
'.png': MIME_TYPES.PNG,
|
|
101
|
-
'.jpg': MIME_TYPES.JPG,
|
|
102
|
-
'.jpeg': MIME_TYPES.JPG,
|
|
103
|
-
'.gif': MIME_TYPES.GIF,
|
|
104
|
-
'.svg': MIME_TYPES.SVG,
|
|
105
|
-
'.ico': MIME_TYPES.ICO,
|
|
106
|
-
'.ipa': MIME_TYPES.IPA,
|
|
107
|
-
};
|
|
108
|
-
return mimeTypes[ext] || MIME_TYPES.IPA;
|
|
109
|
-
};
|
|
110
|
-
let uiBasePath = '';
|
|
111
|
-
const getUiBase = () => {
|
|
112
|
-
// Resolve base path for UI assets
|
|
113
|
-
if (uiBasePath.length > 0)
|
|
114
|
-
return uiBasePath;
|
|
115
|
-
const __filename = safeFileUrlToPath(import.meta.url);
|
|
116
|
-
if (__filename !== '') {
|
|
117
|
-
const __dirname = NodeSingletons.path.dirname(__filename);
|
|
118
|
-
uiBasePath = NodeSingletons.path.resolve(__dirname, '../');
|
|
119
|
-
return uiBasePath;
|
|
120
|
-
}
|
|
121
|
-
const cwd = safeCwd();
|
|
122
|
-
if (cwd !== '') {
|
|
123
|
-
uiBasePath = NodeSingletons.path.resolve(cwd, 'packages', 'workers', 'src', 'ui');
|
|
124
|
-
return uiBasePath;
|
|
125
|
-
}
|
|
126
|
-
uiBasePath = '';
|
|
127
|
-
return uiBasePath;
|
|
128
|
-
};
|
|
129
|
-
const serveStaticFile = async (req, res) => {
|
|
130
|
-
const tryServeEmbedded = (assetPath) => {
|
|
131
|
-
const bytes = resolveEmbeddedAssetBytes(assetPath);
|
|
132
|
-
if (bytes === null)
|
|
133
|
-
return false;
|
|
134
|
-
const mimeType = getMimeType(assetPath);
|
|
135
|
-
res.setHeader('Content-Type', mimeType);
|
|
136
|
-
res.setHeader('Cache-Control', 'public, max-age=3600');
|
|
137
|
-
res.send(Buffer.from(bytes));
|
|
138
|
-
return true;
|
|
139
|
-
};
|
|
140
|
-
try {
|
|
141
|
-
const filePath = req.getPath();
|
|
142
|
-
const assetBytes = await fetchAssetBytes(filePath);
|
|
143
|
-
if (assetBytes) {
|
|
144
|
-
const mimeType = getMimeType(filePath);
|
|
145
|
-
res.setHeader('Content-Type', mimeType);
|
|
146
|
-
res.setHeader('Cache-Control', 'public, max-age=3600'); // 1 hour cache
|
|
147
|
-
res.send(Buffer.from(assetBytes));
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
if (isCloudflare) {
|
|
151
|
-
if (tryServeEmbedded(filePath))
|
|
152
|
-
return;
|
|
153
|
-
res.setStatus(404);
|
|
154
|
-
res.send(Buffer.from('Not Found'));
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
const fullPath = NodeSingletons.path.resolve(getUiBase(), filePath.replace(/^\//, ''));
|
|
158
|
-
// Security check - prevent directory traversal
|
|
159
|
-
if (!fullPath.startsWith(uiBasePath)) {
|
|
160
|
-
res.setStatus(403);
|
|
161
|
-
res.send(Buffer.from('Forbidden'));
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
let content;
|
|
165
|
-
try {
|
|
166
|
-
content = await NodeSingletons.fs.readFile(fullPath);
|
|
167
|
-
}
|
|
168
|
-
catch {
|
|
169
|
-
if (tryServeEmbedded(filePath))
|
|
170
|
-
return;
|
|
171
|
-
throw Error(`Missing static asset: ${filePath}`);
|
|
172
|
-
}
|
|
173
|
-
const mimeType = getMimeType(filePath);
|
|
174
|
-
res.setHeader('Content-Type', mimeType);
|
|
175
|
-
res.setHeader('Cache-Control', 'public, max-age=3600'); // 1 hour cache
|
|
176
|
-
res.send(content);
|
|
177
|
-
}
|
|
178
|
-
catch (err) {
|
|
179
|
-
Logger.warn(`Static file not found: ${req.getPath()}`, err);
|
|
180
|
-
res.setStatus(404);
|
|
181
|
-
res.send(Buffer.from('Not Found'));
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
// Static file serving for workers assets
|
|
185
|
-
export const registerStaticAssets = (router, middleware) => {
|
|
186
|
-
const handler = async (_req, res) => {
|
|
187
|
-
try {
|
|
188
|
-
const html = await uiResolver(getUiBase());
|
|
189
|
-
res.html(html);
|
|
190
|
-
}
|
|
191
|
-
catch (err) {
|
|
192
|
-
Logger.error('Failed to load static UI page', err);
|
|
193
|
-
// Fallback to generated dashboard if static file unavailable
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
Router.group(router, '/workers', (r) => {
|
|
197
|
-
Router.get(r, '/', handler, { middleware });
|
|
198
|
-
// Serve workers CSS and JS files
|
|
199
|
-
Router.get(r, '/styles.css', serveStaticFile);
|
|
200
|
-
Router.get(r, '/main.js', serveStaticFile);
|
|
201
|
-
Router.get(r, '/zintrust.svg', serveStaticFile);
|
|
202
|
-
Router.get(r, '/:filename', serveStaticFile);
|
|
203
|
-
Router.get(r, '/integration/:filename', serveStaticFile);
|
|
204
|
-
// Serve components CSS files
|
|
205
|
-
Router.get(r, '/components/styles.css', serveStaticFile);
|
|
206
|
-
Router.get(r, '/components/:filename', serveStaticFile);
|
|
207
|
-
});
|
|
208
|
-
};
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Worker UI Types
|
|
3
|
-
* Type definitions for worker management UI components
|
|
4
|
-
*/
|
|
5
|
-
declare global {
|
|
6
|
-
interface HTMLElement {
|
|
7
|
-
appendChild(node: Node): Node;
|
|
8
|
-
remove(): void;
|
|
9
|
-
classList: DOMTokenList;
|
|
10
|
-
style: CSSStyleDeclaration;
|
|
11
|
-
textContent: string;
|
|
12
|
-
innerHTML: string;
|
|
13
|
-
className: string;
|
|
14
|
-
id: string;
|
|
15
|
-
querySelector(selector: string): Element | null;
|
|
16
|
-
addEventListener(type: string, listener: UIEventListener): void;
|
|
17
|
-
dataset: DOMStringMap;
|
|
18
|
-
}
|
|
19
|
-
type UIEventListener = (evt: Event) => void;
|
|
20
|
-
interface Event {
|
|
21
|
-
target: EventTarget | null;
|
|
22
|
-
}
|
|
23
|
-
interface Element {
|
|
24
|
-
querySelector(selector: string): Element | null;
|
|
25
|
-
}
|
|
26
|
-
interface EventTarget {
|
|
27
|
-
addEventListener(type: string, listener: UIEventListener): void;
|
|
28
|
-
}
|
|
29
|
-
interface DOMTokenList {
|
|
30
|
-
add(token: string): void;
|
|
31
|
-
remove(token: string): void;
|
|
32
|
-
}
|
|
33
|
-
interface CSSStyleDeclaration {
|
|
34
|
-
display: 'block' | 'none' | 'inline' | 'inline-block' | 'flex' | 'grid' | 'hidden' | 'inherit' | 'initial' | 'revert' | 'unset' | number;
|
|
35
|
-
[property: string]: string | number;
|
|
36
|
-
}
|
|
37
|
-
interface DOMStringMap {
|
|
38
|
-
[key: string]: string;
|
|
39
|
-
}
|
|
40
|
-
interface Node {
|
|
41
|
-
remove(): void;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
export interface Node {
|
|
45
|
-
remove(): void;
|
|
46
|
-
}
|
|
47
|
-
export interface DOMTokenList {
|
|
48
|
-
add(token: string): void;
|
|
49
|
-
remove(token: string): void;
|
|
50
|
-
}
|
|
51
|
-
export interface CSSStyleDeclaration {
|
|
52
|
-
display: string | number;
|
|
53
|
-
[property: string]: string | number;
|
|
54
|
-
}
|
|
55
|
-
export interface DOMStringMap {
|
|
56
|
-
[key: string]: string;
|
|
57
|
-
}
|
|
58
|
-
export interface Element {
|
|
59
|
-
querySelector(selector: string): Element | null;
|
|
60
|
-
}
|
|
61
|
-
export interface EventTarget {
|
|
62
|
-
addEventListener(type: string, listener: UIEventListener): void;
|
|
63
|
-
}
|
|
64
|
-
export interface Event {
|
|
65
|
-
target: EventTarget | null;
|
|
66
|
-
}
|
|
67
|
-
export type UIEventListener = (evt: Event) => void;
|
|
68
|
-
export interface HTMLElement {
|
|
69
|
-
appendChild(node: Node): Node;
|
|
70
|
-
remove(): void;
|
|
71
|
-
classList: DOMTokenList;
|
|
72
|
-
style: CSSStyleDeclaration;
|
|
73
|
-
textContent: string;
|
|
74
|
-
innerHTML: string;
|
|
75
|
-
className: string;
|
|
76
|
-
id: string;
|
|
77
|
-
querySelector(selector: string): Element | null;
|
|
78
|
-
addEventListener(type: string, listener: UIEventListener): void;
|
|
79
|
-
dataset: DOMStringMap;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Worker instance interface for UI components
|
|
83
|
-
*/
|
|
84
|
-
export interface WorkerInstance {
|
|
85
|
-
id: string;
|
|
86
|
-
name: string;
|
|
87
|
-
status: 'running' | 'stopped' | 'failed' | 'paused';
|
|
88
|
-
queueName: string;
|
|
89
|
-
driver: 'database' | 'redis' | 'memory';
|
|
90
|
-
concurrency: number;
|
|
91
|
-
autoStart: boolean;
|
|
92
|
-
createdAt: string;
|
|
93
|
-
updatedAt: string;
|
|
94
|
-
lastHealthCheck?: string;
|
|
95
|
-
lastError?: string;
|
|
96
|
-
connectionState?: 'connected' | 'disconnected' | 'connecting';
|
|
97
|
-
version?: string;
|
|
98
|
-
region?: string;
|
|
99
|
-
processor?: string;
|
|
100
|
-
features?: Record<string, boolean>;
|
|
101
|
-
infrastructure?: Record<string, unknown>;
|
|
102
|
-
datacenter?: Record<string, unknown>;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Worker card instance interface
|
|
106
|
-
*/
|
|
107
|
-
export interface WorkerCardInstance {
|
|
108
|
-
element: HTMLElement;
|
|
109
|
-
worker: WorkerInstance;
|
|
110
|
-
isExpanded: () => boolean;
|
|
111
|
-
toggleExpand: () => void;
|
|
112
|
-
updateWorker: (worker: WorkerInstance) => void;
|
|
113
|
-
destroy: () => void;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Worker expand panel instance interface
|
|
117
|
-
*/
|
|
118
|
-
export interface WorkerExpandPanelInstance {
|
|
119
|
-
element: HTMLElement;
|
|
120
|
-
worker: WorkerInstance;
|
|
121
|
-
render: () => void;
|
|
122
|
-
destroy: () => void;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* JSON viewer modal instance interface
|
|
126
|
-
*/
|
|
127
|
-
export interface JsonViewerInstance {
|
|
128
|
-
element: HTMLElement;
|
|
129
|
-
isOpen: () => boolean;
|
|
130
|
-
open: (data: unknown) => void;
|
|
131
|
-
close: () => void;
|
|
132
|
-
destroy: () => void;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* JSON editor modal instance interface
|
|
136
|
-
*/
|
|
137
|
-
export interface JsonEditorInstance {
|
|
138
|
-
element: HTMLElement;
|
|
139
|
-
isOpen: () => boolean;
|
|
140
|
-
open: (data: unknown) => void;
|
|
141
|
-
close: () => void;
|
|
142
|
-
getJsonData: () => unknown;
|
|
143
|
-
setJsonData: (data: unknown) => void;
|
|
144
|
-
validate: () => ValidationResult;
|
|
145
|
-
destroy: () => void;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Validation result interface
|
|
149
|
-
*/
|
|
150
|
-
export interface ValidationResult {
|
|
151
|
-
isValid: boolean;
|
|
152
|
-
errors: ValidationError[];
|
|
153
|
-
warnings: ValidationWarning[];
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Validation error interface
|
|
157
|
-
*/
|
|
158
|
-
export interface ValidationError {
|
|
159
|
-
path: string;
|
|
160
|
-
message: string;
|
|
161
|
-
code: string;
|
|
162
|
-
field?: string;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Validation warning interface
|
|
166
|
-
*/
|
|
167
|
-
export interface ValidationWarning {
|
|
168
|
-
path: string;
|
|
169
|
-
message: string;
|
|
170
|
-
code: string;
|
|
171
|
-
field?: string;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Modal options interface
|
|
175
|
-
*/
|
|
176
|
-
export interface ModalOptions {
|
|
177
|
-
title?: string;
|
|
178
|
-
width?: string;
|
|
179
|
-
height?: string;
|
|
180
|
-
closable?: boolean;
|
|
181
|
-
backdrop?: boolean;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* JSON viewer options interface
|
|
185
|
-
*/
|
|
186
|
-
export interface JsonViewerOptions extends ModalOptions {
|
|
187
|
-
expandAll?: boolean;
|
|
188
|
-
searchEnabled?: boolean;
|
|
189
|
-
copyEnabled?: boolean;
|
|
190
|
-
theme?: 'light' | 'dark';
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* JSON editor options interface
|
|
194
|
-
*/
|
|
195
|
-
export interface JsonEditorOptions extends ModalOptions {
|
|
196
|
-
validateOnChange?: boolean;
|
|
197
|
-
autoFormat?: boolean;
|
|
198
|
-
theme?: 'light' | 'dark';
|
|
199
|
-
fontSize?: number;
|
|
200
|
-
wordWrap?: boolean;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* API response interface
|
|
204
|
-
*/
|
|
205
|
-
export interface ApiResponse<T = unknown> {
|
|
206
|
-
success: boolean;
|
|
207
|
-
data?: T;
|
|
208
|
-
error?: string;
|
|
209
|
-
message?: string;
|
|
210
|
-
code?: string;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Worker API response interface
|
|
214
|
-
*/
|
|
215
|
-
export interface WorkerApiResponse extends ApiResponse<WorkerInstance> {
|
|
216
|
-
data?: WorkerInstance;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Workers list API response interface
|
|
220
|
-
*/
|
|
221
|
-
export interface WorkersListApiResponse extends ApiResponse<WorkerInstance[]> {
|
|
222
|
-
data?: WorkerInstance[];
|
|
223
|
-
pagination?: {
|
|
224
|
-
page: number;
|
|
225
|
-
limit: number;
|
|
226
|
-
total: number;
|
|
227
|
-
totalPages: number;
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
//# sourceMappingURL=worker-ui.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker-ui.d.ts","sourceRoot":"","sources":["../../../../../../packages/workers/src/ui/types/worker-ui.ts"],"names":[],"mappings":"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"}
|
package/routes/api.d.ts
DELETED
package/routes/api.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../routes/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,qBAAqB,CAAC;AAQ3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAapD"}
|
package/routes/api.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Example Routes
|
|
3
|
-
* Demonstrates routing patterns
|
|
4
|
-
*/
|
|
5
|
-
import { AuthController } from '../app/Controllers/AuthController.js';
|
|
6
|
-
import { UserQueryBuilderController } from '../app/Controllers/UserQueryBuilderController.js';
|
|
7
|
-
import { Env } from '../src/config/env.js';
|
|
8
|
-
import { Router } from '../src/routes/Router.js';
|
|
9
|
-
import { registerBroadcastRoutes } from './broadcast.js';
|
|
10
|
-
import { registerStorageRoutes } from './storage.js';
|
|
11
|
-
import { getRuntimeMode } from '../src/runtime/detectRuntime.js';
|
|
12
|
-
import { ErrorFactory } from '../src/index.js';
|
|
13
|
-
export function registerRoutes(router) {
|
|
14
|
-
try {
|
|
15
|
-
const authController = AuthController.create();
|
|
16
|
-
const userController = UserQueryBuilderController.create();
|
|
17
|
-
registerPublicRoutes(router);
|
|
18
|
-
registerApiV1Routes(router, authController, userController);
|
|
19
|
-
registerAdminRoutes(router);
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
throw ErrorFactory.createConfigError(`Failed to register routes: ${error.message}`, error);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Register public routes
|
|
27
|
-
*/
|
|
28
|
-
function registerPublicRoutes(router) {
|
|
29
|
-
registerRootRoute(router);
|
|
30
|
-
registerHealthRoute(router);
|
|
31
|
-
registerBroadcastRoutes(router);
|
|
32
|
-
registerStorageRoutes(router);
|
|
33
|
-
}
|
|
34
|
-
function registerHealthRoute(router) {
|
|
35
|
-
Router.get(router, '/health', async (_req, res) => {
|
|
36
|
-
const modeFromEnv = Env.get('RUNTIME_MODE', '').trim();
|
|
37
|
-
const mode = modeFromEnv === '' ? getRuntimeMode() : modeFromEnv;
|
|
38
|
-
res.json({
|
|
39
|
-
status: 'ok',
|
|
40
|
-
mode,
|
|
41
|
-
worker: Env.get('WORKER_ENABLED', 'false') === 'true',
|
|
42
|
-
timestamp: new Date().toISOString(),
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
function registerRootRoute(router) {
|
|
47
|
-
Router.get(router, '/', async (_req, res) => {
|
|
48
|
-
res.json({
|
|
49
|
-
framework: 'ZinTrust Framework',
|
|
50
|
-
app_name: Env.APP_NAME,
|
|
51
|
-
version: '0.1.41',
|
|
52
|
-
env: Env.NODE_ENV ?? 'development',
|
|
53
|
-
database: Env.DB_CONNECTION ?? 'sqlite',
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Register API V1 routes
|
|
59
|
-
*/
|
|
60
|
-
function registerApiV1Routes(router, authController, userController) {
|
|
61
|
-
Router.group(router, '/api/v1', (r) => {
|
|
62
|
-
// Auth routes
|
|
63
|
-
Router.post(r, '/auth/login', authController.login, {
|
|
64
|
-
middleware: ['authRateLimit', 'validateLogin'],
|
|
65
|
-
});
|
|
66
|
-
Router.post(r, '/auth/register', authController.register, {
|
|
67
|
-
middleware: ['authRateLimit', 'validateRegister'],
|
|
68
|
-
});
|
|
69
|
-
Router.post(r, '/auth/logout', authController.logout, {
|
|
70
|
-
middleware: ['auth', 'jwt'],
|
|
71
|
-
});
|
|
72
|
-
Router.post(r, '/auth/logout-all', authController.logoutAll, {
|
|
73
|
-
middleware: ['auth', 'jwt'],
|
|
74
|
-
});
|
|
75
|
-
Router.post(r, '/auth/refresh', authController.refresh, {
|
|
76
|
-
middleware: ['auth', 'jwt'],
|
|
77
|
-
});
|
|
78
|
-
// Protected routes (Router supports per-route middleware metadata)
|
|
79
|
-
const pr = r;
|
|
80
|
-
// User resource (REST-ish)
|
|
81
|
-
Router.resource(pr, '/users', {
|
|
82
|
-
index: userController.index,
|
|
83
|
-
store: userController.store,
|
|
84
|
-
show: userController.show,
|
|
85
|
-
update: userController.update,
|
|
86
|
-
destroy: userController.destroy,
|
|
87
|
-
}, {
|
|
88
|
-
middleware: ['auth', 'bulletproof'],
|
|
89
|
-
store: {
|
|
90
|
-
middleware: ['auth', 'bulletproof', 'userMutationRateLimit', 'validateUserStore'],
|
|
91
|
-
},
|
|
92
|
-
update: {
|
|
93
|
-
middleware: ['auth', 'bulletproof', 'userMutationRateLimit', 'validateUserUpdate'],
|
|
94
|
-
},
|
|
95
|
-
destroy: { middleware: ['auth', 'bulletproof', 'userMutationRateLimit'] },
|
|
96
|
-
});
|
|
97
|
-
Router.post(pr, '/users/fill', userController.fill, {
|
|
98
|
-
middleware: ['auth', 'jwt', 'fillRateLimit', 'validateUserFill'],
|
|
99
|
-
});
|
|
100
|
-
// If the controller exposes create/edit, wire them explicitly.
|
|
101
|
-
Router.get(pr, '/users/create', userController.create, {
|
|
102
|
-
middleware: ['auth', 'jwt'],
|
|
103
|
-
});
|
|
104
|
-
Router.get(pr, '/users/:id/edit', userController.edit, {
|
|
105
|
-
middleware: ['auth', 'jwt'],
|
|
106
|
-
});
|
|
107
|
-
// Custom user routes
|
|
108
|
-
Router.get(pr, '/profile', async (__req, res) => {
|
|
109
|
-
res.json({ message: 'Get user profile' });
|
|
110
|
-
}, { middleware: ['auth', 'bulletproof'] });
|
|
111
|
-
Router.put(pr, '/profile', async (__req, res) => {
|
|
112
|
-
res.json({ message: 'Update user profile' });
|
|
113
|
-
}, { middleware: ['auth', 'bulletproof'] });
|
|
114
|
-
// Posts resource
|
|
115
|
-
Router.get(r, '/posts', async (_req, res) => {
|
|
116
|
-
res.json({ data: [] });
|
|
117
|
-
});
|
|
118
|
-
Router.get(r, '/posts/:id', async (req, res) => {
|
|
119
|
-
const id = req.getParam('id');
|
|
120
|
-
res.json({ data: { id } });
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Register admin routes
|
|
126
|
-
*/
|
|
127
|
-
function registerAdminRoutes(router) {
|
|
128
|
-
Router.group(router, '/admin', (r) => {
|
|
129
|
-
Router.get(r, '/dashboard', async (__req, res) => {
|
|
130
|
-
res.json({ message: 'Admin dashboard' });
|
|
131
|
-
});
|
|
132
|
-
Router.get(r, '/users', async (__req, res) => {
|
|
133
|
-
res.json({ data: [] });
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
}
|
package/routes/broadcast.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Broadcast Routes
|
|
3
|
-
*
|
|
4
|
-
* Runtime-only endpoints for broadcast.
|
|
5
|
-
* Provider setup and secret provisioning remain CLI-only.
|
|
6
|
-
*/
|
|
7
|
-
import { type IRouter } from '../src/routes/Router';
|
|
8
|
-
export declare function registerBroadcastRoutes(router: IRouter): void;
|
|
9
|
-
//# sourceMappingURL=broadcast.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../routes/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAsB7D"}
|
package/routes/broadcast.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Broadcast Routes
|
|
3
|
-
*
|
|
4
|
-
* Runtime-only endpoints for broadcast.
|
|
5
|
-
* Provider setup and secret provisioning remain CLI-only.
|
|
6
|
-
*/
|
|
7
|
-
import { Router } from '../src/routes/Router.js';
|
|
8
|
-
export function registerBroadcastRoutes(router) {
|
|
9
|
-
Router.get(router, '/broadcast/health', async (_req, res) => {
|
|
10
|
-
res.json({ ok: true });
|
|
11
|
-
});
|
|
12
|
-
Router.post(router, '/broadcast/send', async (req, res) => {
|
|
13
|
-
const body = (req.body ?? {});
|
|
14
|
-
const channel = typeof body['channel'] === 'string' ? body['channel'] : '';
|
|
15
|
-
const event = typeof body['event'] === 'string' ? body['event'] : '';
|
|
16
|
-
const data = body['data'];
|
|
17
|
-
if (!channel || !event) {
|
|
18
|
-
res
|
|
19
|
-
.setStatus(400)
|
|
20
|
-
.json({ ok: false, error: 'Invalid payload: channel and event are required' });
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const { Broadcast } = await import('../src/tools/broadcast/Broadcast.js');
|
|
24
|
-
const result = await Broadcast.send(channel, event, data);
|
|
25
|
-
res.json({ ok: true, result });
|
|
26
|
-
});
|
|
27
|
-
}
|
package/routes/storage.d.ts
DELETED
package/routes/storage.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../routes/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,qBAAqB,CAAC;AAI3D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAiC3D;AAED,eAAe,qBAAqB,CAAC"}
|