@zintrust/core 0.4.26 → 0.4.28
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/app/Controllers/AuthController.d.ts +10 -0
- package/app/Controllers/AuthController.d.ts.map +1 -0
- package/app/Controllers/AuthController.js +233 -0
- package/app/Controllers/TestController.d.ts +22 -0
- package/app/Controllers/TestController.d.ts.map +1 -0
- package/app/Controllers/TestController.js +188 -0
- package/app/Controllers/UserController.d.ts +9 -0
- package/app/Controllers/UserController.d.ts.map +1 -0
- package/app/Controllers/UserController.js +8 -0
- package/app/Controllers/UserQueryBuilderController.d.ts +16 -0
- package/app/Controllers/UserQueryBuilderController.d.ts.map +1 -0
- package/app/Controllers/UserQueryBuilderController.js +404 -0
- package/app/Jobs/AdvancedEmailJobService.d.ts +57 -0
- package/app/Jobs/AdvancedEmailJobService.d.ts.map +1 -0
- package/app/Jobs/AdvancedEmailJobService.js +185 -0
- package/app/Jobs/EmailJobService.d.ts +33 -0
- package/app/Jobs/EmailJobService.d.ts.map +1 -0
- package/app/Jobs/EmailJobService.js +113 -0
- package/app/Middleware/AuthFailureResponder.d.ts +3 -0
- package/app/Middleware/AuthFailureResponder.d.ts.map +1 -0
- package/app/Middleware/AuthFailureResponder.js +8 -0
- package/app/Middleware/ProfilerMiddleware.d.ts +12 -0
- package/app/Middleware/ProfilerMiddleware.d.ts.map +1 -0
- package/app/Middleware/ProfilerMiddleware.js +47 -0
- package/app/Middleware/index.d.ts +59 -0
- package/app/Middleware/index.d.ts.map +1 -0
- package/app/Middleware/index.js +216 -0
- package/app/Models/Post.d.ts +14 -0
- package/app/Models/Post.d.ts.map +1 -0
- package/app/Models/Post.js +27 -0
- package/app/Models/User.d.ts +14 -0
- package/app/Models/User.d.ts.map +1 -0
- package/app/Models/User.js +44 -0
- package/app/Schedules/JobTracking.d.ts +3 -0
- package/app/Schedules/JobTracking.d.ts.map +1 -0
- package/app/Schedules/JobTracking.js +13 -0
- package/app/Schedules/index.d.ts +2 -0
- package/app/Schedules/index.d.ts.map +1 -0
- package/app/Schedules/index.js +1 -0
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts +6 -0
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +1 -0
- package/app/Toolkit/Broadcast/sendBroadcast.js +5 -0
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +6 -0
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +1 -0
- package/app/Toolkit/Mail/sendWelcomeEmail.js +20 -0
- package/app/Toolkit/Notification/sendSlackNotification.d.ts +8 -0
- package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +1 -0
- package/app/Toolkit/Notification/sendSlackNotification.js +5 -0
- package/app/Toolkit/Notification/sendSms.d.ts +6 -0
- package/app/Toolkit/Notification/sendSms.d.ts.map +1 -0
- package/app/Toolkit/Notification/sendSms.js +5 -0
- package/app/Types/controller.d.ts +44 -0
- package/app/Types/controller.d.ts.map +1 -0
- package/app/Types/controller.js +1 -0
- package/app/Workers/AdvancEmailWorker.d.ts +44 -0
- package/app/Workers/AdvancEmailWorker.d.ts.map +1 -0
- package/app/Workers/AdvancEmailWorker.js +192 -0
- package/app/Workers/EmailWorker.d.ts +39 -0
- package/app/Workers/EmailWorker.d.ts.map +1 -0
- package/app/Workers/EmailWorker.js +199 -0
- package/app/Workers/TestWorker.d.ts +16 -0
- package/app/Workers/TestWorker.d.ts.map +1 -0
- package/app/Workers/TestWorker.js +153 -0
- 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/build-manifest.json +6410 -0
- package/config/broadcast.d.ts +38 -0
- package/config/broadcast.d.ts.map +1 -0
- package/config/broadcast.js +37 -0
- package/config/cache.d.ts +40 -0
- package/config/cache.d.ts.map +1 -0
- package/config/cache.js +39 -0
- package/config/database.d.ts +58 -0
- package/config/database.d.ts.map +1 -0
- package/config/database.js +65 -0
- package/config/mail.d.ts +51 -0
- package/config/mail.d.ts.map +1 -0
- package/config/mail.js +69 -0
- package/config/middleware.d.ts +21 -0
- package/config/middleware.d.ts.map +1 -0
- package/config/middleware.js +61 -0
- package/config/notification.d.ts +33 -0
- package/config/notification.d.ts.map +1 -0
- package/config/notification.js +33 -0
- package/config/queue.d.ts +55 -0
- package/config/queue.d.ts.map +1 -0
- package/config/queue.js +87 -0
- package/config/storage.d.ts +59 -0
- package/config/storage.d.ts.map +1 -0
- package/config/storage.js +59 -0
- package/config/workers.d.ts +54 -0
- package/config/workers.d.ts.map +1 -0
- package/config/workers.js +83 -0
- package/database/factories/UserFactory.d.ts +40 -0
- package/database/factories/UserFactory.d.ts.map +1 -0
- package/database/factories/UserFactory.js +99 -0
- package/database/migrations/20260109074544_create_users_table.d.ts +7 -0
- package/database/migrations/20260109074544_create_users_table.d.ts.map +1 -0
- package/database/migrations/20260109074544_create_users_table.js +21 -0
- package/database/migrations/20260109144731_create_tasks_table.d.ts +7 -0
- package/database/migrations/20260109144731_create_tasks_table.d.ts.map +1 -0
- package/database/migrations/20260109144731_create_tasks_table.js +19 -0
- package/database/migrations/20260109144735_add_done_tasks_table.d.ts +11 -0
- package/database/migrations/20260109144735_add_done_tasks_table.d.ts.map +1 -0
- package/database/migrations/20260109144735_add_done_tasks_table.js +25 -0
- package/database/migrations/20260109150837_add_start_tasks_table.d.ts +11 -0
- package/database/migrations/20260109150837_add_start_tasks_table.d.ts.map +1 -0
- package/database/migrations/20260109150837_add_start_tasks_table.js +22 -0
- package/database/migrations/20260109152114_add_way_tasks_table.d.ts +11 -0
- package/database/migrations/20260109152114_add_way_tasks_table.d.ts.map +1 -0
- package/database/migrations/20260109152114_add_way_tasks_table.js +22 -0
- package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts +7 -0
- package/database/migrations/20260218121500_create_jwt_revocations_table.d.ts.map +1 -0
- package/database/migrations/20260218121500_create_jwt_revocations_table.js +22 -0
- package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts +11 -0
- package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.d.ts.map +1 -0
- package/database/migrations/20260222120000_add_kind_to_jwt_revocations_table.js +20 -0
- package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts +11 -0
- package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.d.ts.map +1 -0
- package/database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.js +20 -0
- package/database/migrations/20260327112651_create_posts_table.d.ts +11 -0
- package/database/migrations/20260327112651_create_posts_table.d.ts.map +1 -0
- package/database/migrations/20260327112651_create_posts_table.js +24 -0
- package/database/seeders/DatabaseSeeder.d.ts +5 -0
- package/database/seeders/DatabaseSeeder.d.ts.map +1 -0
- package/database/seeders/DatabaseSeeder.js +15 -0
- package/database/seeders/UserSeeder.d.ts +30 -0
- package/database/seeders/UserSeeder.d.ts.map +1 -0
- package/database/seeders/UserSeeder.js +97 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +27 -78
- package/packages/cache-redis/src/RedisProxyAdapter.d.ts +6 -0
- package/packages/cache-redis/src/RedisProxyAdapter.d.ts.map +1 -0
- package/packages/cache-redis/src/RedisProxyAdapter.js +144 -0
- package/packages/cache-redis/src/index.d.ts +27 -0
- package/packages/cache-redis/src/index.d.ts.map +1 -0
- package/packages/cache-redis/src/index.js +153 -0
- package/packages/db-d1/src/index.d.ts +55 -0
- package/packages/db-d1/src/index.d.ts.map +1 -0
- package/packages/db-d1/src/index.js +118 -0
- package/packages/db-d1/src/register.d.ts +6 -0
- package/packages/db-d1/src/register.d.ts.map +1 -0
- package/packages/db-d1/src/register.js +8 -0
- package/packages/db-mysql/src/common.d.ts +7 -0
- package/packages/db-mysql/src/common.d.ts.map +1 -0
- package/packages/db-mysql/src/common.js +17 -0
- package/packages/db-mysql/src/index.d.ts +43 -0
- package/packages/db-mysql/src/index.d.ts.map +1 -0
- package/packages/db-mysql/src/index.js +265 -0
- package/packages/db-mysql/src/register.d.ts +6 -0
- package/packages/db-mysql/src/register.d.ts.map +1 -0
- package/packages/db-mysql/src/register.js +32 -0
- package/packages/db-postgres/src/index.d.ts +39 -0
- package/packages/db-postgres/src/index.d.ts.map +1 -0
- package/packages/db-postgres/src/index.js +179 -0
- package/packages/db-postgres/src/register.d.ts +6 -0
- package/packages/db-postgres/src/register.d.ts.map +1 -0
- package/packages/db-postgres/src/register.js +8 -0
- package/packages/db-sqlite/src/index.d.ts +9 -0
- package/packages/db-sqlite/src/index.d.ts.map +1 -0
- package/packages/db-sqlite/src/index.js +7 -0
- package/packages/db-sqlite/src/register.d.ts +6 -0
- package/packages/db-sqlite/src/register.d.ts.map +1 -0
- package/packages/db-sqlite/src/register.js +8 -0
- package/packages/db-sqlserver/src/index.d.ts +38 -0
- package/packages/db-sqlserver/src/index.d.ts.map +1 -0
- package/packages/db-sqlserver/src/index.js +73 -0
- package/packages/db-sqlserver/src/register.d.ts +6 -0
- package/packages/db-sqlserver/src/register.d.ts.map +1 -0
- package/packages/db-sqlserver/src/register.js +21 -0
- package/packages/mail-sendgrid/src/register.d.ts +6 -0
- package/packages/mail-sendgrid/src/register.d.ts.map +1 -0
- package/packages/mail-sendgrid/src/register.js +24 -0
- package/packages/mail-smtp/src/register.d.ts +6 -0
- package/packages/mail-smtp/src/register.d.ts.map +1 -0
- package/packages/mail-smtp/src/register.js +29 -0
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts +35 -0
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +1 -0
- package/packages/queue-monitor/src/QueueMonitoringService.js +194 -0
- package/packages/queue-monitor/src/connection.d.ts +3 -0
- package/packages/queue-monitor/src/connection.d.ts.map +1 -0
- package/packages/queue-monitor/src/connection.js +1 -0
- package/packages/queue-monitor/src/dashboard-ui.d.ts +7 -0
- package/packages/queue-monitor/src/dashboard-ui.d.ts.map +1 -0
- package/packages/queue-monitor/src/dashboard-ui.js +997 -0
- package/packages/queue-monitor/src/driver.d.ts +15 -0
- package/packages/queue-monitor/src/driver.d.ts.map +1 -0
- package/packages/queue-monitor/src/driver.js +115 -0
- package/packages/queue-monitor/src/index.d.ts +71 -0
- package/packages/queue-monitor/src/index.d.ts.map +1 -0
- package/packages/queue-monitor/src/index.js +296 -0
- package/packages/queue-monitor/src/metrics.d.ts +27 -0
- package/packages/queue-monitor/src/metrics.d.ts.map +1 -0
- package/packages/queue-monitor/src/metrics.js +92 -0
- package/packages/queue-monitor/src/worker.d.ts +8 -0
- package/packages/queue-monitor/src/worker.d.ts.map +1 -0
- package/packages/queue-monitor/src/worker.js +35 -0
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts +26 -0
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +1 -0
- package/packages/queue-redis/src/BullMQRedisQueue.js +465 -0
- package/packages/queue-redis/src/HttpQueueDriver.d.ts +18 -0
- package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +1 -0
- package/packages/queue-redis/src/HttpQueueDriver.js +249 -0
- package/packages/queue-redis/src/QueueHttpGateway.d.ts +16 -0
- package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +1 -0
- package/packages/queue-redis/src/QueueHttpGateway.js +217 -0
- package/packages/queue-redis/src/RedisPublishClient.d.ts +14 -0
- package/packages/queue-redis/src/RedisPublishClient.d.ts.map +1 -0
- package/packages/queue-redis/src/RedisPublishClient.js +251 -0
- package/packages/queue-redis/src/index.d.ts +12 -0
- package/packages/queue-redis/src/index.d.ts.map +1 -0
- package/packages/queue-redis/src/index.js +10 -0
- package/packages/queue-redis/src/register.d.ts +6 -0
- package/packages/queue-redis/src/register.d.ts.map +1 -0
- package/packages/queue-redis/src/register.js +21 -0
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +11 -0
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +1 -0
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +32 -0
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +11 -0
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +1 -0
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +46 -0
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +7 -0
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +1 -0
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +44 -0
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +7 -0
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +1 -0
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +104 -0
- package/packages/workers/src/AnomalyDetection.d.ts +107 -0
- package/packages/workers/src/AnomalyDetection.d.ts.map +1 -0
- package/packages/workers/src/AnomalyDetection.js +329 -0
- package/packages/workers/src/AutoScaler.d.ts +128 -0
- package/packages/workers/src/AutoScaler.d.ts.map +1 -0
- package/packages/workers/src/AutoScaler.js +425 -0
- package/packages/workers/src/BroadcastWorker.d.ts +29 -0
- package/packages/workers/src/BroadcastWorker.d.ts.map +1 -0
- package/packages/workers/src/BroadcastWorker.js +24 -0
- package/packages/workers/src/CanaryController.d.ts +104 -0
- package/packages/workers/src/CanaryController.d.ts.map +1 -0
- package/packages/workers/src/CanaryController.js +424 -0
- package/packages/workers/src/ChaosEngineering.d.ts +80 -0
- package/packages/workers/src/ChaosEngineering.d.ts.map +1 -0
- package/packages/workers/src/ChaosEngineering.js +229 -0
- package/packages/workers/src/CircuitBreaker.d.ts +107 -0
- package/packages/workers/src/CircuitBreaker.d.ts.map +1 -0
- package/packages/workers/src/CircuitBreaker.js +374 -0
- package/packages/workers/src/ClusterLock.d.ts +91 -0
- package/packages/workers/src/ClusterLock.d.ts.map +1 -0
- package/packages/workers/src/ClusterLock.js +397 -0
- package/packages/workers/src/ComplianceManager.d.ts +178 -0
- package/packages/workers/src/ComplianceManager.d.ts.map +1 -0
- package/packages/workers/src/ComplianceManager.js +556 -0
- package/packages/workers/src/DatacenterOrchestrator.d.ts +134 -0
- package/packages/workers/src/DatacenterOrchestrator.d.ts.map +1 -0
- package/packages/workers/src/DatacenterOrchestrator.js +404 -0
- package/packages/workers/src/DeadLetterQueue.d.ts +123 -0
- package/packages/workers/src/DeadLetterQueue.d.ts.map +1 -0
- package/packages/workers/src/DeadLetterQueue.js +544 -0
- package/packages/workers/src/HealthMonitor.d.ts +43 -0
- package/packages/workers/src/HealthMonitor.d.ts.map +1 -0
- package/packages/workers/src/HealthMonitor.js +312 -0
- package/packages/workers/src/MultiQueueWorker.d.ts +90 -0
- package/packages/workers/src/MultiQueueWorker.d.ts.map +1 -0
- package/packages/workers/src/MultiQueueWorker.js +282 -0
- package/packages/workers/src/NotificationWorker.d.ts +29 -0
- package/packages/workers/src/NotificationWorker.d.ts.map +1 -0
- package/packages/workers/src/NotificationWorker.js +23 -0
- package/packages/workers/src/Observability.d.ts +154 -0
- package/packages/workers/src/Observability.d.ts.map +1 -0
- package/packages/workers/src/Observability.js +538 -0
- package/packages/workers/src/PluginManager.d.ts +124 -0
- package/packages/workers/src/PluginManager.d.ts.map +1 -0
- package/packages/workers/src/PluginManager.js +392 -0
- package/packages/workers/src/PriorityQueue.d.ts +118 -0
- package/packages/workers/src/PriorityQueue.d.ts.map +1 -0
- package/packages/workers/src/PriorityQueue.js +276 -0
- package/packages/workers/src/ResourceMonitor.d.ts +165 -0
- package/packages/workers/src/ResourceMonitor.d.ts.map +1 -0
- package/packages/workers/src/ResourceMonitor.js +632 -0
- package/packages/workers/src/SLAMonitor.d.ts +111 -0
- package/packages/workers/src/SLAMonitor.d.ts.map +1 -0
- package/packages/workers/src/SLAMonitor.js +274 -0
- package/packages/workers/src/WorkerFactory.d.ts +226 -0
- package/packages/workers/src/WorkerFactory.d.ts.map +1 -0
- package/packages/workers/src/WorkerFactory.js +2551 -0
- package/packages/workers/src/WorkerInit.d.ts +103 -0
- package/packages/workers/src/WorkerInit.d.ts.map +1 -0
- package/packages/workers/src/WorkerInit.js +359 -0
- package/packages/workers/src/WorkerMetrics.d.ts +116 -0
- package/packages/workers/src/WorkerMetrics.d.ts.map +1 -0
- package/packages/workers/src/WorkerMetrics.js +570 -0
- package/packages/workers/src/WorkerRegistry.d.ts +152 -0
- package/packages/workers/src/WorkerRegistry.d.ts.map +1 -0
- package/packages/workers/src/WorkerRegistry.js +396 -0
- package/packages/workers/src/WorkerShutdown.d.ts +70 -0
- package/packages/workers/src/WorkerShutdown.d.ts.map +1 -0
- package/packages/workers/src/WorkerShutdown.js +185 -0
- package/packages/workers/src/WorkerVersioning.d.ts +108 -0
- package/packages/workers/src/WorkerVersioning.d.ts.map +1 -0
- package/packages/workers/src/WorkerVersioning.js +300 -0
- package/packages/workers/src/config/workerConfig.d.ts +5 -0
- package/packages/workers/src/config/workerConfig.d.ts.map +1 -0
- package/packages/workers/src/config/workerConfig.js +25 -0
- package/packages/workers/src/createQueueWorker.d.ts +31 -0
- package/packages/workers/src/createQueueWorker.d.ts.map +1 -0
- package/packages/workers/src/createQueueWorker.js +382 -0
- package/packages/workers/src/dashboard/index.d.ts +2 -0
- package/packages/workers/src/dashboard/index.d.ts.map +1 -0
- package/packages/workers/src/dashboard/index.js +1 -0
- package/packages/workers/src/dashboard/types.d.ts +123 -0
- package/packages/workers/src/dashboard/types.d.ts.map +1 -0
- package/packages/workers/src/dashboard/types.js +1 -0
- package/packages/workers/src/dashboard/workers-api.d.ts +5 -0
- package/packages/workers/src/dashboard/workers-api.d.ts.map +1 -0
- package/packages/workers/src/dashboard/workers-api.js +776 -0
- package/packages/workers/src/helper/index.d.ts +6 -0
- package/packages/workers/src/helper/index.d.ts.map +1 -0
- package/packages/workers/src/helper/index.js +10 -0
- package/packages/workers/src/http/WorkerApiController.d.ts +39 -0
- package/packages/workers/src/http/WorkerApiController.d.ts.map +1 -0
- package/packages/workers/src/http/WorkerApiController.js +313 -0
- package/packages/workers/src/http/WorkerController.d.ts +375 -0
- package/packages/workers/src/http/WorkerController.d.ts.map +1 -0
- package/packages/workers/src/http/WorkerController.js +1454 -0
- package/packages/workers/src/http/WorkerMonitoringService.d.ts +12 -0
- package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +1 -0
- package/packages/workers/src/http/WorkerMonitoringService.js +89 -0
- package/packages/workers/src/http/middleware/CustomValidation.d.ts +93 -0
- package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/CustomValidation.js +270 -0
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +4 -0
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/DatacenterValidator.js +94 -0
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +8 -0
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/EditWorkerValidation.js +56 -0
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +4 -0
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/FeaturesValidator.js +61 -0
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +32 -0
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/InfrastructureValidator.js +226 -0
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts +4 -0
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/OptionsValidator.js +112 -0
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +8 -0
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/PayloadSanitizer.js +42 -0
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +140 -0
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/QueueNameSanitizer.js +45 -0
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts +8 -0
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/ValidateDriver.js +20 -0
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/VersionSanitizer.js +25 -0
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +4 -0
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +46 -0
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +28 -0
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +1 -0
- package/packages/workers/src/http/middleware/WorkerValidationChain.js +186 -0
- package/packages/workers/src/index.d.ts +47 -0
- package/packages/workers/src/index.d.ts.map +1 -0
- package/packages/workers/src/index.js +48 -0
- package/packages/workers/src/register.d.ts +10 -0
- package/packages/workers/src/register.d.ts.map +1 -0
- package/packages/workers/src/register.js +43 -0
- package/packages/workers/src/routes/workers.d.ts +13 -0
- package/packages/workers/src/routes/workers.d.ts.map +1 -0
- package/packages/workers/src/routes/workers.js +126 -0
- package/packages/workers/src/storage/WorkerStore.d.ts +52 -0
- package/packages/workers/src/storage/WorkerStore.d.ts.map +1 -0
- package/packages/workers/src/storage/WorkerStore.js +259 -0
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +47 -0
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +1 -0
- package/packages/workers/src/telemetry/api/TelemetryAPI.js +219 -0
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +18 -0
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +1 -0
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +140 -0
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts +2 -0
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/AlertPanel.js +13 -0
- package/packages/workers/src/telemetry/components/CostTracking.d.ts +2 -0
- package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/CostTracking.js +14 -0
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +2 -0
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/ResourceUsageChart.js +11 -0
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +2 -0
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +1 -0
- package/packages/workers/src/telemetry/components/WorkerHealthChart.js +11 -0
- package/packages/workers/src/telemetry/index.d.ts +16 -0
- package/packages/workers/src/telemetry/index.d.ts.map +1 -0
- package/packages/workers/src/telemetry/index.js +60 -0
- package/packages/workers/src/telemetry/routes/dashboard.d.ts +7 -0
- package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +1 -0
- package/packages/workers/src/telemetry/routes/dashboard.js +608 -0
- package/packages/workers/src/type.d.ts +77 -0
- package/packages/workers/src/type.d.ts.map +1 -0
- package/packages/workers/src/type.js +1 -0
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +5 -0
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +1 -0
- package/packages/workers/src/ui/router/EmbeddedAssets.js +13 -0
- package/packages/workers/src/ui/router/ui.d.ts +4 -0
- package/packages/workers/src/ui/router/ui.d.ts.map +1 -0
- package/packages/workers/src/ui/router/ui.js +208 -0
- package/packages/workers/src/ui/types/worker-ui.d.ts +230 -0
- package/packages/workers/src/ui/types/worker-ui.d.ts.map +1 -0
- package/packages/workers/src/ui/types/worker-ui.js +5 -0
- package/routes/DirectTestRoutes.d.ts +25 -0
- package/routes/DirectTestRoutes.d.ts.map +1 -0
- package/routes/DirectTestRoutes.js +480 -0
- package/routes/TestRoutes.d.ts +11 -0
- package/routes/TestRoutes.d.ts.map +1 -0
- package/routes/TestRoutes.js +25 -0
- package/routes/api.d.ts +7 -0
- package/routes/api.d.ts.map +1 -0
- package/routes/api.js +136 -0
- package/routes/apiDev.d.ts +7 -0
- package/routes/apiDev.d.ts.map +1 -0
- package/routes/apiDev.js +92 -0
- package/routes/broadcast.d.ts +9 -0
- package/routes/broadcast.d.ts.map +1 -0
- package/routes/broadcast.js +27 -0
- package/routes/mail.d.ts +12 -0
- package/routes/mail.d.ts.map +1 -0
- package/routes/mail.js +138 -0
- package/routes/storage.d.ts +4 -0
- package/routes/storage.d.ts.map +1 -0
- package/routes/storage.js +35 -0
- package/src/boot/bootstrap.js +5 -0
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +4 -0
- package/src/cli/commands/D1ProxyCommand.d.ts +6 -0
- package/src/cli/commands/D1ProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/D1ProxyCommand.js +170 -0
- package/src/cli/commands/InitContainerCommand.d.ts.map +1 -1
- package/src/cli/commands/InitContainerCommand.js +61 -23
- package/src/cli/commands/KvProxyCommand.d.ts +6 -0
- package/src/cli/commands/KvProxyCommand.d.ts.map +1 -0
- package/src/cli/commands/KvProxyCommand.js +158 -0
- package/src/cli/commands/MigrateCommand.js +1 -1
- package/src/cli/commands/MigrateWorkerCommand.d.ts.map +1 -1
- package/src/cli/commands/MigrateWorkerCommand.js +8 -2
- package/src/cli/commands/ProxyCommand.d.ts.map +1 -1
- package/src/cli/commands/ProxyCommand.js +2 -0
- package/src/cli/commands/WorkerCommands.d.ts.map +1 -1
- package/src/cli/commands/WorkerCommands.js +47 -7
- package/src/cli/commands/index.d.ts +2 -0
- package/src/cli/commands/index.d.ts.map +1 -1
- package/src/cli/commands/index.js +2 -0
- package/src/cli/index.d.ts +2 -0
- package/src/cli/index.d.ts.map +1 -1
- package/src/cli/index.js +2 -0
- package/src/cli/scaffolding/GovernanceScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/GovernanceScaffolder.js +20 -3
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +13 -4
- package/src/cli/utils/DistPackager.d.ts +2 -2
- package/src/cli/utils/DistPackager.d.ts.map +1 -1
- package/src/cli/utils/DistPackager.js +9 -3
- package/src/index.js +3 -3
- package/src/proxy.d.ts +2 -0
- package/src/proxy.d.ts.map +1 -1
- package/src/proxy.js +2 -0
- package/src/runtime/WorkerProjectAutoImports.d.ts +14 -0
- package/src/runtime/WorkerProjectAutoImports.d.ts.map +1 -0
- package/src/runtime/WorkerProjectAutoImports.js +63 -0
- package/src/templates/project/basic/app/Workers/ExampleWorker.ts.tpl +17 -0
- package/src/templates/project/basic/package.json.tpl +1 -1
- package/src/templates/project/basic/src/zintrust.workers.ts.tpl +11 -0
- package/src/zintrust.comon.d.ts +9 -0
- package/src/zintrust.comon.d.ts.map +1 -0
- package/src/zintrust.comon.js +15 -0
- package/src/zintrust.plugins.d.ts +6 -3
- package/src/zintrust.plugins.d.ts.map +1 -1
- package/src/zintrust.plugins.js +27 -3
- package/start.d.ts +1 -0
- package/start.js +1 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: AddWayTasksTable
|
|
3
|
+
* Modifies tasks table
|
|
4
|
+
*/
|
|
5
|
+
import { Schema as MigrationSchema } from '../../src/migrations/schema';
|
|
6
|
+
export const migration = {
|
|
7
|
+
/**
|
|
8
|
+
* Run migration
|
|
9
|
+
*/
|
|
10
|
+
async up(db) {
|
|
11
|
+
const schema = MigrationSchema.create(db);
|
|
12
|
+
await schema.table('tasks', (table) => {
|
|
13
|
+
table.string('way');
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
/**
|
|
17
|
+
* Rollback migration
|
|
18
|
+
*/
|
|
19
|
+
async down(_db) {
|
|
20
|
+
// Note: dropping columns/FKs varies by driver; SQLite/D1 requires a table rebuild.
|
|
21
|
+
},
|
|
22
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IDatabase } from '../../src/orm/Database';
|
|
2
|
+
export interface Migration {
|
|
3
|
+
up(db: IDatabase): Promise<void>;
|
|
4
|
+
down(db: IDatabase): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare const migration: Migration;
|
|
7
|
+
//# sourceMappingURL=20260218121500_create_jwt_revocations_table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20260218121500_create_jwt_revocations_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260218121500_create_jwt_revocations_table.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAmBvB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: CreateJwtRevocationsTable
|
|
3
|
+
* Creates a storage table for JWT token revocation (token invalidation).
|
|
4
|
+
*/
|
|
5
|
+
import { Schema as MigrationSchema } from '../../src/migrations/schema';
|
|
6
|
+
export const migration = {
|
|
7
|
+
async up(db) {
|
|
8
|
+
const schema = MigrationSchema.create(db);
|
|
9
|
+
await schema.create('zintrust_jwt_revocations', (table) => {
|
|
10
|
+
table.id();
|
|
11
|
+
table.string('jti', 128).unique();
|
|
12
|
+
table.string('sub', 191).nullable();
|
|
13
|
+
table.bigInteger('expires_at_ms');
|
|
14
|
+
table.timestamp('revoked_at').notNullable().default('CURRENT_TIMESTAMP');
|
|
15
|
+
table.index(['expires_at_ms']);
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
async down(db) {
|
|
19
|
+
const schema = MigrationSchema.create(db);
|
|
20
|
+
await schema.dropIfExists('zintrust_jwt_revocations');
|
|
21
|
+
},
|
|
22
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: AddKindToJwtRevocationsTable
|
|
3
|
+
* Adds a 'kind' column so the same table can distinguish revoked tokens vs active sessions.
|
|
4
|
+
*/
|
|
5
|
+
import type { IDatabase } from '../../src/orm/Database';
|
|
6
|
+
export interface Migration {
|
|
7
|
+
up(db: IDatabase): Promise<void>;
|
|
8
|
+
down(db: IDatabase): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare const migration: Migration;
|
|
11
|
+
//# sourceMappingURL=20260222120000_add_kind_to_jwt_revocations_table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20260222120000_add_kind_to_jwt_revocations_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260222120000_add_kind_to_jwt_revocations_table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAgBvB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: AddKindToJwtRevocationsTable
|
|
3
|
+
* Adds a 'kind' column so the same table can distinguish revoked tokens vs active sessions.
|
|
4
|
+
*/
|
|
5
|
+
import { Schema as MigrationSchema } from '../../src/migrations/schema';
|
|
6
|
+
export const migration = {
|
|
7
|
+
async up(db) {
|
|
8
|
+
const schema = MigrationSchema.create(db);
|
|
9
|
+
const hasKind = await schema.hasColumn('zintrust_jwt_revocations', 'kind');
|
|
10
|
+
if (!hasKind) {
|
|
11
|
+
await schema.table('zintrust_jwt_revocations', (table) => {
|
|
12
|
+
table.string('kind', 16).notNullable().default('revoked');
|
|
13
|
+
table.index(['kind']);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
async down(_db) {
|
|
18
|
+
// Note: dropping columns/FKs varies by driver; SQLite/D1 requires a table rebuild.
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: AddUserIdToJwtRevocationsTable
|
|
3
|
+
* Adds a 'user_id' column so developers can attribute JWT session/revocation rows to a user.
|
|
4
|
+
*/
|
|
5
|
+
import type { IDatabase } from '../../src/orm/Database';
|
|
6
|
+
export interface Migration {
|
|
7
|
+
up(db: IDatabase): Promise<void>;
|
|
8
|
+
down(db: IDatabase): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare const migration: Migration;
|
|
11
|
+
//# sourceMappingURL=20260222123000_add_user_id_to_jwt_revocations_table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20260222123000_add_user_id_to_jwt_revocations_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260222123000_add_user_id_to_jwt_revocations_table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAgBvB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: AddUserIdToJwtRevocationsTable
|
|
3
|
+
* Adds a 'user_id' column so developers can attribute JWT session/revocation rows to a user.
|
|
4
|
+
*/
|
|
5
|
+
import { Schema as MigrationSchema } from '../../src/migrations/schema';
|
|
6
|
+
export const migration = {
|
|
7
|
+
async up(db) {
|
|
8
|
+
const schema = MigrationSchema.create(db);
|
|
9
|
+
const hasUserId = await schema.hasColumn('zintrust_jwt_revocations', 'user_id');
|
|
10
|
+
if (!hasUserId) {
|
|
11
|
+
await schema.table('zintrust_jwt_revocations', (table) => {
|
|
12
|
+
table.string('user_id', 191).nullable();
|
|
13
|
+
table.index(['user_id']);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
async down(_db) {
|
|
18
|
+
// Note: dropping columns/FKs varies by driver; SQLite/D1 requires a table rebuild.
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: CreatePostsTable
|
|
3
|
+
* Creates posts table
|
|
4
|
+
*/
|
|
5
|
+
import type { IDatabase } from '../../src/orm/Database';
|
|
6
|
+
export interface Migration {
|
|
7
|
+
up(db: IDatabase): Promise<void>;
|
|
8
|
+
down(db: IDatabase): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare const migration: Migration;
|
|
11
|
+
//# sourceMappingURL=20260327112651_create_posts_table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20260327112651_create_posts_table.d.ts","sourceRoot":"","sources":["../../../database/migrations/20260327112651_create_posts_table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,SAAS,EAAE,SAoBvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: CreatePostsTable
|
|
3
|
+
* Creates posts table
|
|
4
|
+
*/
|
|
5
|
+
import { Schema as MigrationSchema } from '../../src/migrations/schema';
|
|
6
|
+
export const migration = {
|
|
7
|
+
/**
|
|
8
|
+
* Run migration
|
|
9
|
+
*/
|
|
10
|
+
async up(db) {
|
|
11
|
+
const schema = MigrationSchema.create(db);
|
|
12
|
+
await schema.create('posts', (table) => {
|
|
13
|
+
table.id();
|
|
14
|
+
table.timestamps();
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
/**
|
|
18
|
+
* Rollback migration
|
|
19
|
+
*/
|
|
20
|
+
async down(db) {
|
|
21
|
+
const schema = MigrationSchema.create(db);
|
|
22
|
+
await schema.dropIfExists('posts');
|
|
23
|
+
},
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatabaseSeeder.d.ts","sourceRoot":"","sources":["../../../database/seeders/DatabaseSeeder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,cAAc;YACX,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;EAWvC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SeederDiscovery } from '../../src/seeders/SeederDiscovery';
|
|
2
|
+
import { SeederLoader } from '../../src/seeders/SeederLoader';
|
|
3
|
+
import { CommonUtils } from '../../src/common/index';
|
|
4
|
+
import * as path from '../../src/node-singletons/path';
|
|
5
|
+
export const DatabaseSeeder = Object.freeze({
|
|
6
|
+
async run(db) {
|
|
7
|
+
const dir = CommonUtils.esmDirname(import.meta.url);
|
|
8
|
+
const files = SeederDiscovery.listSeederFiles(dir).filter((filePath) => {
|
|
9
|
+
const base = path.basename(filePath, path.extname(filePath));
|
|
10
|
+
return base !== 'DatabaseSeeder';
|
|
11
|
+
});
|
|
12
|
+
const seeders = await Promise.all(files.map((filePath) => SeederLoader.load(filePath)));
|
|
13
|
+
await Promise.all(seeders.map((seeder) => seeder.run(db)));
|
|
14
|
+
},
|
|
15
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UserSeeder
|
|
3
|
+
* Seeder for populating User table with test data
|
|
4
|
+
*/
|
|
5
|
+
import { UserFactory } from '../factories/UserFactory';
|
|
6
|
+
import type { IDatabase } from '../../src/orm/Database';
|
|
7
|
+
export declare const UserSeeder: Readonly<{
|
|
8
|
+
/**
|
|
9
|
+
* Run the seeder
|
|
10
|
+
* Populates the user table with 10 records
|
|
11
|
+
*/
|
|
12
|
+
run(db?: IDatabase): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Get records from this seeder
|
|
15
|
+
*/
|
|
16
|
+
getRecords(count: number): Promise<ReturnType<ReturnType<typeof UserFactory.new>["count"]>>;
|
|
17
|
+
/**
|
|
18
|
+
* Seed with specific states
|
|
19
|
+
*/
|
|
20
|
+
seedWithStates(db?: IDatabase): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Seed with relationships
|
|
23
|
+
*/
|
|
24
|
+
seedWithRelationships(db?: IDatabase): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Reset seeder (truncate table)
|
|
27
|
+
*/
|
|
28
|
+
reset(db?: IDatabase): Promise<void>;
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=UserSeeder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserSeeder.d.ts","sourceRoot":"","sources":["../../../database/seeders/UserSeeder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA2B/C,eAAO,MAAM,UAAU;IACrB;;;OAGG;aACY,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxC;;OAEG;sBAEM,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAKnE;;OAEG;wBACuB,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBnD;;OAEG;+BAC8B,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1D;;OAEG;eACc,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;EAS1C,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UserSeeder
|
|
3
|
+
* Seeder for populating User table with test data
|
|
4
|
+
*/
|
|
5
|
+
import { Logger } from '../../src/config/logger';
|
|
6
|
+
import { UserFactory } from '../factories/UserFactory';
|
|
7
|
+
import { Auth } from '../../src/auth/Auth';
|
|
8
|
+
async function truncateUsersTable(db) {
|
|
9
|
+
await db.table('users').where('id', 'IS NOT', null).delete();
|
|
10
|
+
}
|
|
11
|
+
function normalizeUserFactoryRecord(record) {
|
|
12
|
+
const row = record;
|
|
13
|
+
const name = typeof row['name'] === 'string' ? row['name'] : 'User';
|
|
14
|
+
const email = typeof row['email'] === 'string' ? row['email'] : `${name}@example.com`;
|
|
15
|
+
return { name, email };
|
|
16
|
+
}
|
|
17
|
+
async function insertUserFactoryRecords(db, records, getPassword) {
|
|
18
|
+
await Promise.all(records.map(async (record) => {
|
|
19
|
+
const { name, email } = normalizeUserFactoryRecord(record);
|
|
20
|
+
const password = await getPassword();
|
|
21
|
+
return db.table('users').insert({ name, email, password });
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
export const UserSeeder = Object.freeze({
|
|
25
|
+
/**
|
|
26
|
+
* Run the seeder
|
|
27
|
+
* Populates the user table with 10 records
|
|
28
|
+
*/
|
|
29
|
+
async run(db) {
|
|
30
|
+
if (db === undefined) {
|
|
31
|
+
Logger.warn('UserSeeder.run() was called without a db instance; skipping.');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const count = 10;
|
|
35
|
+
const factory = UserFactory.new();
|
|
36
|
+
// Optionally truncate the table before seeding
|
|
37
|
+
await truncateUsersTable(db);
|
|
38
|
+
// Generate and create records
|
|
39
|
+
const records = factory.count(count);
|
|
40
|
+
await insertUserFactoryRecords(db, records, () => Auth.hash('password'));
|
|
41
|
+
Logger.info(`✅ Seeded ${count} user records`);
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* Get records from this seeder
|
|
45
|
+
*/
|
|
46
|
+
async getRecords(count) {
|
|
47
|
+
const factory = UserFactory.new();
|
|
48
|
+
return factory.count(count);
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Seed with specific states
|
|
52
|
+
*/
|
|
53
|
+
async seedWithStates(db) {
|
|
54
|
+
if (db === undefined) {
|
|
55
|
+
Logger.warn('UserSeeder.seedWithStates() was called without a db instance; skipping.');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const factory = UserFactory.new();
|
|
59
|
+
// Create active records (50%)
|
|
60
|
+
const active = factory.state('active').count(Math.ceil(10 * 0.5));
|
|
61
|
+
const activePromise = insertUserFactoryRecords(db, active, () => Auth.hash('password'));
|
|
62
|
+
// Create inactive records (30%)
|
|
63
|
+
const inactive = factory.state('inactive').count(Math.ceil(10 * 0.3));
|
|
64
|
+
const inactivePromise = insertUserFactoryRecords(db, inactive, () => Auth.hash('password'));
|
|
65
|
+
// Create deleted records (20%)
|
|
66
|
+
const deleted = factory.state('deleted').count(Math.ceil(10 * 0.2));
|
|
67
|
+
const deletedPromise = insertUserFactoryRecords(db, deleted, () => Auth.hash('password'));
|
|
68
|
+
await Promise.all([activePromise, inactivePromise, deletedPromise]);
|
|
69
|
+
Logger.info(`✅ Seeded 10 user records with state distribution`);
|
|
70
|
+
},
|
|
71
|
+
/**
|
|
72
|
+
* Seed with relationships
|
|
73
|
+
*/
|
|
74
|
+
async seedWithRelationships(db) {
|
|
75
|
+
if (db === undefined) {
|
|
76
|
+
Logger.warn('UserSeeder.seedWithRelationships() was called without a db instance; skipping.');
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const factory = UserFactory.new();
|
|
80
|
+
const password = await Auth.hash('password');
|
|
81
|
+
const records = factory.count(10);
|
|
82
|
+
// Create records with relationships (implement as needed)
|
|
83
|
+
await insertUserFactoryRecords(db, records, async () => password);
|
|
84
|
+
Logger.info(`✅ Seeded 10 user records with relationships`);
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* Reset seeder (truncate table)
|
|
88
|
+
*/
|
|
89
|
+
async reset(db) {
|
|
90
|
+
if (db === undefined) {
|
|
91
|
+
Logger.warn('UserSeeder.reset() was called without a db instance; skipping.');
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
await truncateUsersTable(db);
|
|
95
|
+
Logger.info('✅ Truncated users table');
|
|
96
|
+
},
|
|
97
|
+
});
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/index';
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/index.js';
|
package/package.json
CHANGED
|
@@ -1,56 +1,57 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zintrust/core",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "Production-grade TypeScript backend framework for JavaScript",
|
|
5
|
-
"homepage": "https://zintrust.com",
|
|
6
|
-
"repository": {
|
|
7
|
-
"type": "git",
|
|
8
|
-
"url": "https://github.com/ZinTrust/ZinTrust.git"
|
|
9
|
-
},
|
|
10
|
-
"bugs": {
|
|
11
|
-
"url": "https://github.com/ZinTrust/ZinTrust/issues"
|
|
12
|
-
},
|
|
3
|
+
"version": "0.4.28",
|
|
13
4
|
"type": "module",
|
|
14
|
-
"main": "
|
|
15
|
-
"types": "
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"types": "./index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"zintrust": "./bin/zintrust.js",
|
|
9
|
+
"zin": "./bin/zin.js",
|
|
10
|
+
"z": "./bin/z.js",
|
|
11
|
+
"zt": "./bin/zt.js"
|
|
12
|
+
},
|
|
16
13
|
"exports": {
|
|
17
14
|
".": {
|
|
18
|
-
"types": "./
|
|
19
|
-
"
|
|
15
|
+
"types": "./index.d.ts",
|
|
16
|
+
"default": "./index.js"
|
|
20
17
|
},
|
|
21
18
|
"./start": {
|
|
22
|
-
"types": "./
|
|
23
|
-
"
|
|
19
|
+
"types": "./start.d.ts",
|
|
20
|
+
"default": "./start.js"
|
|
24
21
|
},
|
|
25
22
|
"./cli": {
|
|
26
23
|
"types": "./src/cli.d.ts",
|
|
27
|
-
"
|
|
28
|
-
},
|
|
29
|
-
"./worker-commands": {
|
|
30
|
-
"types": "./src/worker-commands.d.ts",
|
|
31
|
-
"import": "./src/worker-commands.js"
|
|
24
|
+
"default": "./src/cli.js"
|
|
32
25
|
},
|
|
33
26
|
"./proxy": {
|
|
34
27
|
"types": "./src/proxy.d.ts",
|
|
35
|
-
"
|
|
28
|
+
"default": "./src/proxy.js"
|
|
29
|
+
},
|
|
30
|
+
"./proxy/*": {
|
|
31
|
+
"types": "./src/proxy/*.d.ts",
|
|
32
|
+
"default": "./src/proxy/*.js"
|
|
36
33
|
},
|
|
37
34
|
"./collections": {
|
|
38
35
|
"types": "./src/collections/index.d.ts",
|
|
39
|
-
"
|
|
36
|
+
"default": "./src/collections/index.js"
|
|
40
37
|
},
|
|
41
38
|
"./helper": {
|
|
42
39
|
"types": "./src/helper/index.d.ts",
|
|
43
|
-
"
|
|
40
|
+
"default": "./src/helper/index.js"
|
|
44
41
|
},
|
|
45
42
|
"./node": {
|
|
46
43
|
"types": "./src/node.d.ts",
|
|
47
|
-
"
|
|
44
|
+
"default": "./src/node.js"
|
|
45
|
+
},
|
|
46
|
+
"./routes/*": {
|
|
47
|
+
"types": "./routes/*.d.ts",
|
|
48
|
+
"default": "./routes/*.js"
|
|
48
49
|
},
|
|
49
50
|
"./package.json": "./package.json"
|
|
50
51
|
},
|
|
51
52
|
"dependencies": {
|
|
52
53
|
"@cloudflare/containers": "^0.1.1",
|
|
53
|
-
"@zintrust/workers": "^0.4.
|
|
54
|
+
"@zintrust/workers": "^0.4.25",
|
|
54
55
|
"bcryptjs": "^3.0.3",
|
|
55
56
|
"bullmq": "^5.71.0",
|
|
56
57
|
"chalk": "^5.6.2",
|
|
@@ -60,58 +61,6 @@
|
|
|
60
61
|
"mysql2": "^3.20.0",
|
|
61
62
|
"pg": "^8.20.0"
|
|
62
63
|
},
|
|
63
|
-
"overrides": {
|
|
64
|
-
"ajv": "^8.18.0",
|
|
65
|
-
"axios": "^1.13.5",
|
|
66
|
-
"node-forge": "^1.4.0",
|
|
67
|
-
"brace-expansion": "^5.0.5",
|
|
68
|
-
"picomatch": "^4.0.4",
|
|
69
|
-
"cross-spawn": "^7.0.5",
|
|
70
|
-
"glob": "^11.1.0",
|
|
71
|
-
"minimatch": "^10.2.2",
|
|
72
|
-
"rollup": "^4.59.0",
|
|
73
|
-
"flatted": "^3.4.2",
|
|
74
|
-
"@actions/github": {
|
|
75
|
-
"undici": "^6.24.0"
|
|
76
|
-
},
|
|
77
|
-
"@actions/http-client": {
|
|
78
|
-
"undici": "^6.24.0"
|
|
79
|
-
},
|
|
80
|
-
"miniflare": {
|
|
81
|
-
"undici": "^7.24.4"
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
"bin": {
|
|
85
|
-
"zintrust": "bin/zintrust.js",
|
|
86
|
-
"zin": "bin/zin.js",
|
|
87
|
-
"z": "bin/z.js",
|
|
88
|
-
"zt": "bin/zt.js"
|
|
89
|
-
},
|
|
90
|
-
"files": [
|
|
91
|
-
"bin",
|
|
92
|
-
"src",
|
|
93
|
-
"public"
|
|
94
|
-
],
|
|
95
|
-
"engines": {
|
|
96
|
-
"node": ">=20.0.0",
|
|
97
|
-
"npm": ">=9.0.0"
|
|
98
|
-
},
|
|
99
|
-
"keywords": [
|
|
100
|
-
"framework",
|
|
101
|
-
"typescript",
|
|
102
|
-
"backend",
|
|
103
|
-
"orm",
|
|
104
|
-
"query-builder",
|
|
105
|
-
"rest-api",
|
|
106
|
-
"react",
|
|
107
|
-
"react-api",
|
|
108
|
-
"vue",
|
|
109
|
-
"vue-api",
|
|
110
|
-
"symfony",
|
|
111
|
-
"laravel"
|
|
112
|
-
],
|
|
113
|
-
"author": "ZinTrust Team",
|
|
114
|
-
"license": "MIT",
|
|
115
64
|
"publishConfig": {
|
|
116
65
|
"access": "public"
|
|
117
66
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedisProxyAdapter.d.ts","sourceRoot":"","sources":["../../../../packages/cache-redis/src/RedisProxyAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmI9C,eAAO,MAAM,iBAAiB;cAClB,WAAW;EA6CrB,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Env, ErrorFactory, Logger, SignedRequest } from '../../../src/index.js';
|
|
2
|
+
const resolveSigningPrefix = (baseUrl) => {
|
|
3
|
+
try {
|
|
4
|
+
const parsed = new URL(baseUrl);
|
|
5
|
+
const path = parsed.pathname.endsWith('/') ? parsed.pathname.slice(0, -1) : parsed.pathname;
|
|
6
|
+
if (path === '' || path === '/')
|
|
7
|
+
return undefined;
|
|
8
|
+
return path;
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const buildRequestUrl = (baseUrl, path) => {
|
|
15
|
+
const url = new URL(baseUrl);
|
|
16
|
+
const basePath = url.pathname.endsWith('/') ? url.pathname.slice(0, -1) : url.pathname;
|
|
17
|
+
const requestPath = path.startsWith('/') ? path : `/${path}`;
|
|
18
|
+
url.pathname = `${basePath}${requestPath}`;
|
|
19
|
+
return url;
|
|
20
|
+
};
|
|
21
|
+
const buildSigningUrl = (requestUrl, baseUrl) => {
|
|
22
|
+
const prefix = resolveSigningPrefix(baseUrl);
|
|
23
|
+
if (!prefix)
|
|
24
|
+
return requestUrl;
|
|
25
|
+
if (requestUrl.pathname === prefix || requestUrl.pathname.startsWith(`${prefix}/`)) {
|
|
26
|
+
const signingUrl = new URL(requestUrl.toString());
|
|
27
|
+
const stripped = requestUrl.pathname.slice(prefix.length);
|
|
28
|
+
signingUrl.pathname = stripped.startsWith('/') ? stripped : `/${stripped}`;
|
|
29
|
+
return signingUrl;
|
|
30
|
+
}
|
|
31
|
+
return requestUrl;
|
|
32
|
+
};
|
|
33
|
+
const resolveBaseUrl = () => {
|
|
34
|
+
const explicit = Env.get('REDIS_PROXY_URL', '').trim();
|
|
35
|
+
if (explicit !== '')
|
|
36
|
+
return explicit;
|
|
37
|
+
const host = Env.get('REDIS_PROXY_HOST', '127.0.0.1');
|
|
38
|
+
const port = Env.getInt('REDIS_PROXY_PORT', 8791);
|
|
39
|
+
return `http://${host}:${port}`;
|
|
40
|
+
};
|
|
41
|
+
const buildProxySettings = () => {
|
|
42
|
+
const baseUrl = resolveBaseUrl();
|
|
43
|
+
const rawKeyId = Env.get('REDIS_PROXY_KEY_ID', '').trim();
|
|
44
|
+
const fallbackKeyId = (Env.APP_NAME ?? 'zintrust').trim().toLowerCase().replaceAll(/\s+/g, '_');
|
|
45
|
+
const keyId = (rawKeyId === '' ? fallbackKeyId : rawKeyId) || undefined;
|
|
46
|
+
const secret = Env.get('REDIS_PROXY_SECRET', '') || Env.APP_KEY || undefined;
|
|
47
|
+
const timeoutMs = Env.getInt('REDIS_PROXY_TIMEOUT_MS', Env.ZT_PROXY_TIMEOUT_MS);
|
|
48
|
+
return { baseUrl, keyId, secret, timeoutMs };
|
|
49
|
+
};
|
|
50
|
+
const buildHeaders = async (settings, requestUrl, body) => {
|
|
51
|
+
const headers = {
|
|
52
|
+
'Content-Type': 'application/json',
|
|
53
|
+
};
|
|
54
|
+
if (settings.keyId && settings.secret) {
|
|
55
|
+
const signingUrl = buildSigningUrl(requestUrl, settings.baseUrl);
|
|
56
|
+
const signed = await SignedRequest.createHeaders({
|
|
57
|
+
method: 'POST',
|
|
58
|
+
url: signingUrl,
|
|
59
|
+
body,
|
|
60
|
+
keyId: settings.keyId,
|
|
61
|
+
secret: settings.secret,
|
|
62
|
+
});
|
|
63
|
+
Object.assign(headers, signed);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
Logger.warn('[redis-proxy] Proxy signing disabled; sending unsigned request.');
|
|
67
|
+
}
|
|
68
|
+
return headers;
|
|
69
|
+
};
|
|
70
|
+
const requestProxy = async (settings, path, payload) => {
|
|
71
|
+
if (settings.baseUrl.trim() === '') {
|
|
72
|
+
throw ErrorFactory.createConfigError('Redis proxy URL is missing (REDIS_PROXY_URL)');
|
|
73
|
+
}
|
|
74
|
+
const body = JSON.stringify(payload);
|
|
75
|
+
const url = buildRequestUrl(settings.baseUrl, path);
|
|
76
|
+
const headers = await buildHeaders(settings, url, body);
|
|
77
|
+
const timeoutSignal = typeof AbortSignal !== 'undefined' && 'timeout' in AbortSignal;
|
|
78
|
+
const signal = timeoutSignal ? AbortSignal.timeout(settings.timeoutMs) : undefined;
|
|
79
|
+
const response = await fetch(url.toString(), {
|
|
80
|
+
method: 'POST',
|
|
81
|
+
headers,
|
|
82
|
+
body,
|
|
83
|
+
signal,
|
|
84
|
+
});
|
|
85
|
+
if (!response.ok) {
|
|
86
|
+
const text = await response.text();
|
|
87
|
+
throw ErrorFactory.createTryCatchError(`Redis proxy request failed (${response.status})`, text);
|
|
88
|
+
}
|
|
89
|
+
return (await response.json());
|
|
90
|
+
};
|
|
91
|
+
const toNumber = (value) => {
|
|
92
|
+
if (typeof value === 'number')
|
|
93
|
+
return value;
|
|
94
|
+
if (typeof value === 'string') {
|
|
95
|
+
const parsed = Number(value);
|
|
96
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
97
|
+
}
|
|
98
|
+
return 0;
|
|
99
|
+
};
|
|
100
|
+
export const RedisProxyAdapter = Object.freeze({
|
|
101
|
+
create() {
|
|
102
|
+
const settings = buildProxySettings();
|
|
103
|
+
const sendCommand = async (command, args) => {
|
|
104
|
+
const response = await requestProxy(settings, '/zin/redis/command', {
|
|
105
|
+
command,
|
|
106
|
+
args,
|
|
107
|
+
});
|
|
108
|
+
return response.result;
|
|
109
|
+
};
|
|
110
|
+
return {
|
|
111
|
+
async get(key) {
|
|
112
|
+
const result = await sendCommand('GET', [key]);
|
|
113
|
+
if (result === null)
|
|
114
|
+
return null;
|
|
115
|
+
try {
|
|
116
|
+
return JSON.parse(result);
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
async set(key, value, ttl) {
|
|
123
|
+
const json = JSON.stringify(value);
|
|
124
|
+
if (Number.isFinite(ttl) && (ttl ?? 0) > 0) {
|
|
125
|
+
await sendCommand('SET', [key, json, 'EX', ttl]);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
await sendCommand('SET', [key, json]);
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
async delete(key) {
|
|
132
|
+
await sendCommand('DEL', [key]);
|
|
133
|
+
},
|
|
134
|
+
async clear() {
|
|
135
|
+
await sendCommand('FLUSHDB', []);
|
|
136
|
+
},
|
|
137
|
+
async has(key) {
|
|
138
|
+
const result = await sendCommand('EXISTS', [key]);
|
|
139
|
+
return toNumber(result) > 0;
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
export default RedisProxyAdapter;
|