@zintrust/core 0.4.28 → 0.4.30
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 +78 -23
- package/src/cli/commands/D1ProxyCommand.d.ts.map +1 -1
- package/src/cli/commands/D1ProxyCommand.js +69 -9
- package/src/cli/commands/KvProxyCommand.d.ts.map +1 -1
- package/src/cli/commands/KvProxyCommand.js +69 -9
- package/src/cli/commands/NewCommand.d.ts.map +1 -1
- package/src/cli/commands/NewCommand.js +8 -28
- package/src/cli/scaffolding/GovernanceScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/GovernanceScaffolder.js +31 -4
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +31 -5
- package/src/cli/utils/DistPackager.d.ts +2 -2
- package/src/cli/utils/DistPackager.js +2 -2
- package/src/index.js +3 -3
- package/src/zintrust.plugins.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 -233
- package/app/Controllers/TestController.d.ts +0 -22
- package/app/Controllers/TestController.d.ts.map +0 -1
- package/app/Controllers/TestController.js +0 -188
- 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/Jobs/AdvancedEmailJobService.d.ts +0 -57
- package/app/Jobs/AdvancedEmailJobService.d.ts.map +0 -1
- package/app/Jobs/AdvancedEmailJobService.js +0 -185
- package/app/Jobs/EmailJobService.d.ts +0 -33
- package/app/Jobs/EmailJobService.d.ts.map +0 -1
- package/app/Jobs/EmailJobService.js +0 -113
- package/app/Middleware/AuthFailureResponder.d.ts +0 -3
- package/app/Middleware/AuthFailureResponder.d.ts.map +0 -1
- package/app/Middleware/AuthFailureResponder.js +0 -8
- 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 -216
- 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/app/Workers/AdvancEmailWorker.d.ts +0 -44
- package/app/Workers/AdvancEmailWorker.d.ts.map +0 -1
- package/app/Workers/AdvancEmailWorker.js +0 -192
- package/app/Workers/EmailWorker.d.ts +0 -39
- package/app/Workers/EmailWorker.d.ts.map +0 -1
- package/app/Workers/EmailWorker.js +0 -199
- package/app/Workers/TestWorker.d.ts +0 -16
- package/app/Workers/TestWorker.d.ts.map +0 -1
- package/app/Workers/TestWorker.js +0 -153
- package/build-manifest.json +0 -6410
- 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 -21
- package/config/middleware.d.ts.map +0 -1
- package/config/middleware.js +0 -61
- 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/database/factories/UserFactory.d.ts +0 -40
- package/database/factories/UserFactory.d.ts.map +0 -1
- package/database/factories/UserFactory.js +0 -99
- package/database/migrations/20260109074544_create_users_table.d.ts +0 -7
- package/database/migrations/20260109074544_create_users_table.d.ts.map +0 -1
- package/database/migrations/20260109074544_create_users_table.js +0 -21
- package/database/migrations/20260109144731_create_tasks_table.d.ts +0 -7
- package/database/migrations/20260109144731_create_tasks_table.d.ts.map +0 -1
- package/database/migrations/20260109144731_create_tasks_table.js +0 -19
- package/database/migrations/20260109144735_add_done_tasks_table.d.ts +0 -11
- package/database/migrations/20260109144735_add_done_tasks_table.d.ts.map +0 -1
- package/database/migrations/20260109144735_add_done_tasks_table.js +0 -25
- package/database/migrations/20260109150837_add_start_tasks_table.d.ts +0 -11
- package/database/migrations/20260109150837_add_start_tasks_table.d.ts.map +0 -1
- package/database/migrations/20260109150837_add_start_tasks_table.js +0 -22
- package/database/migrations/20260109152114_add_way_tasks_table.d.ts +0 -11
- package/database/migrations/20260109152114_add_way_tasks_table.d.ts.map +0 -1
- package/database/migrations/20260109152114_add_way_tasks_table.js +0 -22
- package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts +0 -7
- package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts.map +0 -1
- package/database/migrations/20260218121500_create_jwt_revocations_table.js +0 -22
- package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts +0 -11
- package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts.map +0 -1
- package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.js +0 -20
- package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts +0 -11
- package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts.map +0 -1
- package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.js +0 -20
- package/database/migrations/20260327112651_create_posts_table.d.ts +0 -11
- package/database/migrations/20260327112651_create_posts_table.d.ts.map +0 -1
- package/database/migrations/20260327112651_create_posts_table.js +0 -24
- package/database/seeders/DatabaseSeeder.d.ts +0 -5
- package/database/seeders/DatabaseSeeder.d.ts.map +0 -1
- package/database/seeders/DatabaseSeeder.js +0 -15
- package/database/seeders/UserSeeder.d.ts +0 -30
- package/database/seeders/UserSeeder.d.ts.map +0 -1
- package/database/seeders/UserSeeder.js +0 -97
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/packages/cache-redis/src/RedisProxyAdapter.d.ts +0 -6
- package/packages/cache-redis/src/RedisProxyAdapter.d.ts.map +0 -1
- package/packages/cache-redis/src/RedisProxyAdapter.js +0 -144
- package/packages/cache-redis/src/index.d.ts +0 -27
- package/packages/cache-redis/src/index.d.ts.map +0 -1
- package/packages/cache-redis/src/index.js +0 -153
- package/packages/db-d1/src/index.d.ts +0 -55
- package/packages/db-d1/src/index.d.ts.map +0 -1
- package/packages/db-d1/src/index.js +0 -118
- package/packages/db-d1/src/register.d.ts +0 -6
- package/packages/db-d1/src/register.d.ts.map +0 -1
- package/packages/db-d1/src/register.js +0 -8
- package/packages/db-mysql/src/common.d.ts +0 -7
- package/packages/db-mysql/src/common.d.ts.map +0 -1
- package/packages/db-mysql/src/common.js +0 -17
- package/packages/db-mysql/src/index.d.ts +0 -43
- package/packages/db-mysql/src/index.d.ts.map +0 -1
- package/packages/db-mysql/src/index.js +0 -265
- package/packages/db-mysql/src/register.d.ts +0 -6
- package/packages/db-mysql/src/register.d.ts.map +0 -1
- package/packages/db-mysql/src/register.js +0 -32
- package/packages/db-postgres/src/index.d.ts +0 -39
- package/packages/db-postgres/src/index.d.ts.map +0 -1
- package/packages/db-postgres/src/index.js +0 -179
- package/packages/db-postgres/src/register.d.ts +0 -6
- package/packages/db-postgres/src/register.d.ts.map +0 -1
- package/packages/db-postgres/src/register.js +0 -8
- package/packages/db-sqlite/src/index.d.ts +0 -9
- package/packages/db-sqlite/src/index.d.ts.map +0 -1
- package/packages/db-sqlite/src/index.js +0 -7
- package/packages/db-sqlite/src/register.d.ts +0 -6
- package/packages/db-sqlite/src/register.d.ts.map +0 -1
- package/packages/db-sqlite/src/register.js +0 -8
- package/packages/db-sqlserver/src/index.d.ts +0 -38
- package/packages/db-sqlserver/src/index.d.ts.map +0 -1
- package/packages/db-sqlserver/src/index.js +0 -73
- package/packages/db-sqlserver/src/register.d.ts +0 -6
- package/packages/db-sqlserver/src/register.d.ts.map +0 -1
- package/packages/db-sqlserver/src/register.js +0 -21
- package/packages/mail-sendgrid/src/register.d.ts +0 -6
- package/packages/mail-sendgrid/src/register.d.ts.map +0 -1
- package/packages/mail-sendgrid/src/register.js +0 -24
- package/packages/mail-smtp/src/register.d.ts +0 -6
- package/packages/mail-smtp/src/register.d.ts.map +0 -1
- package/packages/mail-smtp/src/register.js +0 -29
- 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 -465
- 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 -29
- 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 -29
- 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 -226
- package/packages/workers/src/WorkerFactory.d.ts.map +0 -1
- package/packages/workers/src/WorkerFactory.js +0 -2551
- package/packages/workers/src/WorkerInit.d.ts +0 -103
- package/packages/workers/src/WorkerInit.d.ts.map +0 -1
- package/packages/workers/src/WorkerInit.js +0 -359
- 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 -31
- package/packages/workers/src/createQueueWorker.d.ts.map +0 -1
- package/packages/workers/src/createQueueWorker.js +0 -382
- 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 -776
- 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/register.d.ts +0 -10
- package/packages/workers/src/register.d.ts.map +0 -1
- package/packages/workers/src/register.js +0 -43
- 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/DirectTestRoutes.d.ts +0 -25
- package/routes/DirectTestRoutes.d.ts.map +0 -1
- package/routes/DirectTestRoutes.js +0 -480
- package/routes/TestRoutes.d.ts +0 -11
- package/routes/TestRoutes.d.ts.map +0 -1
- package/routes/TestRoutes.js +0 -25
- package/routes/api.d.ts +0 -7
- package/routes/api.d.ts.map +0 -1
- package/routes/api.js +0 -136
- package/routes/apiDev.d.ts +0 -7
- package/routes/apiDev.d.ts.map +0 -1
- package/routes/apiDev.js +0 -92
- package/routes/broadcast.d.ts +0 -9
- package/routes/broadcast.d.ts.map +0 -1
- package/routes/broadcast.js +0 -27
- package/routes/mail.d.ts +0 -12
- package/routes/mail.d.ts.map +0 -1
- package/routes/mail.js +0 -138
- package/routes/storage.d.ts +0 -4
- package/routes/storage.d.ts.map +0 -1
- package/routes/storage.js +0 -35
- package/start.d.ts +0 -1
- package/start.js +0 -1
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auth Controller
|
|
3
|
-
* Minimal, real auth endpoints backing the example API routes.
|
|
4
|
-
*/
|
|
5
|
-
import { Auth } from '../../src/auth/Auth.js';
|
|
6
|
-
import { isUndefinedOrNull } from '../../src/helper/index.js';
|
|
7
|
-
import { User } from '../Models/User.js';
|
|
8
|
-
import { getString } from '../../src/common/utility.js';
|
|
9
|
-
import DefaultLogger, { Logger as NamedLogger } from '../../src/config/logger.js';
|
|
10
|
-
import { getValidatedBody } from '../../src/http/ValidationHelper.js';
|
|
11
|
-
import { JwtManager } from '../../src/security/JwtManager.js';
|
|
12
|
-
const noopLoggerMethod = (_message, _data) => undefined;
|
|
13
|
-
const Logger = NamedLogger ??
|
|
14
|
-
DefaultLogger ??
|
|
15
|
-
Object.freeze({
|
|
16
|
-
debug: noopLoggerMethod,
|
|
17
|
-
info: noopLoggerMethod,
|
|
18
|
-
warn: noopLoggerMethod,
|
|
19
|
-
error: noopLoggerMethod,
|
|
20
|
-
fatal: noopLoggerMethod,
|
|
21
|
-
});
|
|
22
|
-
const pickPublicUser = (row) => {
|
|
23
|
-
return {
|
|
24
|
-
id: row.id,
|
|
25
|
-
name: getString(row.name),
|
|
26
|
-
email: getString(row.email),
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Authenticates a user by email and password.
|
|
31
|
-
* Validates credentials against the database and returns a JWT access token on success.
|
|
32
|
-
* Logs all authentication attempts for security auditing.
|
|
33
|
-
* @param req - HTTP request containing email and password
|
|
34
|
-
* @param res - HTTP response to send authentication result
|
|
35
|
-
* @returns Promise that resolves after sending the response
|
|
36
|
-
*/
|
|
37
|
-
async function login(req, res) {
|
|
38
|
-
const body = getValidatedBody(req);
|
|
39
|
-
if (!body) {
|
|
40
|
-
Logger.error('AuthController.login: validation middleware did not populate req.validated.body');
|
|
41
|
-
return res.setStatus(500).json({ error: 'Internal server error' });
|
|
42
|
-
}
|
|
43
|
-
const email = getString(body['email']);
|
|
44
|
-
const password = getString(body['password']);
|
|
45
|
-
const ipAddress = req.getRaw().socket.remoteAddress ?? 'unknown';
|
|
46
|
-
try {
|
|
47
|
-
const existing = await User.where('email', '=', email).limit(1).first();
|
|
48
|
-
if (existing === null) {
|
|
49
|
-
Logger.warn('AuthController.login: failed login attempt', {
|
|
50
|
-
email,
|
|
51
|
-
ip: ipAddress,
|
|
52
|
-
reason: 'user_not_found',
|
|
53
|
-
timestamp: new Date().toISOString(),
|
|
54
|
-
});
|
|
55
|
-
res.setStatus(401).json({ error: 'Invalid credentials' });
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const passwordHash = getString(existing.password);
|
|
59
|
-
const ok = await Auth.compare(password, passwordHash);
|
|
60
|
-
if (!ok) {
|
|
61
|
-
Logger.warn('AuthController.login: failed login attempt', {
|
|
62
|
-
email,
|
|
63
|
-
ip: ipAddress,
|
|
64
|
-
reason: 'invalid_password',
|
|
65
|
-
timestamp: new Date().toISOString(),
|
|
66
|
-
});
|
|
67
|
-
res.setStatus(401).json({ error: 'Invalid credentials' });
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const user = pickPublicUser(existing);
|
|
71
|
-
const subject = (() => {
|
|
72
|
-
const id = user.id;
|
|
73
|
-
if (typeof id === 'string' && id.length > 0)
|
|
74
|
-
return id;
|
|
75
|
-
if (typeof id === 'number' && Number.isFinite(id))
|
|
76
|
-
return String(id);
|
|
77
|
-
return undefined;
|
|
78
|
-
})();
|
|
79
|
-
// Bulletproof Auth (device binding) expects a device id header to match a JWT claim.
|
|
80
|
-
// For the example app, we mint a stable device id derived from the subject.
|
|
81
|
-
// Production apps should issue a per-device id and manage a per-device signing secret.
|
|
82
|
-
const deviceId = isUndefinedOrNull(subject) ? undefined : `dev-${subject}`;
|
|
83
|
-
const token = await JwtManager.signAccessToken({
|
|
84
|
-
sub: subject,
|
|
85
|
-
email,
|
|
86
|
-
...(isUndefinedOrNull(deviceId) ? {} : { deviceId }),
|
|
87
|
-
});
|
|
88
|
-
Logger.info('AuthController.login: successful login', {
|
|
89
|
-
userId: subject,
|
|
90
|
-
email,
|
|
91
|
-
ip: ipAddress,
|
|
92
|
-
timestamp: new Date().toISOString(),
|
|
93
|
-
});
|
|
94
|
-
res.json({
|
|
95
|
-
token,
|
|
96
|
-
token_type: 'Bearer',
|
|
97
|
-
...(isUndefinedOrNull(deviceId) ? {} : { deviceId }),
|
|
98
|
-
user,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
Logger.error('AuthController.login: unexpected error', {
|
|
103
|
-
email,
|
|
104
|
-
ip: ipAddress,
|
|
105
|
-
error: error instanceof Error ? error.message : String(error),
|
|
106
|
-
timestamp: new Date().toISOString(),
|
|
107
|
-
});
|
|
108
|
-
res.setStatus(500).json({ error: 'Login failed' });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Registers a new user with name, email, and password.
|
|
113
|
-
* Validates email uniqueness, hashes password, and stores user in database.
|
|
114
|
-
* Returns 201 on success, 409 if email already exists.
|
|
115
|
-
* @param req - HTTP request containing name, email, and password
|
|
116
|
-
* @param res - HTTP response to send registration result
|
|
117
|
-
* @returns Promise that resolves after sending the response
|
|
118
|
-
*/
|
|
119
|
-
async function register(req, res) {
|
|
120
|
-
const body = getValidatedBody(req);
|
|
121
|
-
if (!body) {
|
|
122
|
-
Logger.error('AuthController.register: validation middleware did not populate req.validated.body');
|
|
123
|
-
res.setStatus(500).json({ error: 'Internal server error' });
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
const name = getString(body['name']);
|
|
127
|
-
const email = getString(body['email']);
|
|
128
|
-
const password = getString(body['password']);
|
|
129
|
-
const ipAddress = req.getRaw().socket.remoteAddress ?? 'unknown';
|
|
130
|
-
try {
|
|
131
|
-
const existing = await User.where('email', '=', email).limit(1).first();
|
|
132
|
-
if (existing !== null) {
|
|
133
|
-
Logger.warn('AuthController.register: duplicate email attempt', {
|
|
134
|
-
email,
|
|
135
|
-
ip: ipAddress,
|
|
136
|
-
timestamp: new Date().toISOString(),
|
|
137
|
-
});
|
|
138
|
-
res.setStatus(409).json({ error: 'Email already registered' });
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
const passwordHash = await Auth.hash(password);
|
|
142
|
-
const result = await User.query().insert({
|
|
143
|
-
name,
|
|
144
|
-
email,
|
|
145
|
-
password: passwordHash,
|
|
146
|
-
});
|
|
147
|
-
let insertedUserId = result.id;
|
|
148
|
-
if (insertedUserId === null || insertedUserId === undefined) {
|
|
149
|
-
const inserted = await User.where('email', '=', email).limit(1).first();
|
|
150
|
-
if (inserted?.id !== null && inserted?.id !== undefined) {
|
|
151
|
-
insertedUserId = inserted.id;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
if (insertedUserId !== null && insertedUserId !== undefined) {
|
|
155
|
-
Logger.info('AuthController.register: successful registration', {
|
|
156
|
-
user_id: insertedUserId,
|
|
157
|
-
email,
|
|
158
|
-
ip: ipAddress,
|
|
159
|
-
timestamp: new Date().toISOString(),
|
|
160
|
-
});
|
|
161
|
-
res.setStatus(201).json({ message: 'Registered' });
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
Logger.error('Failed to retrieve inserted user ID', {
|
|
165
|
-
email,
|
|
166
|
-
ip: ipAddress,
|
|
167
|
-
});
|
|
168
|
-
res.setStatus(500).json({ error: 'Registration failed' });
|
|
169
|
-
}
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
Logger.error('AuthController.register failed', error);
|
|
174
|
-
res.setStatus(500).json({ error: 'Registration failed' });
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Logs out the current user by revoking their JWT token.
|
|
179
|
-
* Extracts authorization header and marks token as revoked.
|
|
180
|
-
* Requires persistent token revocation store for stateless JWT validation.
|
|
181
|
-
* @param req - HTTP request containing authorization header with JWT token
|
|
182
|
-
* @param res - HTTP response to send logout confirmation
|
|
183
|
-
* @returns Promise that resolves after sending the response
|
|
184
|
-
*/
|
|
185
|
-
async function logout(req, res) {
|
|
186
|
-
const authHeader = typeof req.getHeader === 'function' ? req.getHeader('authorization') : undefined;
|
|
187
|
-
await JwtManager.logout(authHeader);
|
|
188
|
-
res.json({ message: 'Logged out' });
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Logs out the current user from all devices by removing all active sessions for their subject.
|
|
192
|
-
*
|
|
193
|
-
* With session allowlist enforcement, deleting a user's session records causes any previously issued
|
|
194
|
-
* tokens to become unauthorized (401) immediately.
|
|
195
|
-
*/
|
|
196
|
-
async function logoutAll(req, res) {
|
|
197
|
-
const sub = typeof req.user?.sub === 'string' ? req.user.sub.trim() : '';
|
|
198
|
-
if (sub === '') {
|
|
199
|
-
res.setStatus(401).json({ error: 'Unauthorized' });
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
await JwtManager.logoutAll(sub);
|
|
203
|
-
res.json({ message: 'Logged out everywhere' });
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Refreshes the user's JWT access token.
|
|
207
|
-
* Generates a new token with the same claims as the current user.
|
|
208
|
-
* Returns 401 if user is not authenticated.
|
|
209
|
-
* @param req - HTTP request with user populated by authentication middleware
|
|
210
|
-
* @param res - HTTP response to send refreshed token
|
|
211
|
-
* @returns Promise that resolves after sending the response
|
|
212
|
-
*/
|
|
213
|
-
async function refresh(req, res) {
|
|
214
|
-
const user = req.user;
|
|
215
|
-
if (user === undefined) {
|
|
216
|
-
res.setStatus(401).json({ error: 'Unauthorized' });
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
const token = await JwtManager.signAccessToken(user);
|
|
220
|
-
res.json({ token, token_type: 'Bearer' });
|
|
221
|
-
}
|
|
222
|
-
export const AuthController = Object.freeze({
|
|
223
|
-
create() {
|
|
224
|
-
return {
|
|
225
|
-
login,
|
|
226
|
-
register,
|
|
227
|
-
logout,
|
|
228
|
-
logoutAll,
|
|
229
|
-
refresh,
|
|
230
|
-
};
|
|
231
|
-
},
|
|
232
|
-
});
|
|
233
|
-
export default AuthController;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Controller
|
|
3
|
-
* Utility endpoints to create test jobs in Redis for Queue Monitor demo.
|
|
4
|
-
*/
|
|
5
|
-
import type { IRequest } from '../../src/http/Request';
|
|
6
|
-
import type { IResponse } from '../../src/http/Response';
|
|
7
|
-
declare function enqueue(req: IRequest, res: IResponse): Promise<void>;
|
|
8
|
-
declare function populateAll(req: IRequest, res: IResponse): Promise<void>;
|
|
9
|
-
declare function workerStart(req: IRequest, res: IResponse): Promise<void>;
|
|
10
|
-
declare function workerStop(_req: IRequest, res: IResponse): Promise<void>;
|
|
11
|
-
declare function workerStatus(_req: IRequest, res: IResponse): Promise<void>;
|
|
12
|
-
export declare const TestController: Readonly<{
|
|
13
|
-
create(): {
|
|
14
|
-
enqueue: typeof enqueue;
|
|
15
|
-
populateAll: typeof populateAll;
|
|
16
|
-
workerStart: typeof workerStart;
|
|
17
|
-
workerStop: typeof workerStop;
|
|
18
|
-
workerStatus: typeof workerStatus;
|
|
19
|
-
};
|
|
20
|
-
}>;
|
|
21
|
-
export default TestController;
|
|
22
|
-
//# sourceMappingURL=TestController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TestController.d.ts","sourceRoot":"","sources":["../../../app/Controllers/TestController.ts"],"names":[],"mappings":"AACA;;;GAGG;AAUH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgDhD,iBAAe,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BnE;AAED,iBAAe,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEvE;AAED,iBAAe,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvE;AAED,iBAAe,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAavE;AAED,iBAAe,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzE;AAED,eAAO,MAAM,cAAc;;;;;;;;EAIzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-await-in-loop */
|
|
2
|
-
/**
|
|
3
|
-
* Test Controller
|
|
4
|
-
* Utility endpoints to create test jobs in Redis for Queue Monitor demo.
|
|
5
|
-
*/
|
|
6
|
-
import { getTestWorkerHealth, getTestWorkerMetrics, isWorkerRunning, startTestWorker, stopTestWorker, } from '../Workers/TestWorker.js';
|
|
7
|
-
import { Logger } from '../../src/config/logger.js';
|
|
8
|
-
import { getValidatedBody } from '../../src/http/ValidationHelper.js';
|
|
9
|
-
import queueConfig from '../../config/queue.js';
|
|
10
|
-
import { createBullMQDriver } from '../../packages/queue-monitor/src/index.js';
|
|
11
|
-
/**
|
|
12
|
-
* Helper: Create BullMQ driver with Redis config
|
|
13
|
-
*/
|
|
14
|
-
const createDriver = () => createBullMQDriver({
|
|
15
|
-
host: queueConfig.drivers.redis.host,
|
|
16
|
-
port: queueConfig.drivers.redis.port,
|
|
17
|
-
password: queueConfig.drivers.redis.password ?? '',
|
|
18
|
-
db: queueConfig.drivers.redis.database ?? '',
|
|
19
|
-
});
|
|
20
|
-
/**
|
|
21
|
-
* Helper: Enqueue a single job
|
|
22
|
-
*/
|
|
23
|
-
const enqueueJob = async (driver, queueName, index, type, delayMs) => {
|
|
24
|
-
const payload = {
|
|
25
|
-
test: true,
|
|
26
|
-
createdAt: Date.now(),
|
|
27
|
-
index,
|
|
28
|
-
type,
|
|
29
|
-
message: `Test job ${index} for queue ${queueName} (${type})`,
|
|
30
|
-
shouldFail: type === 'failed',
|
|
31
|
-
};
|
|
32
|
-
const options = {
|
|
33
|
-
removeOnComplete: true,
|
|
34
|
-
attempts: type === 'failed' ? 1 : 3,
|
|
35
|
-
};
|
|
36
|
-
if (type === 'delayed') {
|
|
37
|
-
options['delay'] = delayMs;
|
|
38
|
-
}
|
|
39
|
-
const id = await driver.enqueue(queueName, payload, options);
|
|
40
|
-
return String(id);
|
|
41
|
-
};
|
|
42
|
-
async function enqueue(req, res) {
|
|
43
|
-
const body = getValidatedBody(req) ??
|
|
44
|
-
req.getBody?.() ??
|
|
45
|
-
req.body ??
|
|
46
|
-
{};
|
|
47
|
-
const queueName = body['queue'] || 'default';
|
|
48
|
-
const count = Number(body['count'] ?? 1) || 1;
|
|
49
|
-
const type = body['type'] || 'waiting';
|
|
50
|
-
const delayMs = Number(body['delay'] ?? 5000) || 5000;
|
|
51
|
-
try {
|
|
52
|
-
const driver = createDriver();
|
|
53
|
-
const ids = [];
|
|
54
|
-
for (let i = 0; i < count; i += 1) {
|
|
55
|
-
const id = await enqueueJob(driver, queueName, i, type, delayMs);
|
|
56
|
-
ids.push(id);
|
|
57
|
-
}
|
|
58
|
-
await driver.close();
|
|
59
|
-
res.json({ ok: true, queue: queueName, count, type, ids });
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
Logger.error('TestController.enqueue failed', error);
|
|
63
|
-
res.setStatus(500).json({ error: 'Enqueue failed' });
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
async function populateAll(req, res) {
|
|
67
|
-
const body = getValidatedBody(req) ??
|
|
68
|
-
req.getBody?.() ??
|
|
69
|
-
req.body ??
|
|
70
|
-
{};
|
|
71
|
-
const queueName = body['queue'] || 'demo';
|
|
72
|
-
try {
|
|
73
|
-
const driver = createBullMQDriver({
|
|
74
|
-
host: queueConfig.drivers.redis.host,
|
|
75
|
-
port: queueConfig.drivers.redis.port,
|
|
76
|
-
password: queueConfig.drivers.redis.password ?? '',
|
|
77
|
-
db: queueConfig.drivers.redis.database,
|
|
78
|
-
});
|
|
79
|
-
const results = {};
|
|
80
|
-
// Create 5 waiting jobs
|
|
81
|
-
results['waiting'] = [];
|
|
82
|
-
for (let i = 0; i < 5; i += 1) {
|
|
83
|
-
const id = await driver.enqueue(queueName, {
|
|
84
|
-
type: 'waiting',
|
|
85
|
-
index: i,
|
|
86
|
-
message: `Waiting job ${i}`,
|
|
87
|
-
});
|
|
88
|
-
results['waiting'].push(String(id));
|
|
89
|
-
}
|
|
90
|
-
// Create 3 delayed jobs (5 seconds)
|
|
91
|
-
results['delayed'] = [];
|
|
92
|
-
for (let i = 0; i < 3; i += 1) {
|
|
93
|
-
const id = await driver.enqueue(queueName, {
|
|
94
|
-
type: 'delayed',
|
|
95
|
-
index: i,
|
|
96
|
-
message: `Delayed job ${i}`,
|
|
97
|
-
}, { delay: 5000 });
|
|
98
|
-
results['delayed'].push(String(id));
|
|
99
|
-
}
|
|
100
|
-
// Create 2 failed jobs (these will fail when processed)
|
|
101
|
-
results['failed'] = [];
|
|
102
|
-
for (let i = 0; i < 2; i += 1) {
|
|
103
|
-
const id = await driver.enqueue(queueName, {
|
|
104
|
-
type: 'failed',
|
|
105
|
-
shouldFail: true,
|
|
106
|
-
index: i,
|
|
107
|
-
message: `Job that will fail ${i}`,
|
|
108
|
-
}, { attempts: 1 });
|
|
109
|
-
results['failed'].push(String(id));
|
|
110
|
-
}
|
|
111
|
-
await driver.close();
|
|
112
|
-
res.json({
|
|
113
|
-
ok: true,
|
|
114
|
-
queue: queueName,
|
|
115
|
-
message: 'Created 5 waiting, 3 delayed (5s), and 2 jobs that will fail when processed',
|
|
116
|
-
results,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
Logger.error('TestController.populateAll failed', error);
|
|
121
|
-
res.setStatus(500).json({ error: 'Populate all failed' });
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
async function workerStart(req, res) {
|
|
125
|
-
const body = getValidatedBody(req) ??
|
|
126
|
-
req.getBody?.() ??
|
|
127
|
-
req.body ??
|
|
128
|
-
{};
|
|
129
|
-
const queueName = body['queue'] || 'demo';
|
|
130
|
-
try {
|
|
131
|
-
if (isWorkerRunning()) {
|
|
132
|
-
res.json({ ok: false, message: 'Worker already running' });
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
await startTestWorker(queueName);
|
|
136
|
-
res.json({
|
|
137
|
-
ok: true,
|
|
138
|
-
message: `Worker started for queue: ${queueName}`,
|
|
139
|
-
info: 'Jobs will be processed with 1-3 second delay. Jobs with shouldFail=true will fail.',
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
catch (error) {
|
|
143
|
-
Logger.error('TestController.workerStart failed', error);
|
|
144
|
-
res.setStatus(500).json({ error: 'Failed to start worker' });
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
async function workerStop(_req, res) {
|
|
148
|
-
try {
|
|
149
|
-
if (!isWorkerRunning()) {
|
|
150
|
-
res.json({ ok: false, message: 'No worker running' });
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
await stopTestWorker();
|
|
154
|
-
res.json({ ok: true, message: 'Worker stopped' });
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
Logger.error('TestController.workerStop failed', error);
|
|
158
|
-
res.setStatus(500).json({ error: 'Failed to stop worker' });
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
async function workerStatus(_req, res) {
|
|
162
|
-
try {
|
|
163
|
-
const running = isWorkerRunning();
|
|
164
|
-
const status = {
|
|
165
|
-
ok: true,
|
|
166
|
-
running,
|
|
167
|
-
message: running ? 'Worker is running' : 'Worker is not running',
|
|
168
|
-
};
|
|
169
|
-
if (running) {
|
|
170
|
-
// Get metrics and health
|
|
171
|
-
const metrics = await getTestWorkerMetrics();
|
|
172
|
-
const health = await getTestWorkerHealth();
|
|
173
|
-
status['metrics'] = metrics;
|
|
174
|
-
status['health'] = health;
|
|
175
|
-
}
|
|
176
|
-
res.json(status);
|
|
177
|
-
}
|
|
178
|
-
catch (error) {
|
|
179
|
-
Logger.error('TestController.workerStatus failed', error);
|
|
180
|
-
res.setStatus(500).json({ error: 'Failed to get worker status' });
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
export const TestController = Object.freeze({
|
|
184
|
-
create() {
|
|
185
|
-
return { enqueue, populateAll, workerStart, workerStop, workerStatus };
|
|
186
|
-
},
|
|
187
|
-
});
|
|
188
|
-
export default TestController;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Controller (compat)
|
|
3
|
-
*
|
|
4
|
-
* This file remains for backwards-compatibility. The actual implementation is
|
|
5
|
-
* QueryBuilder-backed and lives in UserQueryBuilderController.
|
|
6
|
-
*/
|
|
7
|
-
export { UserQueryBuilderController as UserController, UserQueryBuilderController, } from '../Controllers/UserQueryBuilderController';
|
|
8
|
-
export { UserQueryBuilderController as default } from '../Controllers/UserQueryBuilderController';
|
|
9
|
-
//# sourceMappingURL=UserController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../app/Controllers/UserController.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,0BAA0B,IAAI,cAAc,EAC5C,0BAA0B,GAC3B,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,0BAA0B,IAAI,OAAO,EAAE,MAAM,6CAA6C,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Controller (compat)
|
|
3
|
-
*
|
|
4
|
-
* This file remains for backwards-compatibility. The actual implementation is
|
|
5
|
-
* QueryBuilder-backed and lives in UserQueryBuilderController.
|
|
6
|
-
*/
|
|
7
|
-
export { UserQueryBuilderController as UserController, UserQueryBuilderController, } from '../Controllers/UserQueryBuilderController.js';
|
|
8
|
-
export { UserQueryBuilderController as default } from '../Controllers/UserQueryBuilderController.js';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User QueryBuilder Controller
|
|
3
|
-
* QueryBuilder-backed controller for the users resource.
|
|
4
|
-
*/
|
|
5
|
-
import type { IUserController } from '../Types/controller';
|
|
6
|
-
/**
|
|
7
|
-
* User QueryBuilder Controller Factory
|
|
8
|
-
*/
|
|
9
|
-
export declare const UserQueryBuilderController: {
|
|
10
|
-
/**
|
|
11
|
-
* Create a new user controller instance
|
|
12
|
-
*/
|
|
13
|
-
create(): IUserController;
|
|
14
|
-
};
|
|
15
|
-
export default UserQueryBuilderController;
|
|
16
|
-
//# sourceMappingURL=UserQueryBuilderController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserQueryBuilderController.d.ts","sourceRoot":"","sources":["../../../app/Controllers/UserQueryBuilderController.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAmC,MAAM,uBAAuB,CAAC;AAkc9F;;GAEG;AACH,eAAO,MAAM,0BAA0B;IACrC;;OAEG;cACO,eAAe;CAG1B,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|