@orchestr-sh/orchestr 1.11.1 → 1.11.2
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/CHANGELOG.md +2 -0
- package/dist/Cache/CacheManager.cjs +1 -1
- package/dist/Cache/CacheManager.mjs +1 -1
- package/dist/Cache/CacheManager.mjs.map +1 -1
- package/dist/Cache/Events/CacheFlushed.cjs +1 -1
- package/dist/Cache/Events/CacheFlushed.mjs +1 -1
- package/dist/Cache/Events/CacheFlushed.mjs.map +1 -1
- package/dist/Cache/Events/CacheHit.cjs +1 -1
- package/dist/Cache/Events/CacheHit.mjs +1 -1
- package/dist/Cache/Events/CacheHit.mjs.map +1 -1
- package/dist/Cache/Events/CacheMissed.cjs +1 -1
- package/dist/Cache/Events/CacheMissed.mjs +1 -1
- package/dist/Cache/Events/CacheMissed.mjs.map +1 -1
- package/dist/Cache/Events/KeyForgotten.cjs +1 -1
- package/dist/Cache/Events/KeyForgotten.mjs +1 -1
- package/dist/Cache/Events/KeyForgotten.mjs.map +1 -1
- package/dist/Cache/Events/KeyWritten.cjs +1 -1
- package/dist/Cache/Events/KeyWritten.mjs +1 -1
- package/dist/Cache/Events/KeyWritten.mjs.map +1 -1
- package/dist/Cache/Locks/CacheLock.cjs +1 -1
- package/dist/Cache/Locks/CacheLock.mjs +1 -1
- package/dist/Cache/Locks/CacheLock.mjs.map +1 -1
- package/dist/Cache/Locks/Lock.cjs +1 -1
- package/dist/Cache/Locks/Lock.mjs +1 -1
- package/dist/Cache/Locks/Lock.mjs.map +1 -1
- package/dist/Cache/Repository.cjs +1 -1
- package/dist/Cache/Repository.mjs +1 -1
- package/dist/Cache/Repository.mjs.map +1 -1
- package/dist/Cache/Stores/ArrayStore.cjs +1 -1
- package/dist/Cache/Stores/ArrayStore.mjs +1 -1
- package/dist/Cache/Stores/ArrayStore.mjs.map +1 -1
- package/dist/Cache/Stores/DatabaseStore.cjs +1 -1
- package/dist/Cache/Stores/DatabaseStore.mjs +1 -1
- package/dist/Cache/Stores/DatabaseStore.mjs.map +1 -1
- package/dist/Cache/Stores/FileStore.cjs +1 -1
- package/dist/Cache/Stores/FileStore.mjs +1 -1
- package/dist/Cache/Stores/FileStore.mjs.map +1 -1
- package/dist/Cache/Tags/TagSet.cjs +1 -1
- package/dist/Cache/Tags/TagSet.mjs +1 -1
- package/dist/Cache/Tags/TagSet.mjs.map +1 -1
- package/dist/Cache/Tags/TaggedCache.cjs +1 -1
- package/dist/Cache/Tags/TaggedCache.mjs +1 -1
- package/dist/Cache/Tags/TaggedCache.mjs.map +1 -1
- package/dist/Console/Commands/CacheClearCommand.cjs +1 -1
- package/dist/Console/Commands/CacheClearCommand.mjs +1 -1
- package/dist/Console/Commands/CacheClearCommand.mjs.map +1 -1
- package/dist/Console/Commands/CacheForgetCommand.cjs +1 -1
- package/dist/Console/Commands/CacheForgetCommand.mjs +1 -1
- package/dist/Console/Commands/CacheForgetCommand.mjs.map +1 -1
- package/dist/Console/Commands/CacheTableCommand.cjs +1 -1
- package/dist/Console/Commands/CacheTableCommand.mjs +1 -1
- package/dist/Console/Commands/CacheTableCommand.mjs.map +1 -1
- package/dist/Console/Commands/DeployCommand.mjs.map +1 -1
- package/dist/Console/Commands/DeployEnvCommand.mjs.map +1 -1
- package/dist/Console/Commands/DeployInitCommand.mjs.map +1 -1
- package/dist/Console/Commands/DeployProvisionCommand.mjs.map +1 -1
- package/dist/Console/Commands/DeployRollbackCommand.mjs.map +1 -1
- package/dist/Console/Commands/DeployServerCommand.mjs.map +1 -1
- package/dist/Console/Commands/DeployStatusCommand.mjs.map +1 -1
- package/dist/Console/Commands/EventCacheCommand.cjs +1 -1
- package/dist/Console/Commands/EventCacheCommand.mjs +1 -1
- package/dist/Console/Commands/EventCacheCommand.mjs.map +1 -1
- package/dist/Console/Commands/EventClearCommand.cjs +1 -1
- package/dist/Console/Commands/EventClearCommand.mjs +1 -1
- package/dist/Console/Commands/EventClearCommand.mjs.map +1 -1
- package/dist/Console/Commands/EventListCommand.cjs +1 -1
- package/dist/Console/Commands/EventListCommand.mjs +1 -1
- package/dist/Console/Commands/EventListCommand.mjs.map +1 -1
- package/dist/Console/Commands/MakeControllerCommand.cjs +1 -1
- package/dist/Console/Commands/MakeControllerCommand.mjs +1 -1
- package/dist/Console/Commands/MakeControllerCommand.mjs.map +1 -1
- package/dist/Console/Commands/MakeEventCommand.cjs +1 -1
- package/dist/Console/Commands/MakeEventCommand.mjs +1 -1
- package/dist/Console/Commands/MakeEventCommand.mjs.map +1 -1
- package/dist/Console/Commands/MakeJobCommand.cjs +1 -1
- package/dist/Console/Commands/MakeJobCommand.mjs +1 -1
- package/dist/Console/Commands/MakeJobCommand.mjs.map +1 -1
- package/dist/Console/Commands/MakeListenerCommand.cjs +1 -1
- package/dist/Console/Commands/MakeListenerCommand.mjs +1 -1
- package/dist/Console/Commands/MakeListenerCommand.mjs.map +1 -1
- package/dist/Console/Commands/MakeMigrationCommand.cjs +1 -1
- package/dist/Console/Commands/MakeMigrationCommand.mjs +1 -1
- package/dist/Console/Commands/MakeMigrationCommand.mjs.map +1 -1
- package/dist/Console/Commands/MakeSeederCommand.cjs +1 -1
- package/dist/Console/Commands/MakeSeederCommand.mjs +1 -1
- package/dist/Console/Commands/MakeSeederCommand.mjs.map +1 -1
- package/dist/Console/Commands/MakeViewCommand.cjs +1 -1
- package/dist/Console/Commands/MakeViewCommand.mjs +1 -1
- package/dist/Console/Commands/MakeViewCommand.mjs.map +1 -1
- package/dist/Console/Commands/MigrateCommand.cjs +1 -1
- package/dist/Console/Commands/MigrateCommand.mjs +1 -1
- package/dist/Console/Commands/MigrateCommand.mjs.map +1 -1
- package/dist/Console/Commands/MigrateFreshCommand.cjs +1 -1
- package/dist/Console/Commands/MigrateFreshCommand.mjs +1 -1
- package/dist/Console/Commands/MigrateFreshCommand.mjs.map +1 -1
- package/dist/Console/Commands/MigrateRefreshCommand.cjs +1 -1
- package/dist/Console/Commands/MigrateRefreshCommand.mjs +1 -1
- package/dist/Console/Commands/MigrateRefreshCommand.mjs.map +1 -1
- package/dist/Console/Commands/MigrateResetCommand.cjs +1 -1
- package/dist/Console/Commands/MigrateResetCommand.mjs +1 -1
- package/dist/Console/Commands/MigrateResetCommand.mjs.map +1 -1
- package/dist/Console/Commands/MigrateRollbackCommand.cjs +1 -1
- package/dist/Console/Commands/MigrateRollbackCommand.mjs +1 -1
- package/dist/Console/Commands/MigrateRollbackCommand.mjs.map +1 -1
- package/dist/Console/Commands/MigrateStatusCommand.cjs +1 -1
- package/dist/Console/Commands/MigrateStatusCommand.mjs +1 -1
- package/dist/Console/Commands/MigrateStatusCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueBatchesTableCommand.cjs +1 -1
- package/dist/Console/Commands/QueueBatchesTableCommand.mjs +1 -1
- package/dist/Console/Commands/QueueBatchesTableCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueClearCommand.cjs +1 -1
- package/dist/Console/Commands/QueueClearCommand.mjs +1 -1
- package/dist/Console/Commands/QueueClearCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueFailedCommand.cjs +1 -1
- package/dist/Console/Commands/QueueFailedCommand.mjs +1 -1
- package/dist/Console/Commands/QueueFailedCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueFailedTableCommand.cjs +1 -1
- package/dist/Console/Commands/QueueFailedTableCommand.mjs +1 -1
- package/dist/Console/Commands/QueueFailedTableCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueFlushCommand.cjs +1 -1
- package/dist/Console/Commands/QueueFlushCommand.mjs +1 -1
- package/dist/Console/Commands/QueueFlushCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueForgetCommand.cjs +1 -1
- package/dist/Console/Commands/QueueForgetCommand.mjs +1 -1
- package/dist/Console/Commands/QueueForgetCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueMonitorCommand.cjs +1 -1
- package/dist/Console/Commands/QueueMonitorCommand.mjs +1 -1
- package/dist/Console/Commands/QueueMonitorCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueuePruneBatchesCommand.cjs +1 -1
- package/dist/Console/Commands/QueuePruneBatchesCommand.mjs +1 -1
- package/dist/Console/Commands/QueuePruneBatchesCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueuePruneFailedCommand.cjs +1 -1
- package/dist/Console/Commands/QueuePruneFailedCommand.mjs +1 -1
- package/dist/Console/Commands/QueuePruneFailedCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueRestartCommand.cjs +1 -1
- package/dist/Console/Commands/QueueRestartCommand.mjs +1 -1
- package/dist/Console/Commands/QueueRestartCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueRetryCommand.cjs +1 -1
- package/dist/Console/Commands/QueueRetryCommand.mjs +1 -1
- package/dist/Console/Commands/QueueRetryCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueTableCommand.cjs +1 -1
- package/dist/Console/Commands/QueueTableCommand.mjs +1 -1
- package/dist/Console/Commands/QueueTableCommand.mjs.map +1 -1
- package/dist/Console/Commands/QueueWorkCommand.cjs +1 -1
- package/dist/Console/Commands/QueueWorkCommand.mjs +1 -1
- package/dist/Console/Commands/QueueWorkCommand.mjs.map +1 -1
- package/dist/Console/Commands/SeedCommand.cjs +1 -1
- package/dist/Console/Commands/SeedCommand.mjs +1 -1
- package/dist/Console/Commands/SeedCommand.mjs.map +1 -1
- package/dist/Console/ConsoleKernel.cjs +1 -1
- package/dist/Console/ConsoleKernel.mjs +1 -1
- package/dist/Console/ConsoleKernel.mjs.map +1 -1
- package/dist/Console/orchestr.mjs.map +1 -1
- package/dist/Container/Container.mjs.map +1 -1
- package/dist/Database/Adapters/DrizzleAdapter.cjs +1 -1
- package/dist/Database/Adapters/DrizzleAdapter.mjs +1 -1
- package/dist/Database/Adapters/DrizzleAdapter.mjs.map +1 -1
- package/dist/Database/Connection.cjs +1 -1
- package/dist/Database/Connection.mjs +1 -1
- package/dist/Database/Connection.mjs.map +1 -1
- package/dist/Database/DatabaseManager.cjs +1 -1
- package/dist/Database/DatabaseManager.mjs +1 -1
- package/dist/Database/DatabaseManager.mjs.map +1 -1
- package/dist/Database/Ensemble/Ensemble.mjs.map +1 -1
- package/dist/Database/Ensemble/EnsembleBuilder.mjs.map +1 -1
- package/dist/Database/Ensemble/EnsembleCollection.cjs +1 -1
- package/dist/Database/Ensemble/EnsembleCollection.mjs +1 -1
- package/dist/Database/Ensemble/EnsembleCollection.mjs.map +1 -1
- package/dist/Database/Ensemble/Relations/BelongsTo.mjs.map +1 -1
- package/dist/Database/Ensemble/Relations/BelongsToMany.cjs +1 -1
- package/dist/Database/Ensemble/Relations/BelongsToMany.mjs +1 -1
- package/dist/Database/Ensemble/Relations/BelongsToMany.mjs.map +1 -1
- package/dist/Database/Ensemble/Relations/HasMany.mjs.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphTo.mjs.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphToMany.mjs.map +1 -1
- package/dist/Database/Migrations/Blueprint.cjs +1 -1
- package/dist/Database/Migrations/Blueprint.mjs +1 -1
- package/dist/Database/Migrations/Blueprint.mjs.map +1 -1
- package/dist/Database/Migrations/MigrationCreator.cjs +1 -1
- package/dist/Database/Migrations/MigrationCreator.mjs +1 -1
- package/dist/Database/Migrations/MigrationCreator.mjs.map +1 -1
- package/dist/Database/Migrations/MigrationRepository.cjs +1 -1
- package/dist/Database/Migrations/MigrationRepository.mjs +1 -1
- package/dist/Database/Migrations/MigrationRepository.mjs.map +1 -1
- package/dist/Database/Migrations/Migrator.cjs +1 -1
- package/dist/Database/Migrations/Migrator.mjs +1 -1
- package/dist/Database/Migrations/Migrator.mjs.map +1 -1
- package/dist/Database/Migrations/SchemaBuilder.cjs +1 -1
- package/dist/Database/Migrations/SchemaBuilder.mjs +1 -1
- package/dist/Database/Migrations/SchemaBuilder.mjs.map +1 -1
- package/dist/Database/Query/Builder.cjs +1 -1
- package/dist/Database/Query/Builder.mjs +1 -1
- package/dist/Database/Query/Builder.mjs.map +1 -1
- package/dist/Database/Query/Expression.cjs +1 -1
- package/dist/Database/Query/Expression.mjs +1 -1
- package/dist/Database/Query/Expression.mjs.map +1 -1
- package/dist/Database/Seeders/SeederRunner.cjs +1 -1
- package/dist/Database/Seeders/SeederRunner.mjs +1 -1
- package/dist/Database/Seeders/SeederRunner.mjs.map +1 -1
- package/dist/Deploy/Deployer.cjs +1 -1
- package/dist/Deploy/Deployer.mjs +1 -1
- package/dist/Deploy/Deployer.mjs.map +1 -1
- package/dist/Deploy/ProjectConfig.mjs.map +1 -1
- package/dist/Deploy/Provisioner.cjs +1 -1
- package/dist/Deploy/Provisioner.mjs +1 -1
- package/dist/Deploy/Provisioner.mjs.map +1 -1
- package/dist/Deploy/SSHConnection.mjs.map +1 -1
- package/dist/Deploy/SymphonyClient.cjs +1 -1
- package/dist/Deploy/SymphonyClient.mjs +1 -1
- package/dist/Deploy/SymphonyClient.mjs.map +1 -1
- package/dist/Deploy/TarBuilder.mjs.map +1 -1
- package/dist/Deploy/prompt.mjs.map +1 -1
- package/dist/Events/Dispatcher.cjs +1 -1
- package/dist/Events/Dispatcher.mjs +1 -1
- package/dist/Events/Dispatcher.mjs.map +1 -1
- package/dist/Events/EventServiceProvider.cjs +1 -1
- package/dist/Events/EventServiceProvider.mjs.map +1 -1
- package/dist/Facades/Bus.mjs.map +1 -1
- package/dist/Facades/Cache.mjs.map +1 -1
- package/dist/Facades/Config.mjs.map +1 -1
- package/dist/Facades/DB.mjs.map +1 -1
- package/dist/Facades/Event.mjs.map +1 -1
- package/dist/Facades/Queue.mjs.map +1 -1
- package/dist/Facades/Route.mjs.map +1 -1
- package/dist/Facades/View.mjs.map +1 -1
- package/dist/Foundation/Application.mjs.map +1 -1
- package/dist/Foundation/Http/FormRequest.mjs.map +1 -1
- package/dist/Foundation/Http/Rules/AnyOfRule.mjs.map +1 -1
- package/dist/Foundation/Http/Rules/ImageFileRule.mjs.map +1 -1
- package/dist/Foundation/Http/Validator.mjs.map +1 -1
- package/dist/Queue/Batching/Batch.cjs +1 -1
- package/dist/Queue/Batching/Batch.mjs +1 -1
- package/dist/Queue/Batching/Batch.mjs.map +1 -1
- package/dist/Queue/Batching/PendingBatch.cjs +1 -1
- package/dist/Queue/Batching/PendingBatch.mjs +1 -1
- package/dist/Queue/Batching/PendingBatch.mjs.map +1 -1
- package/dist/Queue/Concerns/Dispatchable.mjs.map +1 -1
- package/dist/Queue/Drivers/DatabaseDriver.cjs +1 -1
- package/dist/Queue/Drivers/DatabaseDriver.mjs +1 -1
- package/dist/Queue/Drivers/DatabaseDriver.mjs.map +1 -1
- package/dist/Queue/Drivers/NullDriver.cjs +1 -1
- package/dist/Queue/Drivers/NullDriver.mjs +1 -1
- package/dist/Queue/Drivers/NullDriver.mjs.map +1 -1
- package/dist/Queue/Drivers/SyncDriver.cjs +1 -1
- package/dist/Queue/Drivers/SyncDriver.mjs +1 -1
- package/dist/Queue/Drivers/SyncDriver.mjs.map +1 -1
- package/dist/Queue/Events/JobExceptionOccurred.cjs +1 -1
- package/dist/Queue/Events/JobExceptionOccurred.mjs +1 -1
- package/dist/Queue/Events/JobExceptionOccurred.mjs.map +1 -1
- package/dist/Queue/Events/JobFailed.cjs +1 -1
- package/dist/Queue/Events/JobFailed.mjs +1 -1
- package/dist/Queue/Events/JobFailed.mjs.map +1 -1
- package/dist/Queue/Events/JobProcessed.cjs +1 -1
- package/dist/Queue/Events/JobProcessed.mjs +1 -1
- package/dist/Queue/Events/JobProcessed.mjs.map +1 -1
- package/dist/Queue/Events/JobProcessing.cjs +1 -1
- package/dist/Queue/Events/JobProcessing.mjs +1 -1
- package/dist/Queue/Events/JobProcessing.mjs.map +1 -1
- package/dist/Queue/Events/JobQueued.cjs +1 -1
- package/dist/Queue/Events/JobQueued.mjs +1 -1
- package/dist/Queue/Events/JobQueued.mjs.map +1 -1
- package/dist/Queue/Events/JobRetryRequested.cjs +1 -1
- package/dist/Queue/Events/JobRetryRequested.mjs +1 -1
- package/dist/Queue/Events/JobRetryRequested.mjs.map +1 -1
- package/dist/Queue/Events/WorkerStopping.cjs +1 -1
- package/dist/Queue/Events/WorkerStopping.mjs +1 -1
- package/dist/Queue/Events/WorkerStopping.mjs.map +1 -1
- package/dist/Queue/Failed/DatabaseFailedJobProvider.cjs +1 -1
- package/dist/Queue/Failed/DatabaseFailedJobProvider.mjs +1 -1
- package/dist/Queue/Failed/DatabaseFailedJobProvider.mjs.map +1 -1
- package/dist/Queue/Middleware/RateLimited.cjs +1 -1
- package/dist/Queue/Middleware/RateLimited.mjs +1 -1
- package/dist/Queue/Middleware/RateLimited.mjs.map +1 -1
- package/dist/Queue/Middleware/ThrottlesExceptions.cjs +1 -1
- package/dist/Queue/Middleware/ThrottlesExceptions.mjs +1 -1
- package/dist/Queue/Middleware/ThrottlesExceptions.mjs.map +1 -1
- package/dist/Queue/Middleware/WithoutOverlapping.cjs +1 -1
- package/dist/Queue/Middleware/WithoutOverlapping.mjs +1 -1
- package/dist/Queue/Middleware/WithoutOverlapping.mjs.map +1 -1
- package/dist/Queue/PendingChain.cjs +1 -1
- package/dist/Queue/PendingChain.mjs +1 -1
- package/dist/Queue/PendingChain.mjs.map +1 -1
- package/dist/Queue/PendingDispatch.cjs +1 -1
- package/dist/Queue/PendingDispatch.mjs +1 -1
- package/dist/Queue/PendingDispatch.mjs.map +1 -1
- package/dist/Queue/QueueManager.cjs +1 -1
- package/dist/Queue/QueueManager.mjs +1 -1
- package/dist/Queue/QueueManager.mjs.map +1 -1
- package/dist/Queue/QueueServiceProvider.mjs.map +1 -1
- package/dist/Queue/Workers/Worker.cjs +1 -1
- package/dist/Queue/Workers/Worker.mjs +1 -1
- package/dist/Queue/Workers/Worker.mjs.map +1 -1
- package/dist/Routing/Request.mjs.map +1 -1
- package/dist/Routing/Response.mjs.map +1 -1
- package/dist/Support/EventDiscovery.cjs +1 -1
- package/dist/Support/EventDiscovery.mjs +1 -1
- package/dist/Support/EventDiscovery.mjs.map +1 -1
- package/dist/Support/Testing/Fakes/EventFake.cjs +1 -1
- package/dist/Support/Testing/Fakes/EventFake.mjs +1 -1
- package/dist/Support/Testing/Fakes/EventFake.mjs.map +1 -1
- package/dist/Support/helpers.mjs.map +1 -1
- package/dist/View/Engines/TemplateEngine.mjs.map +1 -1
- package/package.json +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueFlushCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueFlushCommand.ts"],"sourcesContent":["/**\n * QueueFlushCommand\n *\n * Flush all of the failed queue jobs.\n * Mirrors Laravel's `php artisan queue:flush`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueFlushCommand extends Command {\n signature = 'queue:flush';\n description = 'Flush all of the failed queue jobs';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n const hours = options.hours ? Number(options.hours) : undefined;\n\n await failer.flush(hours);\n\n if (hours) {\n this.info(`All failed jobs older than ${hours} hour(s) have been deleted.`);\n } else {\n this.info('All failed jobs deleted successfully.');\n }\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAAuC,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueueFlushCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueFlushCommand.ts"],"sourcesContent":["/**\n * QueueFlushCommand\n *\n * Flush all of the failed queue jobs.\n * Mirrors Laravel's `php artisan queue:flush`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueFlushCommand extends Command {\n signature = 'queue:flush';\n description = 'Flush all of the failed queue jobs';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n const hours = options.hours ? Number(options.hours) : undefined;\n\n await failer.flush(hours);\n\n if (hours) {\n this.info(`All failed jobs older than ${hours} hour(s) have been deleted.`);\n } else {\n this.info('All failed jobs deleted successfully.');\n }\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAAuC,CAAQ,CAIvB,IAHtB,UAAY,cACZ,YAAc,qCAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAiB,EAAwC,CACpE,IAAM,EAAS,KAAK,sBAAsB,CAE1C,GAAI,CAAC,EAAQ,CACX,KAAK,MAAM,qCAAqC,CAChD,OAGF,IAAM,EAAQ,EAAQ,MAAQ,OAAO,EAAQ,MAAM,CAAG,IAAA,GAEtD,MAAM,EAAO,MAAM,EAAM,CAErB,EACF,KAAK,KAAK,8BAA8B,EAAM,6BAA6B,CAE3E,KAAK,KAAK,wCAAwC,CAItD,sBAA2D,CACzD,GAAI,CACF,OAAO,KAAK,IAAI,KAAwB,eAAe,MACjD,CACN,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{signature=`queue:forget <id>`;description=`Delete a failed queue job`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.forget(n)?this.info(`Failed job [${n}] deleted successfully.`):this.error(`Failed job [${n}] not found.`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};exports.QueueForgetCommand=t;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{app;signature=`queue:forget <id>`;description=`Delete a failed queue job`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.forget(n)?this.info(`Failed job [${n}] deleted successfully.`):this.error(`Failed job [${n}] not found.`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};exports.QueueForgetCommand=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";var t=class extends e{signature=`queue:forget <id>`;description=`Delete a failed queue job`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.forget(n)?this.info(`Failed job [${n}] deleted successfully.`):this.error(`Failed job [${n}] not found.`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};export{t as QueueForgetCommand};
|
|
1
|
+
import{Command as e}from"../Command.mjs";var t=class extends e{app;signature=`queue:forget <id>`;description=`Delete a failed queue job`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.forget(n)?this.info(`Failed job [${n}] deleted successfully.`):this.error(`Failed job [${n}] not found.`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};export{t as QueueForgetCommand};
|
|
2
2
|
//# sourceMappingURL=QueueForgetCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueForgetCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueForgetCommand.ts"],"sourcesContent":["/**\n * QueueForgetCommand\n *\n * Delete a failed queue job.\n * Mirrors Laravel's `php artisan queue:forget`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueForgetCommand extends Command {\n signature = 'queue:forget <id>';\n description = 'Delete a failed queue job';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], _options: CommandOptions): Promise<void> {\n const id = args[0];\n\n if (!id) {\n this.error('Please specify a job ID.');\n return;\n }\n\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n const deleted = await failer.forget(id);\n\n if (deleted) {\n this.info(`Failed job [${id}] deleted successfully.`);\n } else {\n this.error(`Failed job [${id}] not found.`);\n }\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAAwC,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueueForgetCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueForgetCommand.ts"],"sourcesContent":["/**\n * QueueForgetCommand\n *\n * Delete a failed queue job.\n * Mirrors Laravel's `php artisan queue:forget`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueForgetCommand extends Command {\n signature = 'queue:forget <id>';\n description = 'Delete a failed queue job';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], _options: CommandOptions): Promise<void> {\n const id = args[0];\n\n if (!id) {\n this.error('Please specify a job ID.');\n return;\n }\n\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n const deleted = await failer.forget(id);\n\n if (deleted) {\n this.info(`Failed job [${id}] deleted successfully.`);\n } else {\n this.error(`Failed job [${id}] not found.`);\n }\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAAwC,CAAQ,CAIxB,IAHtB,UAAY,oBACZ,YAAc,4BAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAgB,EAAyC,CACpE,IAAM,EAAK,EAAK,GAEhB,GAAI,CAAC,EAAI,CACP,KAAK,MAAM,2BAA2B,CACtC,OAGF,IAAM,EAAS,KAAK,sBAAsB,CAE1C,GAAI,CAAC,EAAQ,CACX,KAAK,MAAM,qCAAqC,CAChD,OAKE,MAFkB,EAAO,OAAO,EAAG,CAGrC,KAAK,KAAK,eAAe,EAAG,yBAAyB,CAErD,KAAK,MAAM,eAAe,EAAG,cAAc,CAI/C,sBAA2D,CACzD,GAAI,CACF,OAAO,KAAK,IAAI,KAAwB,eAAe,MACjD,CACN,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{signature=`queue:monitor [queues]`;description=`Monitor the size of the specified queues`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=e[0]||`default`,i=Number(t.max)||1e3,a=r.split(`,`).map(e=>e.trim());this.info(`Queue Monitor`),this.newLine();for(let e of a){let t=e.split(`:`),r=t.length>1?t[0]:n.getDefaultConnection(),a=t.length>1?t[1]:t[0],o=await n.connection(r).size(a),s=o>i?`\x1B[31mALERT\x1B[0m`:`\x1B[32mOK\x1B[0m`;this.line(` [${r}:${a}] ${o} job(s) ${s}`),o>i&&this.warn(` Queue [${r}:${a}] has ${o} jobs, which exceeds the maximum of ${i}.`)}}};exports.QueueMonitorCommand=t;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{app;signature=`queue:monitor [queues]`;description=`Monitor the size of the specified queues`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=e[0]||`default`,i=Number(t.max)||1e3,a=r.split(`,`).map(e=>e.trim());this.info(`Queue Monitor`),this.newLine();for(let e of a){let t=e.split(`:`),r=t.length>1?t[0]:n.getDefaultConnection(),a=t.length>1?t[1]:t[0],o=await n.connection(r).size(a),s=o>i?`\x1B[31mALERT\x1B[0m`:`\x1B[32mOK\x1B[0m`;this.line(` [${r}:${a}] ${o} job(s) ${s}`),o>i&&this.warn(` Queue [${r}:${a}] has ${o} jobs, which exceeds the maximum of ${i}.`)}}};exports.QueueMonitorCommand=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";var t=class extends e{signature=`queue:monitor [queues]`;description=`Monitor the size of the specified queues`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=e[0]||`default`,i=Number(t.max)||1e3,a=r.split(`,`).map(e=>e.trim());this.info(`Queue Monitor`),this.newLine();for(let e of a){let t=e.split(`:`),r=t.length>1?t[0]:n.getDefaultConnection(),a=t.length>1?t[1]:t[0],o=await n.connection(r).size(a),s=o>i?`\x1B[31mALERT\x1B[0m`:`\x1B[32mOK\x1B[0m`;this.line(` [${r}:${a}] ${o} job(s) ${s}`),o>i&&this.warn(` Queue [${r}:${a}] has ${o} jobs, which exceeds the maximum of ${i}.`)}}};export{t as QueueMonitorCommand};
|
|
1
|
+
import{Command as e}from"../Command.mjs";var t=class extends e{app;signature=`queue:monitor [queues]`;description=`Monitor the size of the specified queues`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=e[0]||`default`,i=Number(t.max)||1e3,a=r.split(`,`).map(e=>e.trim());this.info(`Queue Monitor`),this.newLine();for(let e of a){let t=e.split(`:`),r=t.length>1?t[0]:n.getDefaultConnection(),a=t.length>1?t[1]:t[0],o=await n.connection(r).size(a),s=o>i?`\x1B[31mALERT\x1B[0m`:`\x1B[32mOK\x1B[0m`;this.line(` [${r}:${a}] ${o} job(s) ${s}`),o>i&&this.warn(` Queue [${r}:${a}] has ${o} jobs, which exceeds the maximum of ${i}.`)}}};export{t as QueueMonitorCommand};
|
|
2
2
|
//# sourceMappingURL=QueueMonitorCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueMonitorCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueMonitorCommand.ts"],"sourcesContent":["/**\n * QueueMonitorCommand\n *\n * Monitor the size of the specified queues.\n * Mirrors Laravel's `php artisan queue:monitor`.\n */\n\nimport type { QueueManager } from '@/Queue/QueueManager';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueMonitorCommand extends Command {\n signature = 'queue:monitor [queues]';\n description = 'Monitor the size of the specified queues';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], options: CommandOptions): Promise<void> {\n const manager = this.app.make<QueueManager>('queue');\n const queuesArg = args[0] || 'default';\n const max = Number(options.max) || 1000;\n\n const queuePairs = queuesArg.split(',').map((q) => q.trim());\n\n this.info('Queue Monitor');\n this.newLine();\n\n for (const queuePair of queuePairs) {\n // Format: connection:queue or just queue\n const parts = queuePair.split(':');\n const connection = parts.length > 1 ? parts[0] : manager.getDefaultConnection();\n const queue = parts.length > 1 ? parts[1] : parts[0];\n\n const driver = manager.connection(connection);\n const size = await driver.size(queue);\n\n const status = size > max ? '\\x1b[31mALERT\\x1b[0m' : '\\x1b[32mOK\\x1b[0m';\n\n this.line(` [${connection}:${queue}] ${size} job(s) ${status}`);\n\n if (size > max) {\n this.warn(` Queue [${connection}:${queue}] has ${size} jobs, which exceeds the maximum of ${max}.`);\n }\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAAyC,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueueMonitorCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueMonitorCommand.ts"],"sourcesContent":["/**\n * QueueMonitorCommand\n *\n * Monitor the size of the specified queues.\n * Mirrors Laravel's `php artisan queue:monitor`.\n */\n\nimport type { QueueManager } from '@/Queue/QueueManager';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueMonitorCommand extends Command {\n signature = 'queue:monitor [queues]';\n description = 'Monitor the size of the specified queues';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], options: CommandOptions): Promise<void> {\n const manager = this.app.make<QueueManager>('queue');\n const queuesArg = args[0] || 'default';\n const max = Number(options.max) || 1000;\n\n const queuePairs = queuesArg.split(',').map((q) => q.trim());\n\n this.info('Queue Monitor');\n this.newLine();\n\n for (const queuePair of queuePairs) {\n // Format: connection:queue or just queue\n const parts = queuePair.split(':');\n const connection = parts.length > 1 ? parts[0] : manager.getDefaultConnection();\n const queue = parts.length > 1 ? parts[1] : parts[0];\n\n const driver = manager.connection(connection);\n const size = await driver.size(queue);\n\n const status = size > max ? '\\x1b[31mALERT\\x1b[0m' : '\\x1b[32mOK\\x1b[0m';\n\n this.line(` [${connection}:${queue}] ${size} job(s) ${status}`);\n\n if (size > max) {\n this.warn(` Queue [${connection}:${queue}] has ${size} jobs, which exceeds the maximum of ${max}.`);\n }\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAAyC,CAAQ,CAIzB,IAHtB,UAAY,yBACZ,YAAc,2CAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAgB,EAAwC,CACnE,IAAM,EAAU,KAAK,IAAI,KAAmB,QAAQ,CAC9C,EAAY,EAAK,IAAM,UACvB,EAAM,OAAO,EAAQ,IAAI,EAAI,IAE7B,EAAa,EAAU,MAAM,IAAI,CAAC,IAAK,GAAM,EAAE,MAAM,CAAC,CAE5D,KAAK,KAAK,gBAAgB,CAC1B,KAAK,SAAS,CAEd,IAAK,IAAM,KAAa,EAAY,CAElC,IAAM,EAAQ,EAAU,MAAM,IAAI,CAC5B,EAAa,EAAM,OAAS,EAAI,EAAM,GAAK,EAAQ,sBAAsB,CACzE,EAAQ,EAAM,OAAS,EAAI,EAAM,GAAK,EAAM,GAG5C,EAAO,MADE,EAAQ,WAAW,EACT,CAAC,KAAK,EAAM,CAE/B,EAAS,EAAO,EAAM,uBAAyB,oBAErD,KAAK,KAAK,MAAM,EAAW,GAAG,EAAM,IAAI,EAAK,UAAU,IAAS,CAE5D,EAAO,GACT,KAAK,KAAK,YAAY,EAAW,GAAG,EAAM,QAAQ,EAAK,sCAAsC,EAAI,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{signature=`queue:prune-batches`;description=`Prune stale entries from the batches database`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=Math.floor(Date.now()/1e3)-n*60*60;try{let e=this.app.make(`db`).connection(),i=t.table||`job_batches`;await e.table(i).whereNotNull(`finished_at`).where(`finished_at`,`<=`,r).delete(),await e.table(i).whereNotNull(`cancelled_at`).where(`cancelled_at`,`<=`,r).delete(),this.info(`Pruned batches older than ${n} hour(s).`)}catch(e){this.error(`Failed to prune batches: ${e.message}`)}}};exports.QueuePruneBatchesCommand=t;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{app;signature=`queue:prune-batches`;description=`Prune stale entries from the batches database`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=Math.floor(Date.now()/1e3)-n*60*60;try{let e=this.app.make(`db`).connection(),i=t.table||`job_batches`;await e.table(i).whereNotNull(`finished_at`).where(`finished_at`,`<=`,r).delete(),await e.table(i).whereNotNull(`cancelled_at`).where(`cancelled_at`,`<=`,r).delete(),this.info(`Pruned batches older than ${n} hour(s).`)}catch(e){this.error(`Failed to prune batches: ${e.message}`)}}};exports.QueuePruneBatchesCommand=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";var t=class extends e{signature=`queue:prune-batches`;description=`Prune stale entries from the batches database`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=Math.floor(Date.now()/1e3)-n*60*60;try{let e=this.app.make(`db`).connection(),i=t.table||`job_batches`;await e.table(i).whereNotNull(`finished_at`).where(`finished_at`,`<=`,r).delete(),await e.table(i).whereNotNull(`cancelled_at`).where(`cancelled_at`,`<=`,r).delete(),this.info(`Pruned batches older than ${n} hour(s).`)}catch(e){this.error(`Failed to prune batches: ${e.message}`)}}};export{t as QueuePruneBatchesCommand};
|
|
1
|
+
import{Command as e}from"../Command.mjs";var t=class extends e{app;signature=`queue:prune-batches`;description=`Prune stale entries from the batches database`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=Math.floor(Date.now()/1e3)-n*60*60;try{let e=this.app.make(`db`).connection(),i=t.table||`job_batches`;await e.table(i).whereNotNull(`finished_at`).where(`finished_at`,`<=`,r).delete(),await e.table(i).whereNotNull(`cancelled_at`).where(`cancelled_at`,`<=`,r).delete(),this.info(`Pruned batches older than ${n} hour(s).`)}catch(e){this.error(`Failed to prune batches: ${e.message}`)}}};export{t as QueuePruneBatchesCommand};
|
|
2
2
|
//# sourceMappingURL=QueuePruneBatchesCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueuePruneBatchesCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueuePruneBatchesCommand.ts"],"sourcesContent":["/**\n * QueuePruneBatchesCommand\n *\n * Prune stale entries from the batches database.\n * Mirrors Laravel's `php artisan queue:prune-batches`.\n */\n\nimport type { DatabaseManager } from '@/Database/DatabaseManager';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueuePruneBatchesCommand extends Command {\n signature = 'queue:prune-batches';\n description = 'Prune stale entries from the batches database';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const hours = Number(options.hours) || 24;\n const cutoff = Math.floor(Date.now() / 1000) - hours * 60 * 60;\n\n try {\n const db = this.app.make<DatabaseManager>('db');\n const connection = db.connection();\n const table = (options.table as string) || 'job_batches';\n\n // Delete finished batches older than the cutoff\n await connection.table(table).whereNotNull('finished_at').where('finished_at', '<=', cutoff).delete();\n\n // Also delete cancelled batches older than the cutoff\n await connection.table(table).whereNotNull('cancelled_at').where('cancelled_at', '<=', cutoff).delete();\n\n this.info(`Pruned batches older than ${hours} hour(s).`);\n } catch (error) {\n this.error(`Failed to prune batches: ${(error as Error).message}`);\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAA8C,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueuePruneBatchesCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueuePruneBatchesCommand.ts"],"sourcesContent":["/**\n * QueuePruneBatchesCommand\n *\n * Prune stale entries from the batches database.\n * Mirrors Laravel's `php artisan queue:prune-batches`.\n */\n\nimport type { DatabaseManager } from '@/Database/DatabaseManager';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueuePruneBatchesCommand extends Command {\n signature = 'queue:prune-batches';\n description = 'Prune stale entries from the batches database';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const hours = Number(options.hours) || 24;\n const cutoff = Math.floor(Date.now() / 1000) - hours * 60 * 60;\n\n try {\n const db = this.app.make<DatabaseManager>('db');\n const connection = db.connection();\n const table = (options.table as string) || 'job_batches';\n\n // Delete finished batches older than the cutoff\n await connection.table(table).whereNotNull('finished_at').where('finished_at', '<=', cutoff).delete();\n\n // Also delete cancelled batches older than the cutoff\n await connection.table(table).whereNotNull('cancelled_at').where('cancelled_at', '<=', cutoff).delete();\n\n this.info(`Pruned batches older than ${hours} hour(s).`);\n } catch (error) {\n this.error(`Failed to prune batches: ${(error as Error).message}`);\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAA8C,CAAQ,CAI9B,IAHtB,UAAY,sBACZ,YAAc,gDAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAiB,EAAwC,CACpE,IAAM,EAAQ,OAAO,EAAQ,MAAM,EAAI,GACjC,EAAS,KAAK,MAAM,KAAK,KAAK,CAAG,IAAK,CAAG,EAAQ,GAAK,GAE5D,GAAI,CAEF,IAAM,EADK,KAAK,IAAI,KAAsB,KACrB,CAAC,YAAY,CAC5B,EAAS,EAAQ,OAAoB,cAG3C,MAAM,EAAW,MAAM,EAAM,CAAC,aAAa,cAAc,CAAC,MAAM,cAAe,KAAM,EAAO,CAAC,QAAQ,CAGrG,MAAM,EAAW,MAAM,EAAM,CAAC,aAAa,eAAe,CAAC,MAAM,eAAgB,KAAM,EAAO,CAAC,QAAQ,CAEvG,KAAK,KAAK,6BAA6B,EAAM,WAAW,OACjD,EAAO,CACd,KAAK,MAAM,4BAA6B,EAAgB,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{signature=`queue:prune-failed`;description=`Prune stale entries from the failed jobs table`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.flush(n),this.info(`Pruned failed jobs older than ${n} hour(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};exports.QueuePruneFailedCommand=t;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{app;signature=`queue:prune-failed`;description=`Prune stale entries from the failed jobs table`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.flush(n),this.info(`Pruned failed jobs older than ${n} hour(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};exports.QueuePruneFailedCommand=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";var t=class extends e{signature=`queue:prune-failed`;description=`Prune stale entries from the failed jobs table`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.flush(n),this.info(`Pruned failed jobs older than ${n} hour(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};export{t as QueuePruneFailedCommand};
|
|
1
|
+
import{Command as e}from"../Command.mjs";var t=class extends e{app;signature=`queue:prune-failed`;description=`Prune stale entries from the failed jobs table`;constructor(e){super(),this.app=e}async handle(e,t){let n=Number(t.hours)||24,r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}await r.flush(n),this.info(`Pruned failed jobs older than ${n} hour(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};export{t as QueuePruneFailedCommand};
|
|
2
2
|
//# sourceMappingURL=QueuePruneFailedCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueuePruneFailedCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueuePruneFailedCommand.ts"],"sourcesContent":["/**\n * QueuePruneFailedCommand\n *\n * Prune stale entries from the failed jobs table.\n * Mirrors Laravel's `php artisan queue:prune-failed`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueuePruneFailedCommand extends Command {\n signature = 'queue:prune-failed';\n description = 'Prune stale entries from the failed jobs table';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const hours = Number(options.hours) || 24;\n\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n await failer.flush(hours);\n\n this.info(`Pruned failed jobs older than ${hours} hour(s).`);\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAA6C,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueuePruneFailedCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueuePruneFailedCommand.ts"],"sourcesContent":["/**\n * QueuePruneFailedCommand\n *\n * Prune stale entries from the failed jobs table.\n * Mirrors Laravel's `php artisan queue:prune-failed`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueuePruneFailedCommand extends Command {\n signature = 'queue:prune-failed';\n description = 'Prune stale entries from the failed jobs table';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const hours = Number(options.hours) || 24;\n\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n await failer.flush(hours);\n\n this.info(`Pruned failed jobs older than ${hours} hour(s).`);\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAWA,IAAa,EAAb,cAA6C,CAAQ,CAI7B,IAHtB,UAAY,qBACZ,YAAc,iDAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAiB,EAAwC,CACpE,IAAM,EAAQ,OAAO,EAAQ,MAAM,EAAI,GAEjC,EAAS,KAAK,sBAAsB,CAE1C,GAAI,CAAC,EAAQ,CACX,KAAK,MAAM,qCAAqC,CAChD,OAGF,MAAM,EAAO,MAAM,EAAM,CAEzB,KAAK,KAAK,iCAAiC,EAAM,WAAW,CAG9D,sBAA2D,CACzD,GAAI,CACF,OAAO,KAAK,IAAI,KAAwB,eAAe,MACjD,CACN,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{signature=`queue:restart`;description=`Restart queue worker daemons after their current job`;constructor(e){super(),this.app=e}async handle(e,t){this.info(`Broadcasting queue restart signal...`);try{process.kill(process.pid,`SIGUSR2`)}catch{}this.info(`Queue restart signal sent.`),this.comment(`Workers will restart after finishing their current job.`)}};exports.QueueRestartCommand=t;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{app;signature=`queue:restart`;description=`Restart queue worker daemons after their current job`;constructor(e){super(),this.app=e}async handle(e,t){this.info(`Broadcasting queue restart signal...`);try{process.kill(process.pid,`SIGUSR2`)}catch{}this.info(`Queue restart signal sent.`),this.comment(`Workers will restart after finishing their current job.`)}};exports.QueueRestartCommand=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";var t=class extends e{signature=`queue:restart`;description=`Restart queue worker daemons after their current job`;constructor(e){super(),this.app=e}async handle(e,t){this.info(`Broadcasting queue restart signal...`);try{process.kill(process.pid,`SIGUSR2`)}catch{}this.info(`Queue restart signal sent.`),this.comment(`Workers will restart after finishing their current job.`)}};export{t as QueueRestartCommand};
|
|
1
|
+
import{Command as e}from"../Command.mjs";var t=class extends e{app;signature=`queue:restart`;description=`Restart queue worker daemons after their current job`;constructor(e){super(),this.app=e}async handle(e,t){this.info(`Broadcasting queue restart signal...`);try{process.kill(process.pid,`SIGUSR2`)}catch{}this.info(`Queue restart signal sent.`),this.comment(`Workers will restart after finishing their current job.`)}};export{t as QueueRestartCommand};
|
|
2
2
|
//# sourceMappingURL=QueueRestartCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueRestartCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueRestartCommand.ts"],"sourcesContent":["/**\n * QueueRestartCommand\n *\n * Restart queue worker daemons.\n * Mirrors Laravel's `php artisan queue:restart`.\n */\n\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueRestartCommand extends Command {\n signature = 'queue:restart';\n description = 'Restart queue worker daemons after their current job';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], _options: CommandOptions): Promise<void> {\n // Signal workers to restart by sending SIGUSR2\n // In production, this would use a cache-based signal mechanism\n this.info('Broadcasting queue restart signal...');\n\n try {\n process.kill(process.pid, 'SIGUSR2');\n } catch {\n // Process might not support this signal\n }\n\n this.info('Queue restart signal sent.');\n this.comment('Workers will restart after finishing their current job.');\n }\n}\n"],"mappings":"yCAUA,IAAa,EAAb,cAAyC,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueueRestartCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueRestartCommand.ts"],"sourcesContent":["/**\n * QueueRestartCommand\n *\n * Restart queue worker daemons.\n * Mirrors Laravel's `php artisan queue:restart`.\n */\n\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueRestartCommand extends Command {\n signature = 'queue:restart';\n description = 'Restart queue worker daemons after their current job';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], _options: CommandOptions): Promise<void> {\n // Signal workers to restart by sending SIGUSR2\n // In production, this would use a cache-based signal mechanism\n this.info('Broadcasting queue restart signal...');\n\n try {\n process.kill(process.pid, 'SIGUSR2');\n } catch {\n // Process might not support this signal\n }\n\n this.info('Queue restart signal sent.');\n this.comment('Workers will restart after finishing their current job.');\n }\n}\n"],"mappings":"yCAUA,IAAa,EAAb,cAAyC,CAAQ,CAIzB,IAHtB,UAAY,gBACZ,YAAc,uDAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAiB,EAAyC,CAGrE,KAAK,KAAK,uCAAuC,CAEjD,GAAI,CACF,QAAQ,KAAK,QAAQ,IAAK,UAAU,MAC9B,EAIR,KAAK,KAAK,6BAA6B,CACvC,KAAK,QAAQ,0DAA0D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{signature=`queue:retry <id>`;description=`Retry a failed queue job (use "all" to retry all)`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID or "all" to retry all failed jobs.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}let i=this.app.make(`queue`);if(n===`all`){await this.retryAll(r,i);return}let a=await r.find(n);if(!a){this.error(`Failed job [${n}] not found.`);return}await i.connection(a.connection).pushRaw(a.payload,a.queue),await r.forget(a.id),this.info(`The failed job [${a.uuid}] has been pushed back onto the queue.`)}async retryAll(e,t){let n=await e.all();if(n.length===0){this.info(`No failed jobs to retry.`);return}let r=0;for(let i of n)try{await t.connection(i.connection).pushRaw(i.payload,i.queue),await e.forget(i.id),r++}catch(e){this.error(`Failed to retry job [${i.uuid}]: ${e.message}`)}this.info(`Retried ${r} failed job(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};exports.QueueRetryCommand=t;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{app;signature=`queue:retry <id>`;description=`Retry a failed queue job (use "all" to retry all)`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID or "all" to retry all failed jobs.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}let i=this.app.make(`queue`);if(n===`all`){await this.retryAll(r,i);return}let a=await r.find(n);if(!a){this.error(`Failed job [${n}] not found.`);return}await i.connection(a.connection).pushRaw(a.payload,a.queue),await r.forget(a.id),this.info(`The failed job [${a.uuid}] has been pushed back onto the queue.`)}async retryAll(e,t){let n=await e.all();if(n.length===0){this.info(`No failed jobs to retry.`);return}let r=0;for(let i of n)try{await t.connection(i.connection).pushRaw(i.payload,i.queue),await e.forget(i.id),r++}catch(e){this.error(`Failed to retry job [${i.uuid}]: ${e.message}`)}this.info(`Retried ${r} failed job(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};exports.QueueRetryCommand=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";var t=class extends e{signature=`queue:retry <id>`;description=`Retry a failed queue job (use "all" to retry all)`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID or "all" to retry all failed jobs.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}let i=this.app.make(`queue`);if(n===`all`){await this.retryAll(r,i);return}let a=await r.find(n);if(!a){this.error(`Failed job [${n}] not found.`);return}await i.connection(a.connection).pushRaw(a.payload,a.queue),await r.forget(a.id),this.info(`The failed job [${a.uuid}] has been pushed back onto the queue.`)}async retryAll(e,t){let n=await e.all();if(n.length===0){this.info(`No failed jobs to retry.`);return}let r=0;for(let i of n)try{await t.connection(i.connection).pushRaw(i.payload,i.queue),await e.forget(i.id),r++}catch(e){this.error(`Failed to retry job [${i.uuid}]: ${e.message}`)}this.info(`Retried ${r} failed job(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};export{t as QueueRetryCommand};
|
|
1
|
+
import{Command as e}from"../Command.mjs";var t=class extends e{app;signature=`queue:retry <id>`;description=`Retry a failed queue job (use "all" to retry all)`;constructor(e){super(),this.app=e}async handle(e,t){let n=e[0];if(!n){this.error(`Please specify a job ID or "all" to retry all failed jobs.`);return}let r=this.getFailedJobProvider();if(!r){this.error(`No failed job provider configured.`);return}let i=this.app.make(`queue`);if(n===`all`){await this.retryAll(r,i);return}let a=await r.find(n);if(!a){this.error(`Failed job [${n}] not found.`);return}await i.connection(a.connection).pushRaw(a.payload,a.queue),await r.forget(a.id),this.info(`The failed job [${a.uuid}] has been pushed back onto the queue.`)}async retryAll(e,t){let n=await e.all();if(n.length===0){this.info(`No failed jobs to retry.`);return}let r=0;for(let i of n)try{await t.connection(i.connection).pushRaw(i.payload,i.queue),await e.forget(i.id),r++}catch(e){this.error(`Failed to retry job [${i.uuid}]: ${e.message}`)}this.info(`Retried ${r} failed job(s).`)}getFailedJobProvider(){try{return this.app.make(`queue.failer`)}catch{return null}}};export{t as QueueRetryCommand};
|
|
2
2
|
//# sourceMappingURL=QueueRetryCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueRetryCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueRetryCommand.ts"],"sourcesContent":["/**\n * QueueRetryCommand\n *\n * Retry a failed queue job.\n * Mirrors Laravel's `php artisan queue:retry`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport type { QueueManager } from '@/Queue/QueueManager';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueRetryCommand extends Command {\n signature = 'queue:retry <id>';\n description = 'Retry a failed queue job (use \"all\" to retry all)';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], _options: CommandOptions): Promise<void> {\n const id = args[0];\n\n if (!id) {\n this.error('Please specify a job ID or \"all\" to retry all failed jobs.');\n return;\n }\n\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n const manager = this.app.make<QueueManager>('queue');\n\n if (id === 'all') {\n await this.retryAll(failer, manager);\n return;\n }\n\n const failedJob = await failer.find(id);\n\n if (!failedJob) {\n this.error(`Failed job [${id}] not found.`);\n return;\n }\n\n // Push the job back onto the queue\n const driver = manager.connection(failedJob.connection);\n await driver.pushRaw(failedJob.payload, failedJob.queue);\n\n // Remove from failed jobs\n await failer.forget(failedJob.id);\n\n this.info(`The failed job [${failedJob.uuid}] has been pushed back onto the queue.`);\n }\n\n protected async retryAll(failer: FailedJobProvider, manager: QueueManager): Promise<void> {\n const failedJobs = await failer.all();\n\n if (failedJobs.length === 0) {\n this.info('No failed jobs to retry.');\n return;\n }\n\n let retried = 0;\n\n for (const failedJob of failedJobs) {\n try {\n const driver = manager.connection(failedJob.connection);\n await driver.pushRaw(failedJob.payload, failedJob.queue);\n await failer.forget(failedJob.id);\n retried++;\n } catch (error) {\n this.error(`Failed to retry job [${failedJob.uuid}]: ${(error as Error).message}`);\n }\n }\n\n this.info(`Retried ${retried} failed job(s).`);\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAYA,IAAa,EAAb,cAAuC,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueueRetryCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueRetryCommand.ts"],"sourcesContent":["/**\n * QueueRetryCommand\n *\n * Retry a failed queue job.\n * Mirrors Laravel's `php artisan queue:retry`.\n */\n\nimport type { FailedJobProvider } from '@/Queue/Failed/FailedJobProvider';\nimport type { QueueManager } from '@/Queue/QueueManager';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueRetryCommand extends Command {\n signature = 'queue:retry <id>';\n description = 'Retry a failed queue job (use \"all\" to retry all)';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], _options: CommandOptions): Promise<void> {\n const id = args[0];\n\n if (!id) {\n this.error('Please specify a job ID or \"all\" to retry all failed jobs.');\n return;\n }\n\n const failer = this.getFailedJobProvider();\n\n if (!failer) {\n this.error('No failed job provider configured.');\n return;\n }\n\n const manager = this.app.make<QueueManager>('queue');\n\n if (id === 'all') {\n await this.retryAll(failer, manager);\n return;\n }\n\n const failedJob = await failer.find(id);\n\n if (!failedJob) {\n this.error(`Failed job [${id}] not found.`);\n return;\n }\n\n // Push the job back onto the queue\n const driver = manager.connection(failedJob.connection);\n await driver.pushRaw(failedJob.payload, failedJob.queue);\n\n // Remove from failed jobs\n await failer.forget(failedJob.id);\n\n this.info(`The failed job [${failedJob.uuid}] has been pushed back onto the queue.`);\n }\n\n protected async retryAll(failer: FailedJobProvider, manager: QueueManager): Promise<void> {\n const failedJobs = await failer.all();\n\n if (failedJobs.length === 0) {\n this.info('No failed jobs to retry.');\n return;\n }\n\n let retried = 0;\n\n for (const failedJob of failedJobs) {\n try {\n const driver = manager.connection(failedJob.connection);\n await driver.pushRaw(failedJob.payload, failedJob.queue);\n await failer.forget(failedJob.id);\n retried++;\n } catch (error) {\n this.error(`Failed to retry job [${failedJob.uuid}]: ${(error as Error).message}`);\n }\n }\n\n this.info(`Retried ${retried} failed job(s).`);\n }\n\n protected getFailedJobProvider(): FailedJobProvider | null {\n try {\n return this.app.make<FailedJobProvider>('queue.failer');\n } catch {\n return null;\n }\n }\n}\n"],"mappings":"yCAYA,IAAa,EAAb,cAAuC,CAAQ,CAIvB,IAHtB,UAAY,mBACZ,YAAc,oDAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAgB,EAAyC,CACpE,IAAM,EAAK,EAAK,GAEhB,GAAI,CAAC,EAAI,CACP,KAAK,MAAM,6DAA6D,CACxE,OAGF,IAAM,EAAS,KAAK,sBAAsB,CAE1C,GAAI,CAAC,EAAQ,CACX,KAAK,MAAM,qCAAqC,CAChD,OAGF,IAAM,EAAU,KAAK,IAAI,KAAmB,QAAQ,CAEpD,GAAI,IAAO,MAAO,CAChB,MAAM,KAAK,SAAS,EAAQ,EAAQ,CACpC,OAGF,IAAM,EAAY,MAAM,EAAO,KAAK,EAAG,CAEvC,GAAI,CAAC,EAAW,CACd,KAAK,MAAM,eAAe,EAAG,cAAc,CAC3C,OAKF,MADe,EAAQ,WAAW,EAAU,WAChC,CAAC,QAAQ,EAAU,QAAS,EAAU,MAAM,CAGxD,MAAM,EAAO,OAAO,EAAU,GAAG,CAEjC,KAAK,KAAK,mBAAmB,EAAU,KAAK,wCAAwC,CAGtF,MAAgB,SAAS,EAA2B,EAAsC,CACxF,IAAM,EAAa,MAAM,EAAO,KAAK,CAErC,GAAI,EAAW,SAAW,EAAG,CAC3B,KAAK,KAAK,2BAA2B,CACrC,OAGF,IAAI,EAAU,EAEd,IAAK,IAAM,KAAa,EACtB,GAAI,CAEF,MADe,EAAQ,WAAW,EAAU,WAChC,CAAC,QAAQ,EAAU,QAAS,EAAU,MAAM,CACxD,MAAM,EAAO,OAAO,EAAU,GAAG,CACjC,UACO,EAAO,CACd,KAAK,MAAM,wBAAwB,EAAU,KAAK,KAAM,EAAgB,UAAU,CAItF,KAAK,KAAK,WAAW,EAAQ,iBAAiB,CAGhD,sBAA2D,CACzD,GAAI,CACF,OAAO,KAAK,IAAI,KAAwB,eAAe,MACjD,CACN,OAAO"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../Command.cjs`);let n=require(`fs/promises`);n=e.__toESM(n);let r=require(`path`);r=e.__toESM(r);var i=class extends t.Command{signature=`queue:table`;description=`Create a migration for the queue jobs database table`;constructor(e){super(),this.app=e}async handle(e,t){let i=t.path||this.app.databasePath(`migrations`);await n.mkdir(i,{recursive:!0});let a=`${new Date().toISOString().replace(/[-:T]/g,``).slice(0,14)}_create_jobs_table.ts`,o=r.join(i,a);await n.writeFile(o,this.getStub()),this.info(`Migration created successfully: ${o}`),this.comment(`Run "npx orchestr migrate" to create the table.`)}getStub(){return`import { Migration } from '@orchestr-sh/orchestr';
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../Command.cjs`);let n=require(`fs/promises`);n=e.__toESM(n,1);let r=require(`path`);r=e.__toESM(r,1);var i=class extends t.Command{app;signature=`queue:table`;description=`Create a migration for the queue jobs database table`;constructor(e){super(),this.app=e}async handle(e,t){let i=t.path||this.app.databasePath(`migrations`);await n.mkdir(i,{recursive:!0});let a=`${new Date().toISOString().replace(/[-:T]/g,``).slice(0,14)}_create_jobs_table.ts`,o=r.join(i,a);await n.writeFile(o,this.getStub()),this.info(`Migration created successfully: ${o}`),this.comment(`Run "npx orchestr migrate" to create the table.`)}getStub(){return`import { Migration } from '@orchestr-sh/orchestr';
|
|
2
2
|
import type { SchemaBuilder } from '@orchestr-sh/orchestr';
|
|
3
3
|
|
|
4
4
|
export default class CreateJobsTable extends Migration {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";import*as t from"fs/promises";import*as n from"path";var r=class extends e{signature=`queue:table`;description=`Create a migration for the queue jobs database table`;constructor(e){super(),this.app=e}async handle(e,r){let i=r.path||this.app.databasePath(`migrations`);await t.mkdir(i,{recursive:!0});let a=`${new Date().toISOString().replace(/[-:T]/g,``).slice(0,14)}_create_jobs_table.ts`,o=n.join(i,a);await t.writeFile(o,this.getStub()),this.info(`Migration created successfully: ${o}`),this.comment(`Run "npx orchestr migrate" to create the table.`)}getStub(){return`import { Migration } from '@orchestr-sh/orchestr';
|
|
1
|
+
import{Command as e}from"../Command.mjs";import*as t from"fs/promises";import*as n from"path";var r=class extends e{app;signature=`queue:table`;description=`Create a migration for the queue jobs database table`;constructor(e){super(),this.app=e}async handle(e,r){let i=r.path||this.app.databasePath(`migrations`);await t.mkdir(i,{recursive:!0});let a=`${new Date().toISOString().replace(/[-:T]/g,``).slice(0,14)}_create_jobs_table.ts`,o=n.join(i,a);await t.writeFile(o,this.getStub()),this.info(`Migration created successfully: ${o}`),this.comment(`Run "npx orchestr migrate" to create the table.`)}getStub(){return`import { Migration } from '@orchestr-sh/orchestr';
|
|
2
2
|
import type { SchemaBuilder } from '@orchestr-sh/orchestr';
|
|
3
3
|
|
|
4
4
|
export default class CreateJobsTable extends Migration {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueTableCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueTableCommand.ts"],"sourcesContent":["/**\n * QueueTableCommand\n *\n * Create a migration for the queue jobs database table.\n * Mirrors Laravel's `php artisan queue:table`.\n */\n\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueTableCommand extends Command {\n signature = 'queue:table';\n description = 'Create a migration for the queue jobs database table';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const migrationsPath = (options.path as string) || this.app.databasePath('migrations');\n await fs.mkdir(migrationsPath, { recursive: true });\n\n const timestamp = new Date().toISOString().replace(/[-:T]/g, '').slice(0, 14);\n const fileName = `${timestamp}_create_jobs_table.ts`;\n const filePath = path.join(migrationsPath, fileName);\n\n await fs.writeFile(filePath, this.getStub());\n\n this.info(`Migration created successfully: ${filePath}`);\n this.comment('Run \"npx orchestr migrate\" to create the table.');\n }\n\n protected getStub(): string {\n return `import { Migration } from '@orchestr-sh/orchestr';\nimport type { SchemaBuilder } from '@orchestr-sh/orchestr';\n\nexport default class CreateJobsTable extends Migration {\n async up(schema: SchemaBuilder): Promise<void> {\n await schema.create('jobs', (table) => {\n table.bigIncrements('id');\n table.string('queue').index();\n table.text('payload');\n table.integer('attempts').defaultTo(0);\n table.integer('reserved_at').nullable();\n table.integer('available_at');\n table.integer('created_at');\n });\n }\n\n async down(schema: SchemaBuilder): Promise<void> {\n await schema.drop('jobs');\n }\n}\n`;\n }\n}\n"],"mappings":"8FAYA,IAAa,EAAb,cAAuC,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueueTableCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueTableCommand.ts"],"sourcesContent":["/**\n * QueueTableCommand\n *\n * Create a migration for the queue jobs database table.\n * Mirrors Laravel's `php artisan queue:table`.\n */\n\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueTableCommand extends Command {\n signature = 'queue:table';\n description = 'Create a migration for the queue jobs database table';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(_args: string[], options: CommandOptions): Promise<void> {\n const migrationsPath = (options.path as string) || this.app.databasePath('migrations');\n await fs.mkdir(migrationsPath, { recursive: true });\n\n const timestamp = new Date().toISOString().replace(/[-:T]/g, '').slice(0, 14);\n const fileName = `${timestamp}_create_jobs_table.ts`;\n const filePath = path.join(migrationsPath, fileName);\n\n await fs.writeFile(filePath, this.getStub());\n\n this.info(`Migration created successfully: ${filePath}`);\n this.comment('Run \"npx orchestr migrate\" to create the table.');\n }\n\n protected getStub(): string {\n return `import { Migration } from '@orchestr-sh/orchestr';\nimport type { SchemaBuilder } from '@orchestr-sh/orchestr';\n\nexport default class CreateJobsTable extends Migration {\n async up(schema: SchemaBuilder): Promise<void> {\n await schema.create('jobs', (table) => {\n table.bigIncrements('id');\n table.string('queue').index();\n table.text('payload');\n table.integer('attempts').defaultTo(0);\n table.integer('reserved_at').nullable();\n table.integer('available_at');\n table.integer('created_at');\n });\n }\n\n async down(schema: SchemaBuilder): Promise<void> {\n await schema.drop('jobs');\n }\n}\n`;\n }\n}\n"],"mappings":"8FAYA,IAAa,EAAb,cAAuC,CAAQ,CAIvB,IAHtB,UAAY,cACZ,YAAc,uDAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAiB,EAAwC,CACpE,IAAM,EAAkB,EAAQ,MAAmB,KAAK,IAAI,aAAa,aAAa,CACtF,MAAM,EAAG,MAAM,EAAgB,CAAE,UAAW,GAAM,CAAC,CAGnD,IAAM,EAAW,GADC,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,SAAU,GAAG,CAAC,MAAM,EAAG,GAC7C,CAAC,uBACxB,EAAW,EAAK,KAAK,EAAgB,EAAS,CAEpD,MAAM,EAAG,UAAU,EAAU,KAAK,SAAS,CAAC,CAE5C,KAAK,KAAK,mCAAmC,IAAW,CACxD,KAAK,QAAQ,kDAAkD,CAGjE,SAA4B,CAC1B,MAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{signature=`queue:work [connection]`;description=`Start processing jobs on the queue as a daemon`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=this.app.make(`queue.worker`),i=e[0]||n.getDefaultConnection(),a=t.queue||`default`,o=t.once===!0||t.once===`true`;this.info(`[${new Date().toISOString()}] Processing jobs from the [${a}] queue(s) on [${i}] connection.`);let s={name:t.name||`default`,sleep:Number(t.sleep)||3,tries:Number(t.tries)||1,timeout:Number(t.timeout)||60,memory:Number(t.memory)||128,maxJobs:Number(t[`max-jobs`])||0,maxTime:Number(t[`max-time`])||0,force:t.force===!0||t.force===`true`,stopWhenEmpty:t[`stop-when-empty`]===!0||t[`stop-when-empty`]===`true`,backoff:Number(t.backoff)||0,rest:Number(t.rest)||0};if(o){await r.runOnce(i,a,s)||this.comment(`No jobs available.`);return}await r.daemon(i,a,s),this.info(`Worker stopped.`)}};exports.QueueWorkCommand=t;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../Command.cjs`);var t=class extends e.Command{app;signature=`queue:work [connection]`;description=`Start processing jobs on the queue as a daemon`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=this.app.make(`queue.worker`),i=e[0]||n.getDefaultConnection(),a=t.queue||`default`,o=t.once===!0||t.once===`true`;this.info(`[${new Date().toISOString()}] Processing jobs from the [${a}] queue(s) on [${i}] connection.`);let s={name:t.name||`default`,sleep:Number(t.sleep)||3,tries:Number(t.tries)||1,timeout:Number(t.timeout)||60,memory:Number(t.memory)||128,maxJobs:Number(t[`max-jobs`])||0,maxTime:Number(t[`max-time`])||0,force:t.force===!0||t.force===`true`,stopWhenEmpty:t[`stop-when-empty`]===!0||t[`stop-when-empty`]===`true`,backoff:Number(t.backoff)||0,rest:Number(t.rest)||0};if(o){await r.runOnce(i,a,s)||this.comment(`No jobs available.`);return}await r.daemon(i,a,s),this.info(`Worker stopped.`)}};exports.QueueWorkCommand=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Command as e}from"../Command.mjs";var t=class extends e{signature=`queue:work [connection]`;description=`Start processing jobs on the queue as a daemon`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=this.app.make(`queue.worker`),i=e[0]||n.getDefaultConnection(),a=t.queue||`default`,o=t.once===!0||t.once===`true`;this.info(`[${new Date().toISOString()}] Processing jobs from the [${a}] queue(s) on [${i}] connection.`);let s={name:t.name||`default`,sleep:Number(t.sleep)||3,tries:Number(t.tries)||1,timeout:Number(t.timeout)||60,memory:Number(t.memory)||128,maxJobs:Number(t[`max-jobs`])||0,maxTime:Number(t[`max-time`])||0,force:t.force===!0||t.force===`true`,stopWhenEmpty:t[`stop-when-empty`]===!0||t[`stop-when-empty`]===`true`,backoff:Number(t.backoff)||0,rest:Number(t.rest)||0};if(o){await r.runOnce(i,a,s)||this.comment(`No jobs available.`);return}await r.daemon(i,a,s),this.info(`Worker stopped.`)}};export{t as QueueWorkCommand};
|
|
1
|
+
import{Command as e}from"../Command.mjs";var t=class extends e{app;signature=`queue:work [connection]`;description=`Start processing jobs on the queue as a daemon`;constructor(e){super(),this.app=e}async handle(e,t){let n=this.app.make(`queue`),r=this.app.make(`queue.worker`),i=e[0]||n.getDefaultConnection(),a=t.queue||`default`,o=t.once===!0||t.once===`true`;this.info(`[${new Date().toISOString()}] Processing jobs from the [${a}] queue(s) on [${i}] connection.`);let s={name:t.name||`default`,sleep:Number(t.sleep)||3,tries:Number(t.tries)||1,timeout:Number(t.timeout)||60,memory:Number(t.memory)||128,maxJobs:Number(t[`max-jobs`])||0,maxTime:Number(t[`max-time`])||0,force:t.force===!0||t.force===`true`,stopWhenEmpty:t[`stop-when-empty`]===!0||t[`stop-when-empty`]===`true`,backoff:Number(t.backoff)||0,rest:Number(t.rest)||0};if(o){await r.runOnce(i,a,s)||this.comment(`No jobs available.`);return}await r.daemon(i,a,s),this.info(`Worker stopped.`)}};export{t as QueueWorkCommand};
|
|
2
2
|
//# sourceMappingURL=QueueWorkCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueWorkCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueWorkCommand.ts"],"sourcesContent":["/**\n * QueueWorkCommand\n *\n * Start processing jobs on the queue as a daemon.\n * Mirrors Laravel's `php artisan queue:work`.\n */\n\nimport type { QueueManager } from '@/Queue/QueueManager';\nimport type { Worker } from '@/Queue/Workers/Worker';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueWorkCommand extends Command {\n signature = 'queue:work [connection]';\n description = 'Start processing jobs on the queue as a daemon';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], options: CommandOptions): Promise<void> {\n const manager = this.app.make<QueueManager>('queue');\n const worker = this.app.make<Worker>('queue.worker');\n\n const connection = args[0] || manager.getDefaultConnection();\n const queues = (options.queue as string) || 'default';\n const once = options.once === true || options.once === 'true';\n\n this.info(\n `[${new Date().toISOString()}] Processing jobs from the [${queues}] queue(s) on [${connection}] connection.`\n );\n\n const workerOptions = {\n name: (options.name as string) || 'default',\n sleep: Number(options.sleep) || 3,\n tries: Number(options.tries) || 1,\n timeout: Number(options.timeout) || 60,\n memory: Number(options.memory) || 128,\n maxJobs: Number(options['max-jobs']) || 0,\n maxTime: Number(options['max-time']) || 0,\n force: options.force === true || options.force === 'true',\n stopWhenEmpty: options['stop-when-empty'] === true || options['stop-when-empty'] === 'true',\n backoff: Number(options.backoff) || 0,\n rest: Number(options.rest) || 0,\n };\n\n if (once) {\n const processed = await worker.runOnce(connection, queues, workerOptions);\n if (!processed) {\n this.comment('No jobs available.');\n }\n return;\n }\n\n await worker.daemon(connection, queues, workerOptions);\n this.info('Worker stopped.');\n }\n}\n"],"mappings":"yCAYA,IAAa,EAAb,cAAsC,CAAQ,
|
|
1
|
+
{"version":3,"file":"QueueWorkCommand.mjs","names":[],"sources":["../../../src/Console/Commands/QueueWorkCommand.ts"],"sourcesContent":["/**\n * QueueWorkCommand\n *\n * Start processing jobs on the queue as a daemon.\n * Mirrors Laravel's `php artisan queue:work`.\n */\n\nimport type { QueueManager } from '@/Queue/QueueManager';\nimport type { Worker } from '@/Queue/Workers/Worker';\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { Application } from '@/Foundation/Application';\n\nexport class QueueWorkCommand extends Command {\n signature = 'queue:work [connection]';\n description = 'Start processing jobs on the queue as a daemon';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], options: CommandOptions): Promise<void> {\n const manager = this.app.make<QueueManager>('queue');\n const worker = this.app.make<Worker>('queue.worker');\n\n const connection = args[0] || manager.getDefaultConnection();\n const queues = (options.queue as string) || 'default';\n const once = options.once === true || options.once === 'true';\n\n this.info(\n `[${new Date().toISOString()}] Processing jobs from the [${queues}] queue(s) on [${connection}] connection.`\n );\n\n const workerOptions = {\n name: (options.name as string) || 'default',\n sleep: Number(options.sleep) || 3,\n tries: Number(options.tries) || 1,\n timeout: Number(options.timeout) || 60,\n memory: Number(options.memory) || 128,\n maxJobs: Number(options['max-jobs']) || 0,\n maxTime: Number(options['max-time']) || 0,\n force: options.force === true || options.force === 'true',\n stopWhenEmpty: options['stop-when-empty'] === true || options['stop-when-empty'] === 'true',\n backoff: Number(options.backoff) || 0,\n rest: Number(options.rest) || 0,\n };\n\n if (once) {\n const processed = await worker.runOnce(connection, queues, workerOptions);\n if (!processed) {\n this.comment('No jobs available.');\n }\n return;\n }\n\n await worker.daemon(connection, queues, workerOptions);\n this.info('Worker stopped.');\n }\n}\n"],"mappings":"yCAYA,IAAa,EAAb,cAAsC,CAAQ,CAItB,IAHtB,UAAY,0BACZ,YAAc,iDAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAgB,EAAwC,CACnE,IAAM,EAAU,KAAK,IAAI,KAAmB,QAAQ,CAC9C,EAAS,KAAK,IAAI,KAAa,eAAe,CAE9C,EAAa,EAAK,IAAM,EAAQ,sBAAsB,CACtD,EAAU,EAAQ,OAAoB,UACtC,EAAO,EAAQ,OAAS,IAAQ,EAAQ,OAAS,OAEvD,KAAK,KACH,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,8BAA8B,EAAO,iBAAiB,EAAW,eAC/F,CAED,IAAM,EAAgB,CACpB,KAAO,EAAQ,MAAmB,UAClC,MAAO,OAAO,EAAQ,MAAM,EAAI,EAChC,MAAO,OAAO,EAAQ,MAAM,EAAI,EAChC,QAAS,OAAO,EAAQ,QAAQ,EAAI,GACpC,OAAQ,OAAO,EAAQ,OAAO,EAAI,IAClC,QAAS,OAAO,EAAQ,YAAY,EAAI,EACxC,QAAS,OAAO,EAAQ,YAAY,EAAI,EACxC,MAAO,EAAQ,QAAU,IAAQ,EAAQ,QAAU,OACnD,cAAe,EAAQ,qBAAuB,IAAQ,EAAQ,qBAAuB,OACrF,QAAS,OAAO,EAAQ,QAAQ,EAAI,EACpC,KAAM,OAAO,EAAQ,KAAK,EAAI,EAC/B,CAED,GAAI,EAAM,CAEH,MADmB,EAAO,QAAQ,EAAY,EAAQ,EAAc,EAEvE,KAAK,QAAQ,qBAAqB,CAEpC,OAGF,MAAM,EAAO,OAAO,EAAY,EAAQ,EAAc,CACtD,KAAK,KAAK,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../Database/Seeders/SeederRunner.cjs`),t=require(`../Command.cjs`);var n=class extends t.Command{signature=`db:seed`;description=`Seed the database with records`;constructor(e){super(),this.app=e}async handle(t,n){let r=this.app.make(`db`).connection(),i=n.path||`./database/seeders`,a=new e.SeederRunner(r,Array.isArray(i)?i:[i]);this.info(`Seeding database...`),this.newLine();try{let e=n.class;e?await a.runByName(e):await a.run(),this.info(`Database seeding completed successfully.`)}catch(e){throw this.error(`Seeding failed: ${e.message}`),e}}};exports.SeedCommand=n;
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../Database/Seeders/SeederRunner.cjs`),t=require(`../Command.cjs`);var n=class extends t.Command{app;signature=`db:seed`;description=`Seed the database with records`;constructor(e){super(),this.app=e}async handle(t,n){let r=this.app.make(`db`).connection(),i=n.path||`./database/seeders`,a=new e.SeederRunner(r,Array.isArray(i)?i:[i]);this.info(`Seeding database...`),this.newLine();try{let e=n.class;e?await a.runByName(e):await a.run(),this.info(`Database seeding completed successfully.`)}catch(e){throw this.error(`Seeding failed: ${e.message}`),e}}};exports.SeedCommand=n;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{SeederRunner as e}from"../../Database/Seeders/SeederRunner.mjs";import{Command as t}from"../Command.mjs";var n=class extends t{signature=`db:seed`;description=`Seed the database with records`;constructor(e){super(),this.app=e}async handle(t,n){let r=this.app.make(`db`).connection(),i=n.path||`./database/seeders`,a=new e(r,Array.isArray(i)?i:[i]);this.info(`Seeding database...`),this.newLine();try{let e=n.class;e?await a.runByName(e):await a.run(),this.info(`Database seeding completed successfully.`)}catch(e){throw this.error(`Seeding failed: ${e.message}`),e}}};export{n as SeedCommand};
|
|
1
|
+
import{SeederRunner as e}from"../../Database/Seeders/SeederRunner.mjs";import{Command as t}from"../Command.mjs";var n=class extends t{app;signature=`db:seed`;description=`Seed the database with records`;constructor(e){super(),this.app=e}async handle(t,n){let r=this.app.make(`db`).connection(),i=n.path||`./database/seeders`,a=new e(r,Array.isArray(i)?i:[i]);this.info(`Seeding database...`),this.newLine();try{let e=n.class;e?await a.runByName(e):await a.run(),this.info(`Database seeding completed successfully.`)}catch(e){throw this.error(`Seeding failed: ${e.message}`),e}}};export{n as SeedCommand};
|
|
2
2
|
//# sourceMappingURL=SeedCommand.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeedCommand.mjs","names":[],"sources":["../../../src/Console/Commands/SeedCommand.ts"],"sourcesContent":["/**\n * SeedCommand\n *\n * Seed the database with records\n */\n\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { SeederRunner } from '@/Database/Seeders/SeederRunner';\nimport { Application } from '@/Foundation/Application';\n\nexport class SeedCommand extends Command {\n signature = 'db:seed';\n description = 'Seed the database with records';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], options: CommandOptions): Promise<void> {\n const db = this.app.make('db') as any;\n const connection = db.connection();\n const seederPath = options.path || './database/seeders';\n const paths = Array.isArray(seederPath) ? seederPath : [seederPath];\n\n const runner = new SeederRunner(connection, paths);\n\n this.info('Seeding database...');\n this.newLine();\n\n try {\n const className = options.class as string | undefined;\n\n if (className) {\n await runner.runByName(className);\n } else {\n await runner.run();\n }\n\n this.info('Database seeding completed successfully.');\n } catch (error) {\n this.error(`Seeding failed: ${(error as Error).message}`);\n throw error;\n }\n }\n}\n"],"mappings":"gHAUA,IAAa,EAAb,cAAiC,CAAQ,
|
|
1
|
+
{"version":3,"file":"SeedCommand.mjs","names":[],"sources":["../../../src/Console/Commands/SeedCommand.ts"],"sourcesContent":["/**\n * SeedCommand\n *\n * Seed the database with records\n */\n\nimport { Command, CommandOptions } from '@/Console/Command';\nimport { SeederRunner } from '@/Database/Seeders/SeederRunner';\nimport { Application } from '@/Foundation/Application';\n\nexport class SeedCommand extends Command {\n signature = 'db:seed';\n description = 'Seed the database with records';\n\n constructor(protected app: Application) {\n super();\n }\n\n async handle(args: string[], options: CommandOptions): Promise<void> {\n const db = this.app.make('db') as any;\n const connection = db.connection();\n const seederPath = options.path || './database/seeders';\n const paths = Array.isArray(seederPath) ? seederPath : [seederPath];\n\n const runner = new SeederRunner(connection, paths);\n\n this.info('Seeding database...');\n this.newLine();\n\n try {\n const className = options.class as string | undefined;\n\n if (className) {\n await runner.runByName(className);\n } else {\n await runner.run();\n }\n\n this.info('Database seeding completed successfully.');\n } catch (error) {\n this.error(`Seeding failed: ${(error as Error).message}`);\n throw error;\n }\n }\n}\n"],"mappings":"gHAUA,IAAa,EAAb,cAAiC,CAAQ,CAIjB,IAHtB,UAAY,UACZ,YAAc,iCAEd,YAAY,EAA4B,CACtC,OAAO,CADa,KAAA,IAAA,EAItB,MAAM,OAAO,EAAgB,EAAwC,CAEnE,IAAM,EADK,KAAK,IAAI,KAAK,KACJ,CAAC,YAAY,CAC5B,EAAa,EAAQ,MAAQ,qBAG7B,EAAS,IAAI,EAAa,EAFlB,MAAM,QAAQ,EAAW,CAAG,EAAa,CAAC,EAAW,CAEjB,CAElD,KAAK,KAAK,sBAAsB,CAChC,KAAK,SAAS,CAEd,GAAI,CACF,IAAM,EAAY,EAAQ,MAEtB,EACF,MAAM,EAAO,UAAU,EAAU,CAEjC,MAAM,EAAO,KAAK,CAGpB,KAAK,KAAK,2CAA2C,OAC9C,EAAO,CAEd,MADA,KAAK,MAAM,mBAAoB,EAAgB,UAAU,CACnD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);var e=class{commands=new Map;constructor(e){this.app=e,this.registerCommands()}registerCommands(){}register(e){this.commands.set(e.getName(),e)}registerMany(e){e.forEach(e=>this.register(e))}async handle(e,t=[],n={}){let r=this.commands.get(e);if(!r)throw Error(`Command not found: ${e}`);await r.handle(t,n)}async run(e=process.argv){let t=e.slice(2);if(t.length===0){this.listCommands();return}let n=t[0],r=[],i={};for(let e=1;e<t.length;e++){let n=t[e];if(n.startsWith(`--`)){let e=n.slice(2).split(`=`),t=e[0];i[t]=e.length>1?e[1]:!0}else if(n.startsWith(`-`)){let e=n.slice(1);i[e]=!0}else r.push(n)}try{await this.handle(n,r,i)}catch(e){console.error(`\x1b[31mError: ${e.message}\x1b[0m`),process.exit(1)}}listCommands(){console.log(`\x1B[33mAvailable commands:\x1B[0m
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);var e=class{app;commands=new Map;constructor(e){this.app=e,this.registerCommands()}registerCommands(){}register(e){this.commands.set(e.getName(),e)}registerMany(e){e.forEach(e=>this.register(e))}async handle(e,t=[],n={}){let r=this.commands.get(e);if(!r)throw Error(`Command not found: ${e}`);await r.handle(t,n)}async run(e=process.argv){let t=e.slice(2);if(t.length===0){this.listCommands();return}let n=t[0],r=[],i={};for(let e=1;e<t.length;e++){let n=t[e];if(n.startsWith(`--`)){let e=n.slice(2).split(`=`),t=e[0];i[t]=e.length>1?e[1]:!0}else if(n.startsWith(`-`)){let e=n.slice(1);i[e]=!0}else r.push(n)}try{await this.handle(n,r,i)}catch(e){console.error(`\x1b[31mError: ${e.message}\x1b[0m`),process.exit(1)}}listCommands(){console.log(`\x1B[33mAvailable commands:\x1B[0m
|
|
2
2
|
`),this.commands.forEach(e=>{console.log(` \x1b[32m${e.signature}\x1b[0m`),console.log(` ${e.description}\n`)})}getCommands(){return this.commands}getApplication(){return this.app}};exports.ConsoleKernel=e;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var e=class{commands=new Map;constructor(e){this.app=e,this.registerCommands()}registerCommands(){}register(e){this.commands.set(e.getName(),e)}registerMany(e){e.forEach(e=>this.register(e))}async handle(e,t=[],n={}){let r=this.commands.get(e);if(!r)throw Error(`Command not found: ${e}`);await r.handle(t,n)}async run(e=process.argv){let t=e.slice(2);if(t.length===0){this.listCommands();return}let n=t[0],r=[],i={};for(let e=1;e<t.length;e++){let n=t[e];if(n.startsWith(`--`)){let e=n.slice(2).split(`=`),t=e[0];i[t]=e.length>1?e[1]:!0}else if(n.startsWith(`-`)){let e=n.slice(1);i[e]=!0}else r.push(n)}try{await this.handle(n,r,i)}catch(e){console.error(`\x1b[31mError: ${e.message}\x1b[0m`),process.exit(1)}}listCommands(){console.log(`\x1B[33mAvailable commands:\x1B[0m
|
|
1
|
+
var e=class{app;commands=new Map;constructor(e){this.app=e,this.registerCommands()}registerCommands(){}register(e){this.commands.set(e.getName(),e)}registerMany(e){e.forEach(e=>this.register(e))}async handle(e,t=[],n={}){let r=this.commands.get(e);if(!r)throw Error(`Command not found: ${e}`);await r.handle(t,n)}async run(e=process.argv){let t=e.slice(2);if(t.length===0){this.listCommands();return}let n=t[0],r=[],i={};for(let e=1;e<t.length;e++){let n=t[e];if(n.startsWith(`--`)){let e=n.slice(2).split(`=`),t=e[0];i[t]=e.length>1?e[1]:!0}else if(n.startsWith(`-`)){let e=n.slice(1);i[e]=!0}else r.push(n)}try{await this.handle(n,r,i)}catch(e){console.error(`\x1b[31mError: ${e.message}\x1b[0m`),process.exit(1)}}listCommands(){console.log(`\x1B[33mAvailable commands:\x1B[0m
|
|
2
2
|
`),this.commands.forEach(e=>{console.log(` \x1b[32m${e.signature}\x1b[0m`),console.log(` ${e.description}\n`)})}getCommands(){return this.commands}getApplication(){return this.app}};export{e as ConsoleKernel};
|
|
3
3
|
//# sourceMappingURL=ConsoleKernel.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleKernel.mjs","names":[],"sources":["../../src/Console/ConsoleKernel.ts"],"sourcesContent":["/**\n * ConsoleKernel\n *\n * The console kernel handles registration and execution of console commands\n */\n\nimport { Application } from '@/Foundation/Application';\nimport { Command, CommandOptions } from './Command';\n\nexport class ConsoleKernel {\n protected commands: Map<string, Command> = new Map();\n\n constructor(protected app: Application) {\n this.registerCommands();\n }\n\n /**\n * Register console commands\n */\n protected registerCommands(): void {\n // Override this method in your application's kernel to register commands\n }\n\n /**\n * Register a command\n */\n register(command: Command): void {\n this.commands.set(command.getName(), command);\n }\n\n /**\n * Register multiple commands\n */\n registerMany(commands: Command[]): void {\n commands.forEach((command) => this.register(command));\n }\n\n /**\n * Run a console command\n */\n async handle(commandName: string, args: string[] = [], options: CommandOptions = {}): Promise<void> {\n const command = this.commands.get(commandName);\n\n if (!command) {\n throw new Error(`Command not found: ${commandName}`);\n }\n\n await command.handle(args, options);\n }\n\n /**\n * Run the console kernel from CLI arguments\n */\n async run(argv: string[] = process.argv): Promise<void> {\n // Parse arguments: node script.js command-name arg1 arg2 --option=value\n const args = argv.slice(2);\n\n if (args.length === 0) {\n this.listCommands();\n return;\n }\n\n const commandName = args[0];\n const commandArgs: string[] = [];\n const options: CommandOptions = {};\n\n // Parse arguments and options\n for (let i = 1; i < args.length; i++) {\n const arg = args[i];\n\n if (arg.startsWith('--')) {\n // Parse option: --option=value or --option\n const parts = arg.slice(2).split('=');\n const optionName = parts[0];\n const optionValue = parts.length > 1 ? parts[1] : true;\n options[optionName] = optionValue;\n } else if (arg.startsWith('-')) {\n // Parse short option: -o\n const optionName = arg.slice(1);\n options[optionName] = true;\n } else {\n // Regular argument\n commandArgs.push(arg);\n }\n }\n\n try {\n await this.handle(commandName, commandArgs, options);\n } catch (error) {\n console.error(`\\x1b[31mError: ${(error as Error).message}\\x1b[0m`);\n process.exit(1);\n }\n }\n\n /**\n * List all registered commands\n */\n protected listCommands(): void {\n console.log('\\x1b[33mAvailable commands:\\x1b[0m\\n');\n\n this.commands.forEach((command) => {\n console.log(` \\x1b[32m${command.signature}\\x1b[0m`);\n console.log(` ${command.description}\\n`);\n });\n }\n\n /**\n * Get all registered commands\n */\n getCommands(): Map<string, Command> {\n return this.commands;\n }\n\n /**\n * Get the application instance\n */\n getApplication(): Application {\n return this.app;\n }\n}\n"],"mappings":"AASA,IAAa,EAAb,KAA2B,
|
|
1
|
+
{"version":3,"file":"ConsoleKernel.mjs","names":[],"sources":["../../src/Console/ConsoleKernel.ts"],"sourcesContent":["/**\n * ConsoleKernel\n *\n * The console kernel handles registration and execution of console commands\n */\n\nimport { Application } from '@/Foundation/Application';\nimport { Command, CommandOptions } from './Command';\n\nexport class ConsoleKernel {\n protected commands: Map<string, Command> = new Map();\n\n constructor(protected app: Application) {\n this.registerCommands();\n }\n\n /**\n * Register console commands\n */\n protected registerCommands(): void {\n // Override this method in your application's kernel to register commands\n }\n\n /**\n * Register a command\n */\n register(command: Command): void {\n this.commands.set(command.getName(), command);\n }\n\n /**\n * Register multiple commands\n */\n registerMany(commands: Command[]): void {\n commands.forEach((command) => this.register(command));\n }\n\n /**\n * Run a console command\n */\n async handle(commandName: string, args: string[] = [], options: CommandOptions = {}): Promise<void> {\n const command = this.commands.get(commandName);\n\n if (!command) {\n throw new Error(`Command not found: ${commandName}`);\n }\n\n await command.handle(args, options);\n }\n\n /**\n * Run the console kernel from CLI arguments\n */\n async run(argv: string[] = process.argv): Promise<void> {\n // Parse arguments: node script.js command-name arg1 arg2 --option=value\n const args = argv.slice(2);\n\n if (args.length === 0) {\n this.listCommands();\n return;\n }\n\n const commandName = args[0];\n const commandArgs: string[] = [];\n const options: CommandOptions = {};\n\n // Parse arguments and options\n for (let i = 1; i < args.length; i++) {\n const arg = args[i];\n\n if (arg.startsWith('--')) {\n // Parse option: --option=value or --option\n const parts = arg.slice(2).split('=');\n const optionName = parts[0];\n const optionValue = parts.length > 1 ? parts[1] : true;\n options[optionName] = optionValue;\n } else if (arg.startsWith('-')) {\n // Parse short option: -o\n const optionName = arg.slice(1);\n options[optionName] = true;\n } else {\n // Regular argument\n commandArgs.push(arg);\n }\n }\n\n try {\n await this.handle(commandName, commandArgs, options);\n } catch (error) {\n console.error(`\\x1b[31mError: ${(error as Error).message}\\x1b[0m`);\n process.exit(1);\n }\n }\n\n /**\n * List all registered commands\n */\n protected listCommands(): void {\n console.log('\\x1b[33mAvailable commands:\\x1b[0m\\n');\n\n this.commands.forEach((command) => {\n console.log(` \\x1b[32m${command.signature}\\x1b[0m`);\n console.log(` ${command.description}\\n`);\n });\n }\n\n /**\n * Get all registered commands\n */\n getCommands(): Map<string, Command> {\n return this.commands;\n }\n\n /**\n * Get the application instance\n */\n getApplication(): Application {\n return this.app;\n }\n}\n"],"mappings":"AASA,IAAa,EAAb,KAA2B,CAGH,IAFtB,SAA2C,IAAI,IAE/C,YAAY,EAA4B,CAAlB,KAAA,IAAA,EACpB,KAAK,kBAAkB,CAMzB,kBAAmC,EAOnC,SAAS,EAAwB,CAC/B,KAAK,SAAS,IAAI,EAAQ,SAAS,CAAE,EAAQ,CAM/C,aAAa,EAA2B,CACtC,EAAS,QAAS,GAAY,KAAK,SAAS,EAAQ,CAAC,CAMvD,MAAM,OAAO,EAAqB,EAAiB,EAAE,CAAE,EAA0B,EAAE,CAAiB,CAClG,IAAM,EAAU,KAAK,SAAS,IAAI,EAAY,CAE9C,GAAI,CAAC,EACH,MAAU,MAAM,sBAAsB,IAAc,CAGtD,MAAM,EAAQ,OAAO,EAAM,EAAQ,CAMrC,MAAM,IAAI,EAAiB,QAAQ,KAAqB,CAEtD,IAAM,EAAO,EAAK,MAAM,EAAE,CAE1B,GAAI,EAAK,SAAW,EAAG,CACrB,KAAK,cAAc,CACnB,OAGF,IAAM,EAAc,EAAK,GACnB,EAAwB,EAAE,CAC1B,EAA0B,EAAE,CAGlC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAM,EAAM,EAAK,GAEjB,GAAI,EAAI,WAAW,KAAK,CAAE,CAExB,IAAM,EAAQ,EAAI,MAAM,EAAE,CAAC,MAAM,IAAI,CAC/B,EAAa,EAAM,GAEzB,EAAQ,GADY,EAAM,OAAS,EAAI,EAAM,GAAK,QAE7C,GAAI,EAAI,WAAW,IAAI,CAAE,CAE9B,IAAM,EAAa,EAAI,MAAM,EAAE,CAC/B,EAAQ,GAAc,QAGtB,EAAY,KAAK,EAAI,CAIzB,GAAI,CACF,MAAM,KAAK,OAAO,EAAa,EAAa,EAAQ,OAC7C,EAAO,CACd,QAAQ,MAAM,kBAAmB,EAAgB,QAAQ,SAAS,CAClE,QAAQ,KAAK,EAAE,EAOnB,cAA+B,CAC7B,QAAQ,IAAI;EAAuC,CAEnD,KAAK,SAAS,QAAS,GAAY,CACjC,QAAQ,IAAI,aAAa,EAAQ,UAAU,SAAS,CACpD,QAAQ,IAAI,OAAO,EAAQ,YAAY,IAAI,EAC3C,CAMJ,aAAoC,CAClC,OAAO,KAAK,SAMd,gBAA8B,CAC5B,OAAO,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestr.mjs","names":[],"sources":["../../src/Console/orchestr.ts"],"sourcesContent":["#!/usr/bin/env node\n/**\n * Orchestr CLI\n *\n * Command-line interface for Orchestr\n */\n\nimport { Application } from '@/Foundation/Application';\nimport { DeployCommand } from './Commands/DeployCommand';\nimport { DeployEnvCommand } from './Commands/DeployEnvCommand';\nimport { DeployInitCommand } from './Commands/DeployInitCommand';\nimport { DeployLoginCommand } from './Commands/DeployLoginCommand';\nimport { DeployProvisionCommand } from './Commands/DeployProvisionCommand';\nimport { DeployRollbackCommand } from './Commands/DeployRollbackCommand';\nimport { DeployServerCommand } from './Commands/DeployServerCommand';\nimport { DeployStatusCommand } from './Commands/DeployStatusCommand';\nimport { EventCacheCommand } from './Commands/EventCacheCommand';\nimport { EventClearCommand } from './Commands/EventClearCommand';\nimport { EventListCommand } from './Commands/EventListCommand';\nimport { MakeControllerCommand } from './Commands/MakeControllerCommand';\nimport { MakeEventCommand } from './Commands/MakeEventCommand';\nimport { MakeListenerCommand } from './Commands/MakeListenerCommand';\nimport { MakeMigrationCommand } from './Commands/MakeMigrationCommand';\nimport { MakeSeederCommand } from './Commands/MakeSeederCommand';\nimport { MigrateCommand } from './Commands/MigrateCommand';\nimport { MigrateFreshCommand } from './Commands/MigrateFreshCommand';\nimport { MigrateRefreshCommand } from './Commands/MigrateRefreshCommand';\nimport { MigrateResetCommand } from './Commands/MigrateResetCommand';\nimport { MigrateRollbackCommand } from './Commands/MigrateRollbackCommand';\nimport { MigrateStatusCommand } from './Commands/MigrateStatusCommand';\nimport { SeedCommand } from './Commands/SeedCommand';\nimport { ConsoleKernel } from './ConsoleKernel';\n\n// Create application instance\nconst app = new Application();\n\n// Create console kernel\nclass OrchestrKernel extends ConsoleKernel {\n protected registerCommands(): void {\n // Register migration commands\n this.registerMany([\n new MigrateCommand(this.app),\n new MigrateRollbackCommand(this.app),\n new MigrateResetCommand(this.app),\n new MigrateRefreshCommand(this.app),\n new MigrateFreshCommand(this.app),\n new MigrateStatusCommand(this.app),\n new MakeMigrationCommand(this.app),\n new SeedCommand(this.app),\n new MakeSeederCommand(this.app),\n new MakeEventCommand(this.app),\n new MakeListenerCommand(this.app),\n new MakeControllerCommand(this.app),\n new EventListCommand(this.app),\n new EventCacheCommand(this.app),\n new EventClearCommand(this.app),\n // Deploy commands\n new DeployLoginCommand(),\n new DeployInitCommand(),\n new DeployServerCommand(),\n new DeployCommand(),\n new DeployStatusCommand(),\n new DeployEnvCommand(),\n new DeployRollbackCommand(),\n new DeployProvisionCommand(),\n ]);\n }\n}\n\n// Run the CLI\nconst kernel = new OrchestrKernel(app);\nkernel.run().catch((error) => {\n console.error(error);\n process.exit(1);\n});\n"],"mappings":";itDAkCA,MAAM,EAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"orchestr.mjs","names":[],"sources":["../../src/Console/orchestr.ts"],"sourcesContent":["#!/usr/bin/env node\n/**\n * Orchestr CLI\n *\n * Command-line interface for Orchestr\n */\n\nimport { Application } from '@/Foundation/Application';\nimport { DeployCommand } from './Commands/DeployCommand';\nimport { DeployEnvCommand } from './Commands/DeployEnvCommand';\nimport { DeployInitCommand } from './Commands/DeployInitCommand';\nimport { DeployLoginCommand } from './Commands/DeployLoginCommand';\nimport { DeployProvisionCommand } from './Commands/DeployProvisionCommand';\nimport { DeployRollbackCommand } from './Commands/DeployRollbackCommand';\nimport { DeployServerCommand } from './Commands/DeployServerCommand';\nimport { DeployStatusCommand } from './Commands/DeployStatusCommand';\nimport { EventCacheCommand } from './Commands/EventCacheCommand';\nimport { EventClearCommand } from './Commands/EventClearCommand';\nimport { EventListCommand } from './Commands/EventListCommand';\nimport { MakeControllerCommand } from './Commands/MakeControllerCommand';\nimport { MakeEventCommand } from './Commands/MakeEventCommand';\nimport { MakeListenerCommand } from './Commands/MakeListenerCommand';\nimport { MakeMigrationCommand } from './Commands/MakeMigrationCommand';\nimport { MakeSeederCommand } from './Commands/MakeSeederCommand';\nimport { MigrateCommand } from './Commands/MigrateCommand';\nimport { MigrateFreshCommand } from './Commands/MigrateFreshCommand';\nimport { MigrateRefreshCommand } from './Commands/MigrateRefreshCommand';\nimport { MigrateResetCommand } from './Commands/MigrateResetCommand';\nimport { MigrateRollbackCommand } from './Commands/MigrateRollbackCommand';\nimport { MigrateStatusCommand } from './Commands/MigrateStatusCommand';\nimport { SeedCommand } from './Commands/SeedCommand';\nimport { ConsoleKernel } from './ConsoleKernel';\n\n// Create application instance\nconst app = new Application();\n\n// Create console kernel\nclass OrchestrKernel extends ConsoleKernel {\n protected registerCommands(): void {\n // Register migration commands\n this.registerMany([\n new MigrateCommand(this.app),\n new MigrateRollbackCommand(this.app),\n new MigrateResetCommand(this.app),\n new MigrateRefreshCommand(this.app),\n new MigrateFreshCommand(this.app),\n new MigrateStatusCommand(this.app),\n new MakeMigrationCommand(this.app),\n new SeedCommand(this.app),\n new MakeSeederCommand(this.app),\n new MakeEventCommand(this.app),\n new MakeListenerCommand(this.app),\n new MakeControllerCommand(this.app),\n new EventListCommand(this.app),\n new EventCacheCommand(this.app),\n new EventClearCommand(this.app),\n // Deploy commands\n new DeployLoginCommand(),\n new DeployInitCommand(),\n new DeployServerCommand(),\n new DeployCommand(),\n new DeployStatusCommand(),\n new DeployEnvCommand(),\n new DeployRollbackCommand(),\n new DeployProvisionCommand(),\n ]);\n }\n}\n\n// Run the CLI\nconst kernel = new OrchestrKernel(app);\nkernel.run().catch((error) => {\n console.error(error);\n process.exit(1);\n});\n"],"mappings":";itDAkCA,MAAM,EAAM,IAAI,EAqChB,IADmB,cAjCU,CAAc,CACzC,kBAAmC,CAEjC,KAAK,aAAa,CAChB,IAAI,EAAe,KAAK,IAAI,CAC5B,IAAI,EAAuB,KAAK,IAAI,CACpC,IAAI,EAAoB,KAAK,IAAI,CACjC,IAAI,EAAsB,KAAK,IAAI,CACnC,IAAI,EAAoB,KAAK,IAAI,CACjC,IAAI,EAAqB,KAAK,IAAI,CAClC,IAAI,EAAqB,KAAK,IAAI,CAClC,IAAI,EAAY,KAAK,IAAI,CACzB,IAAI,EAAkB,KAAK,IAAI,CAC/B,IAAI,EAAiB,KAAK,IAAI,CAC9B,IAAI,EAAoB,KAAK,IAAI,CACjC,IAAI,EAAsB,KAAK,IAAI,CACnC,IAAI,EAAiB,KAAK,IAAI,CAC9B,IAAI,EAAkB,KAAK,IAAI,CAC/B,IAAI,EAAkB,KAAK,IAAI,CAE/B,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACL,CAAC,GAK4B,EAC5B,CAAC,KAAK,CAAC,MAAO,GAAU,CAC5B,QAAQ,MAAM,EAAM,CACpB,QAAQ,KAAK,EAAE,EACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.mjs","names":[],"sources":["../../src/Container/Container.ts"],"sourcesContent":["import 'reflect-metadata';\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport type Abstract = string | symbol | Function;\nexport type Concrete<T = any> = ((container: Container) => T) | (new (...args: any[]) => T);\nexport type Binding = {\n concrete: Concrete;\n shared: boolean;\n};\n\n/**\n * Service Container - Laravel's IoC Container\n * Handles dependency injection and service resolution\n */\nexport class Container {\n private bindings: Map<Abstract, Binding> = new Map();\n private instances: Map<Abstract, any> = new Map();\n private aliases: Map<Abstract, Abstract> = new Map();\n private resolvedTypes: Map<Abstract, boolean> = new Map();\n\n /**\n * Register a binding with the container\n * Laravel: $app->bind(abstract, concrete)\n */\n bind<T>(abstract: Abstract, concrete: Concrete<T> | null = null, shared: boolean = false): void {\n if (concrete === null) {\n concrete = abstract as Concrete<T>;\n }\n\n this.bindings.set(abstract, { concrete, shared });\n\n // If already resolved and not shared, clear the instance\n if (this.resolvedTypes.has(abstract) && !shared) {\n this.instances.delete(abstract);\n this.resolvedTypes.delete(abstract);\n }\n }\n\n /**\n * Register a shared binding (singleton) in the container\n * Laravel: $app->singleton(abstract, concrete)\n */\n singleton<T>(abstract: Abstract, concrete: Concrete<T> | null = null): void {\n this.bind(abstract, concrete, true);\n }\n\n /**\n * Register an existing instance as shared in the container\n * Laravel: $app->instance(abstract, instance)\n */\n instance<T>(abstract: Abstract, instance: T): T {\n this.instances.set(abstract, instance);\n this.bindings.set(abstract, {\n concrete: () => instance,\n shared: true,\n });\n return instance;\n }\n\n /**\n * Alias a type to a different name\n * Laravel: $app->alias(abstract, alias)\n */\n alias(abstract: Abstract, alias: Abstract): void {\n this.aliases.set(alias, abstract);\n }\n\n /**\n * Resolve the given type from the container\n * Laravel: $app->make(abstract)\n */\n make<T>(abstract: Abstract, parameters: any[] = []): T {\n return this.resolve(abstract, parameters);\n }\n\n /**\n * Resolve the given type from the container\n */\n private resolve<T>(abstract: Abstract, parameters: any[] = []): T {\n // Get the real abstract if this is an alias\n abstract = this.getAlias(abstract);\n\n // If we have a shared instance, return it\n if (this.instances.has(abstract)) {\n return this.instances.get(abstract);\n }\n\n // Get the concrete implementation\n const concrete = this.getConcrete(abstract);\n\n // Build the concrete type\n let object: T;\n\n if (this.isBuildable(concrete, abstract)) {\n object = this.build(concrete, parameters);\n } else {\n object = this.make(concrete as Abstract, parameters);\n }\n\n // If the binding is shared, store the instance\n if (this.isShared(abstract)) {\n this.instances.set(abstract, object);\n }\n\n this.resolvedTypes.set(abstract, true);\n\n return object;\n }\n\n /**\n * Get the concrete type for a given abstract\n */\n private getConcrete(abstract: Abstract): Concrete {\n const binding = this.bindings.get(abstract);\n\n if (binding) {\n return binding.concrete;\n }\n\n // If no binding exists, assume the abstract is the concrete\n return abstract as Concrete;\n }\n\n /**\n * Get the alias for an abstract if available\n */\n private getAlias(abstract: Abstract): Abstract {\n return this.aliases.has(abstract) ? this.getAlias(this.aliases.get(abstract)!) : abstract;\n }\n\n /**\n * Determine if the given concrete is buildable\n */\n private isBuildable(concrete: Concrete, abstract: Abstract): boolean {\n return concrete === abstract || typeof concrete === 'function';\n }\n\n /**\n * Determine if a given type is shared\n */\n private isShared(abstract: Abstract): boolean {\n const binding = this.bindings.get(abstract);\n return binding ? binding.shared : false;\n }\n\n /**\n * Instantiate a concrete instance of the given type\n * Uses reflection to resolve constructor dependencies\n */\n private build<T>(concrete: Concrete<T>, parameters: any[] = []): T {\n // If concrete is a function (factory), call it\n if (typeof concrete === 'function' && concrete.prototype === undefined) {\n return (concrete as (container: Container) => T)(this);\n }\n\n // If concrete is a class, use reflection to get dependencies\n if (typeof concrete === 'function') {\n const dependencies = this.resolveDependencies(concrete, parameters);\n return new (concrete as new (...args: any[]) => T)(...dependencies);\n }\n\n throw new Error(`Target [${String(concrete)}] is not instantiable.`);\n }\n\n /**\n * Resolve all dependencies for a class constructor\n * Uses TypeScript's reflect-metadata to get parameter types\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n private resolveDependencies(concrete: Function, parameters: any[] = []): any[] {\n const paramTypes = Reflect.getMetadata('design:paramtypes', concrete) || [];\n\n return paramTypes.map((paramType: any, index: number) => {\n // If parameter was provided explicitly, use it\n if (parameters[index] !== undefined) {\n return parameters[index];\n }\n\n // If no type information, throw error\n if (!paramType || paramType === Object) {\n throw new Error(\n `Cannot resolve dependency at position ${index} for ${concrete.name}. ` +\n `Make sure TypeScript decorators are enabled and the class has proper type hints.`\n );\n }\n\n // Resolve the dependency from the container\n return this.make(paramType);\n });\n }\n\n /**\n * Determine if the given abstract type has been bound\n */\n bound(abstract: Abstract): boolean {\n return this.bindings.has(abstract) || this.instances.has(abstract) || this.aliases.has(abstract);\n }\n\n /**\n * Determine if the given abstract type has been resolved\n */\n resolved(abstract: Abstract): boolean {\n abstract = this.getAlias(abstract);\n return this.resolvedTypes.has(abstract) || this.instances.has(abstract);\n }\n\n /**\n * Flush the container of all bindings and resolved instances\n */\n flush(): void {\n this.bindings.clear();\n this.instances.clear();\n this.aliases.clear();\n this.resolvedTypes.clear();\n }\n\n /**\n * Call the given Closure / class@method and inject its dependencies\n * Laravel: $app->call(callable)\n */\n call<T = any>(callback: (...args: any[]) => T, parameters: any[] = []): T {\n const paramTypes = Reflect.getMetadata('design:paramtypes', callback) || [];\n const dependencies = paramTypes.map((paramType: any, index: number) => {\n if (parameters[index] !== undefined) {\n return parameters[index];\n }\n return this.make(paramType);\n });\n\n return callback(...dependencies);\n }\n}\n"],"mappings":"yBAcA,IAAa,EAAb,KAAuB,CACrB,SAA2C,IAAI,IAC/C,UAAwC,IAAI,IAC5C,QAA2C,IAAI,IAC/C,cAAgD,IAAI,IAMpD,KAAQ,EAAoB,EAA+B,KAAM,EAAkB,GAAa,CAC1F,IAAa,OACf,EAAW,GAGb,KAAK,SAAS,IAAI,EAAU,CAAE,WAAU,SAAQ,CAAC,CAG7C,KAAK,cAAc,IAAI,EAAS,EAAI,CAAC,IACvC,KAAK,UAAU,OAAO,EAAS,CAC/B,KAAK,cAAc,OAAO,EAAS,EAQvC,UAAa,EAAoB,EAA+B,KAAY,CAC1E,KAAK,KAAK,EAAU,EAAU,GAAK,CAOrC,SAAY,EAAoB,EAAgB,CAM9C,OALA,KAAK,UAAU,IAAI,EAAU,EAAS,CACtC,KAAK,SAAS,IAAI,EAAU,CAC1B,aAAgB,EAChB,OAAQ,GACT,CAAC,CACK,EAOT,MAAM,EAAoB,EAAuB,CAC/C,KAAK,QAAQ,IAAI,EAAO,EAAS,CAOnC,KAAQ,EAAoB,EAAoB,EAAE,CAAK,CACrD,OAAO,KAAK,QAAQ,EAAU,EAAW,CAM3C,QAAmB,EAAoB,EAAoB,EAAE,CAAK,CAKhE,GAHA,EAAW,KAAK,SAAS,EAAS,CAG9B,KAAK,UAAU,IAAI,EAAS,CAC9B,OAAO,KAAK,UAAU,IAAI,EAAS,CAIrC,IAAM,EAAW,KAAK,YAAY,EAAS,CAGvC,EAeJ,MAbA,CAGE,EAHE,KAAK,YAAY,EAAU,EAAS,CAC7B,KAAK,MAAM,EAAU,EAAW,CAEhC,KAAK,KAAK,EAAsB,EAAW,CAIlD,KAAK,SAAS,EAAS,EACzB,KAAK,UAAU,IAAI,EAAU,EAAO,CAGtC,KAAK,cAAc,IAAI,EAAU,GAAK,CAE/B,EAMT,YAAoB,EAA8B,CAChD,IAAM,EAAU,KAAK,SAAS,IAAI,EAAS,CAO3C,OALI,EACK,EAAQ,SAIV,EAMT,SAAiB,EAA8B,CAC7C,OAAO,KAAK,QAAQ,IAAI,EAAS,CAAG,KAAK,SAAS,KAAK,QAAQ,IAAI,EAAS,CAAE,CAAG,EAMnF,YAAoB,EAAoB,EAA6B,CACnE,OAAO,IAAa,GAAY,OAAO,GAAa,WAMtD,SAAiB,EAA6B,CAC5C,IAAM,EAAU,KAAK,SAAS,IAAI,EAAS,CAC3C,OAAO,EAAU,EAAQ,OAAS,GAOpC,MAAiB,EAAuB,EAAoB,EAAE,CAAK,CAEjE,GAAI,OAAO,GAAa,YAAc,EAAS,YAAc,IAAA,GAC3D,OAAQ,EAAyC,KAAK,CAIxD,GAAI,OAAO,GAAa,WAEtB,OAAO,IAAK,EAAuC,GAD9B,KAAK,oBAAoB,EAAU,
|
|
1
|
+
{"version":3,"file":"Container.mjs","names":[],"sources":["../../src/Container/Container.ts"],"sourcesContent":["import 'reflect-metadata';\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport type Abstract = string | symbol | Function;\nexport type Concrete<T = any> = ((container: Container) => T) | (new (...args: any[]) => T);\nexport type Binding = {\n concrete: Concrete;\n shared: boolean;\n};\n\n/**\n * Service Container - Laravel's IoC Container\n * Handles dependency injection and service resolution\n */\nexport class Container {\n private bindings: Map<Abstract, Binding> = new Map();\n private instances: Map<Abstract, any> = new Map();\n private aliases: Map<Abstract, Abstract> = new Map();\n private resolvedTypes: Map<Abstract, boolean> = new Map();\n\n /**\n * Register a binding with the container\n * Laravel: $app->bind(abstract, concrete)\n */\n bind<T>(abstract: Abstract, concrete: Concrete<T> | null = null, shared: boolean = false): void {\n if (concrete === null) {\n concrete = abstract as Concrete<T>;\n }\n\n this.bindings.set(abstract, { concrete, shared });\n\n // If already resolved and not shared, clear the instance\n if (this.resolvedTypes.has(abstract) && !shared) {\n this.instances.delete(abstract);\n this.resolvedTypes.delete(abstract);\n }\n }\n\n /**\n * Register a shared binding (singleton) in the container\n * Laravel: $app->singleton(abstract, concrete)\n */\n singleton<T>(abstract: Abstract, concrete: Concrete<T> | null = null): void {\n this.bind(abstract, concrete, true);\n }\n\n /**\n * Register an existing instance as shared in the container\n * Laravel: $app->instance(abstract, instance)\n */\n instance<T>(abstract: Abstract, instance: T): T {\n this.instances.set(abstract, instance);\n this.bindings.set(abstract, {\n concrete: () => instance,\n shared: true,\n });\n return instance;\n }\n\n /**\n * Alias a type to a different name\n * Laravel: $app->alias(abstract, alias)\n */\n alias(abstract: Abstract, alias: Abstract): void {\n this.aliases.set(alias, abstract);\n }\n\n /**\n * Resolve the given type from the container\n * Laravel: $app->make(abstract)\n */\n make<T>(abstract: Abstract, parameters: any[] = []): T {\n return this.resolve(abstract, parameters);\n }\n\n /**\n * Resolve the given type from the container\n */\n private resolve<T>(abstract: Abstract, parameters: any[] = []): T {\n // Get the real abstract if this is an alias\n abstract = this.getAlias(abstract);\n\n // If we have a shared instance, return it\n if (this.instances.has(abstract)) {\n return this.instances.get(abstract);\n }\n\n // Get the concrete implementation\n const concrete = this.getConcrete(abstract);\n\n // Build the concrete type\n let object: T;\n\n if (this.isBuildable(concrete, abstract)) {\n object = this.build(concrete, parameters);\n } else {\n object = this.make(concrete as Abstract, parameters);\n }\n\n // If the binding is shared, store the instance\n if (this.isShared(abstract)) {\n this.instances.set(abstract, object);\n }\n\n this.resolvedTypes.set(abstract, true);\n\n return object;\n }\n\n /**\n * Get the concrete type for a given abstract\n */\n private getConcrete(abstract: Abstract): Concrete {\n const binding = this.bindings.get(abstract);\n\n if (binding) {\n return binding.concrete;\n }\n\n // If no binding exists, assume the abstract is the concrete\n return abstract as Concrete;\n }\n\n /**\n * Get the alias for an abstract if available\n */\n private getAlias(abstract: Abstract): Abstract {\n return this.aliases.has(abstract) ? this.getAlias(this.aliases.get(abstract)!) : abstract;\n }\n\n /**\n * Determine if the given concrete is buildable\n */\n private isBuildable(concrete: Concrete, abstract: Abstract): boolean {\n return concrete === abstract || typeof concrete === 'function';\n }\n\n /**\n * Determine if a given type is shared\n */\n private isShared(abstract: Abstract): boolean {\n const binding = this.bindings.get(abstract);\n return binding ? binding.shared : false;\n }\n\n /**\n * Instantiate a concrete instance of the given type\n * Uses reflection to resolve constructor dependencies\n */\n private build<T>(concrete: Concrete<T>, parameters: any[] = []): T {\n // If concrete is a function (factory), call it\n if (typeof concrete === 'function' && concrete.prototype === undefined) {\n return (concrete as (container: Container) => T)(this);\n }\n\n // If concrete is a class, use reflection to get dependencies\n if (typeof concrete === 'function') {\n const dependencies = this.resolveDependencies(concrete, parameters);\n return new (concrete as new (...args: any[]) => T)(...dependencies);\n }\n\n throw new Error(`Target [${String(concrete)}] is not instantiable.`);\n }\n\n /**\n * Resolve all dependencies for a class constructor\n * Uses TypeScript's reflect-metadata to get parameter types\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n private resolveDependencies(concrete: Function, parameters: any[] = []): any[] {\n const paramTypes = Reflect.getMetadata('design:paramtypes', concrete) || [];\n\n return paramTypes.map((paramType: any, index: number) => {\n // If parameter was provided explicitly, use it\n if (parameters[index] !== undefined) {\n return parameters[index];\n }\n\n // If no type information, throw error\n if (!paramType || paramType === Object) {\n throw new Error(\n `Cannot resolve dependency at position ${index} for ${concrete.name}. ` +\n `Make sure TypeScript decorators are enabled and the class has proper type hints.`\n );\n }\n\n // Resolve the dependency from the container\n return this.make(paramType);\n });\n }\n\n /**\n * Determine if the given abstract type has been bound\n */\n bound(abstract: Abstract): boolean {\n return this.bindings.has(abstract) || this.instances.has(abstract) || this.aliases.has(abstract);\n }\n\n /**\n * Determine if the given abstract type has been resolved\n */\n resolved(abstract: Abstract): boolean {\n abstract = this.getAlias(abstract);\n return this.resolvedTypes.has(abstract) || this.instances.has(abstract);\n }\n\n /**\n * Flush the container of all bindings and resolved instances\n */\n flush(): void {\n this.bindings.clear();\n this.instances.clear();\n this.aliases.clear();\n this.resolvedTypes.clear();\n }\n\n /**\n * Call the given Closure / class@method and inject its dependencies\n * Laravel: $app->call(callable)\n */\n call<T = any>(callback: (...args: any[]) => T, parameters: any[] = []): T {\n const paramTypes = Reflect.getMetadata('design:paramtypes', callback) || [];\n const dependencies = paramTypes.map((paramType: any, index: number) => {\n if (parameters[index] !== undefined) {\n return parameters[index];\n }\n return this.make(paramType);\n });\n\n return callback(...dependencies);\n }\n}\n"],"mappings":"yBAcA,IAAa,EAAb,KAAuB,CACrB,SAA2C,IAAI,IAC/C,UAAwC,IAAI,IAC5C,QAA2C,IAAI,IAC/C,cAAgD,IAAI,IAMpD,KAAQ,EAAoB,EAA+B,KAAM,EAAkB,GAAa,CAC1F,IAAa,OACf,EAAW,GAGb,KAAK,SAAS,IAAI,EAAU,CAAE,WAAU,SAAQ,CAAC,CAG7C,KAAK,cAAc,IAAI,EAAS,EAAI,CAAC,IACvC,KAAK,UAAU,OAAO,EAAS,CAC/B,KAAK,cAAc,OAAO,EAAS,EAQvC,UAAa,EAAoB,EAA+B,KAAY,CAC1E,KAAK,KAAK,EAAU,EAAU,GAAK,CAOrC,SAAY,EAAoB,EAAgB,CAM9C,OALA,KAAK,UAAU,IAAI,EAAU,EAAS,CACtC,KAAK,SAAS,IAAI,EAAU,CAC1B,aAAgB,EAChB,OAAQ,GACT,CAAC,CACK,EAOT,MAAM,EAAoB,EAAuB,CAC/C,KAAK,QAAQ,IAAI,EAAO,EAAS,CAOnC,KAAQ,EAAoB,EAAoB,EAAE,CAAK,CACrD,OAAO,KAAK,QAAQ,EAAU,EAAW,CAM3C,QAAmB,EAAoB,EAAoB,EAAE,CAAK,CAKhE,GAHA,EAAW,KAAK,SAAS,EAAS,CAG9B,KAAK,UAAU,IAAI,EAAS,CAC9B,OAAO,KAAK,UAAU,IAAI,EAAS,CAIrC,IAAM,EAAW,KAAK,YAAY,EAAS,CAGvC,EAeJ,MAbA,CAGE,EAHE,KAAK,YAAY,EAAU,EAAS,CAC7B,KAAK,MAAM,EAAU,EAAW,CAEhC,KAAK,KAAK,EAAsB,EAAW,CAIlD,KAAK,SAAS,EAAS,EACzB,KAAK,UAAU,IAAI,EAAU,EAAO,CAGtC,KAAK,cAAc,IAAI,EAAU,GAAK,CAE/B,EAMT,YAAoB,EAA8B,CAChD,IAAM,EAAU,KAAK,SAAS,IAAI,EAAS,CAO3C,OALI,EACK,EAAQ,SAIV,EAMT,SAAiB,EAA8B,CAC7C,OAAO,KAAK,QAAQ,IAAI,EAAS,CAAG,KAAK,SAAS,KAAK,QAAQ,IAAI,EAAS,CAAE,CAAG,EAMnF,YAAoB,EAAoB,EAA6B,CACnE,OAAO,IAAa,GAAY,OAAO,GAAa,WAMtD,SAAiB,EAA6B,CAC5C,IAAM,EAAU,KAAK,SAAS,IAAI,EAAS,CAC3C,OAAO,EAAU,EAAQ,OAAS,GAOpC,MAAiB,EAAuB,EAAoB,EAAE,CAAK,CAEjE,GAAI,OAAO,GAAa,YAAc,EAAS,YAAc,IAAA,GAC3D,OAAQ,EAAyC,KAAK,CAIxD,GAAI,OAAO,GAAa,WAEtB,OAAO,IAAK,EAAuC,GAD9B,KAAK,oBAAoB,EAAU,EACU,CAAC,CAGrE,MAAU,MAAM,WAAW,OAAO,EAAS,CAAC,wBAAwB,CAQtE,oBAA4B,EAAoB,EAAoB,EAAE,CAAS,CAG7E,OAFmB,QAAQ,YAAY,oBAAqB,EAAS,EAAI,EAAE,EAEzD,KAAK,EAAgB,IAAkB,CAEvD,GAAI,EAAW,KAAW,IAAA,GACxB,OAAO,EAAW,GAIpB,GAAI,CAAC,GAAa,IAAc,OAC9B,MAAU,MACR,yCAAyC,EAAM,OAAO,EAAS,KAAK,oFAErE,CAIH,OAAO,KAAK,KAAK,EAAU,EAC3B,CAMJ,MAAM,EAA6B,CACjC,OAAO,KAAK,SAAS,IAAI,EAAS,EAAI,KAAK,UAAU,IAAI,EAAS,EAAI,KAAK,QAAQ,IAAI,EAAS,CAMlG,SAAS,EAA6B,CAEpC,MADA,GAAW,KAAK,SAAS,EAAS,CAC3B,KAAK,cAAc,IAAI,EAAS,EAAI,KAAK,UAAU,IAAI,EAAS,CAMzE,OAAc,CACZ,KAAK,SAAS,OAAO,CACrB,KAAK,UAAU,OAAO,CACtB,KAAK,QAAQ,OAAO,CACpB,KAAK,cAAc,OAAO,CAO5B,KAAc,EAAiC,EAAoB,EAAE,CAAK,CASxE,OAAO,EAAS,IARG,QAAQ,YAAY,oBAAqB,EAAS,EAAI,EAAE,EAC3C,KAAK,EAAgB,IAC/C,EAAW,KAAW,IAAA,GAGnB,KAAK,KAAK,EAAU,CAFlB,EAAW,GAKS,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);var e=class{client;rawClient;connected=!1;inTransaction=!1;transactionClient;constructor(e){this.config=e}async connect(){if(!this.connected)try{switch(this.config.driver){case`postgres`:await this.connectPostgres();break;case`mysql`:case`mysql2`:await this.connectMySQL();break;case`better-sqlite3`:case`sqlite`:await this.connectSQLite();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}this.connected=!0}catch(e){throw Error(`Failed to connect to database: ${e?.message||e}`,{cause:e})}}async connectPostgres(){let{drizzle:e}=await import(`drizzle-orm/postgres-js`),t=(await import(`postgres`)).default({host:this.config.host,port:this.config.port,database:this.config.database,username:this.config.username,password:this.config.password,max:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectMySQL(){let{drizzle:e}=await import(`drizzle-orm/mysql2`),t=await(await import(`mysql2/promise`)).createPool({host:this.config.host,port:this.config.port,database:this.config.database,user:this.config.username,password:this.config.password,connectionLimit:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectSQLite(){let{drizzle:e}=await import(`drizzle-orm/better-sqlite3`),t=new(await(import(`better-sqlite3`))).default(this.config.database);this.rawClient=t,this.client=e(t)}async disconnect(){if(this.connected){if(this.rawClient)switch(this.config.driver){case`postgres`:await this.rawClient.end?.();break;case`mysql`:case`mysql2`:await this.rawClient.end?.();break;case`better-sqlite3`:case`sqlite`:this.rawClient.close?.();break}this.connected=!1,this.client=null,this.rawClient=null}}async query(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:{let[e]=await n.execute(r);i=e;break}case`better-sqlite3`:case`sqlite`:i=n.prepare(r).all();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return{rows:Array.isArray(i)?i:i.rows||[],rowCount:Array.isArray(i)?i.length:i.rowCount||0}}catch(t){throw Error(`Query failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async select(e,t=[]){return(await this.query(e,t)).rows}async insert(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:[i]=await n.execute(r);break;case`better-sqlite3`:case`sqlite`:i=n.prepare(r).run();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return i.insertId||i.lastInsertRowid||i.rows?.[0]?.id}catch(t){throw Error(`Insert failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async update(e,t=[]){return(await this.query(e,t)).rowCount}async delete(e,t=[]){return(await this.query(e,t)).rowCount}async beginTransaction(){if(this.ensureConnected(),this.inTransaction)throw Error(`Transaction already in progress`);this.inTransaction=!0,await this.query(`BEGIN`)}async commit(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`COMMIT`),this.inTransaction=!1,this.transactionClient=null}async rollback(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`ROLLBACK`),this.inTransaction=!1,this.transactionClient=null}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}isConnected(){return this.connected}getDriver(){return this.client}async getTableInfo(e){switch(this.ensureConnected(),this.config.driver){case`postgres`:return this.getPostgresTableInfo(e);case`mysql`:case`mysql2`:return this.getMySQLTableInfo(e);case`better-sqlite3`:case`sqlite`:return this.getSQLiteTableInfo(e);default:throw Error(`Table info not supported for this driver`)}}async getPostgresTableInfo(e){return this.select(`
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);var e=class{config;client;rawClient;connected=!1;inTransaction=!1;transactionClient;constructor(e){this.config=e}async connect(){if(!this.connected)try{switch(this.config.driver){case`postgres`:await this.connectPostgres();break;case`mysql`:case`mysql2`:await this.connectMySQL();break;case`better-sqlite3`:case`sqlite`:await this.connectSQLite();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}this.connected=!0}catch(e){throw Error(`Failed to connect to database: ${e?.message||e}`,{cause:e})}}async connectPostgres(){let{drizzle:e}=await import(`drizzle-orm/postgres-js`),t=(await import(`postgres`)).default({host:this.config.host,port:this.config.port,database:this.config.database,username:this.config.username,password:this.config.password,max:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectMySQL(){let{drizzle:e}=await import(`drizzle-orm/mysql2`),t=await(await import(`mysql2/promise`)).createPool({host:this.config.host,port:this.config.port,database:this.config.database,user:this.config.username,password:this.config.password,connectionLimit:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectSQLite(){let{drizzle:e}=await import(`drizzle-orm/better-sqlite3`),t=new(await(import(`better-sqlite3`))).default(this.config.database);this.rawClient=t,this.client=e(t)}async disconnect(){if(this.connected){if(this.rawClient)switch(this.config.driver){case`postgres`:await this.rawClient.end?.();break;case`mysql`:case`mysql2`:await this.rawClient.end?.();break;case`better-sqlite3`:case`sqlite`:this.rawClient.close?.();break}this.connected=!1,this.client=null,this.rawClient=null}}async query(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:{let[e]=await n.execute(r);i=e;break}case`better-sqlite3`:case`sqlite`:i=n.prepare(r).all();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return{rows:Array.isArray(i)?i:i.rows||[],rowCount:Array.isArray(i)?i.length:i.rowCount||0}}catch(t){throw Error(`Query failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async select(e,t=[]){return(await this.query(e,t)).rows}async insert(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:[i]=await n.execute(r);break;case`better-sqlite3`:case`sqlite`:i=n.prepare(r).run();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return i.insertId||i.lastInsertRowid||i.rows?.[0]?.id}catch(t){throw Error(`Insert failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async update(e,t=[]){return(await this.query(e,t)).rowCount}async delete(e,t=[]){return(await this.query(e,t)).rowCount}async beginTransaction(){if(this.ensureConnected(),this.inTransaction)throw Error(`Transaction already in progress`);this.inTransaction=!0,await this.query(`BEGIN`)}async commit(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`COMMIT`),this.inTransaction=!1,this.transactionClient=null}async rollback(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`ROLLBACK`),this.inTransaction=!1,this.transactionClient=null}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}isConnected(){return this.connected}getDriver(){return this.client}async getTableInfo(e){switch(this.ensureConnected(),this.config.driver){case`postgres`:return this.getPostgresTableInfo(e);case`mysql`:case`mysql2`:return this.getMySQLTableInfo(e);case`better-sqlite3`:case`sqlite`:return this.getSQLiteTableInfo(e);default:throw Error(`Table info not supported for this driver`)}}async getPostgresTableInfo(e){return this.select(`
|
|
2
2
|
SELECT column_name, data_type, is_nullable, column_default
|
|
3
3
|
FROM information_schema.columns
|
|
4
4
|
WHERE table_name = ?
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var e=class{client;rawClient;connected=!1;inTransaction=!1;transactionClient;constructor(e){this.config=e}async connect(){if(!this.connected)try{switch(this.config.driver){case`postgres`:await this.connectPostgres();break;case`mysql`:case`mysql2`:await this.connectMySQL();break;case`better-sqlite3`:case`sqlite`:await this.connectSQLite();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}this.connected=!0}catch(e){throw Error(`Failed to connect to database: ${e?.message||e}`,{cause:e})}}async connectPostgres(){let{drizzle:e}=await import(`drizzle-orm/postgres-js`),t=(await import(`postgres`)).default({host:this.config.host,port:this.config.port,database:this.config.database,username:this.config.username,password:this.config.password,max:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectMySQL(){let{drizzle:e}=await import(`drizzle-orm/mysql2`),t=await(await import(`mysql2/promise`)).createPool({host:this.config.host,port:this.config.port,database:this.config.database,user:this.config.username,password:this.config.password,connectionLimit:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectSQLite(){let{drizzle:e}=await import(`drizzle-orm/better-sqlite3`),t=new(await(import(`better-sqlite3`))).default(this.config.database);this.rawClient=t,this.client=e(t)}async disconnect(){if(this.connected){if(this.rawClient)switch(this.config.driver){case`postgres`:await this.rawClient.end?.();break;case`mysql`:case`mysql2`:await this.rawClient.end?.();break;case`better-sqlite3`:case`sqlite`:this.rawClient.close?.();break}this.connected=!1,this.client=null,this.rawClient=null}}async query(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:{let[e]=await n.execute(r);i=e;break}case`better-sqlite3`:case`sqlite`:i=n.prepare(r).all();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return{rows:Array.isArray(i)?i:i.rows||[],rowCount:Array.isArray(i)?i.length:i.rowCount||0}}catch(t){throw Error(`Query failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async select(e,t=[]){return(await this.query(e,t)).rows}async insert(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:[i]=await n.execute(r);break;case`better-sqlite3`:case`sqlite`:i=n.prepare(r).run();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return i.insertId||i.lastInsertRowid||i.rows?.[0]?.id}catch(t){throw Error(`Insert failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async update(e,t=[]){return(await this.query(e,t)).rowCount}async delete(e,t=[]){return(await this.query(e,t)).rowCount}async beginTransaction(){if(this.ensureConnected(),this.inTransaction)throw Error(`Transaction already in progress`);this.inTransaction=!0,await this.query(`BEGIN`)}async commit(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`COMMIT`),this.inTransaction=!1,this.transactionClient=null}async rollback(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`ROLLBACK`),this.inTransaction=!1,this.transactionClient=null}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}isConnected(){return this.connected}getDriver(){return this.client}async getTableInfo(e){switch(this.ensureConnected(),this.config.driver){case`postgres`:return this.getPostgresTableInfo(e);case`mysql`:case`mysql2`:return this.getMySQLTableInfo(e);case`better-sqlite3`:case`sqlite`:return this.getSQLiteTableInfo(e);default:throw Error(`Table info not supported for this driver`)}}async getPostgresTableInfo(e){return this.select(`
|
|
1
|
+
var e=class{config;client;rawClient;connected=!1;inTransaction=!1;transactionClient;constructor(e){this.config=e}async connect(){if(!this.connected)try{switch(this.config.driver){case`postgres`:await this.connectPostgres();break;case`mysql`:case`mysql2`:await this.connectMySQL();break;case`better-sqlite3`:case`sqlite`:await this.connectSQLite();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}this.connected=!0}catch(e){throw Error(`Failed to connect to database: ${e?.message||e}`,{cause:e})}}async connectPostgres(){let{drizzle:e}=await import(`drizzle-orm/postgres-js`),t=(await import(`postgres`)).default({host:this.config.host,port:this.config.port,database:this.config.database,username:this.config.username,password:this.config.password,max:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectMySQL(){let{drizzle:e}=await import(`drizzle-orm/mysql2`),t=await(await import(`mysql2/promise`)).createPool({host:this.config.host,port:this.config.port,database:this.config.database,user:this.config.username,password:this.config.password,connectionLimit:this.config.poolMax||10});this.rawClient=t,this.client=e(t)}async connectSQLite(){let{drizzle:e}=await import(`drizzle-orm/better-sqlite3`),t=new(await(import(`better-sqlite3`))).default(this.config.database);this.rawClient=t,this.client=e(t)}async disconnect(){if(this.connected){if(this.rawClient)switch(this.config.driver){case`postgres`:await this.rawClient.end?.();break;case`mysql`:case`mysql2`:await this.rawClient.end?.();break;case`better-sqlite3`:case`sqlite`:this.rawClient.close?.();break}this.connected=!1,this.client=null,this.rawClient=null}}async query(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:{let[e]=await n.execute(r);i=e;break}case`better-sqlite3`:case`sqlite`:i=n.prepare(r).all();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return{rows:Array.isArray(i)?i:i.rows||[],rowCount:Array.isArray(i)?i.length:i.rowCount||0}}catch(t){throw Error(`Query failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async select(e,t=[]){return(await this.query(e,t)).rows}async insert(e,t=[]){this.ensureConnected();try{let n=this.inTransaction?this.transactionClient:this.rawClient,r=this.bindParameters(e,t),i;switch(this.config.driver){case`postgres`:i=await n.unsafe(r);break;case`mysql`:case`mysql2`:[i]=await n.execute(r);break;case`better-sqlite3`:case`sqlite`:i=n.prepare(r).run();break;default:throw Error(`Unsupported database driver: ${this.config.driver}`)}return i.insertId||i.lastInsertRowid||i.rows?.[0]?.id}catch(t){throw Error(`Insert failed: ${t?.message||t}\nSQL: ${e}`,{cause:t})}}async update(e,t=[]){return(await this.query(e,t)).rowCount}async delete(e,t=[]){return(await this.query(e,t)).rowCount}async beginTransaction(){if(this.ensureConnected(),this.inTransaction)throw Error(`Transaction already in progress`);this.inTransaction=!0,await this.query(`BEGIN`)}async commit(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`COMMIT`),this.inTransaction=!1,this.transactionClient=null}async rollback(){if(!this.inTransaction)throw Error(`No transaction in progress`);await this.query(`ROLLBACK`),this.inTransaction=!1,this.transactionClient=null}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}isConnected(){return this.connected}getDriver(){return this.client}async getTableInfo(e){switch(this.ensureConnected(),this.config.driver){case`postgres`:return this.getPostgresTableInfo(e);case`mysql`:case`mysql2`:return this.getMySQLTableInfo(e);case`better-sqlite3`:case`sqlite`:return this.getSQLiteTableInfo(e);default:throw Error(`Table info not supported for this driver`)}}async getPostgresTableInfo(e){return this.select(`
|
|
2
2
|
SELECT column_name, data_type, is_nullable, column_default
|
|
3
3
|
FROM information_schema.columns
|
|
4
4
|
WHERE table_name = ?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrizzleAdapter.mjs","names":[],"sources":["../../../src/Database/Adapters/DrizzleAdapter.ts"],"sourcesContent":["/**\n * DrizzleAdapter\n *\n * Database adapter implementation using Drizzle ORM\n */\n\nimport { DatabaseAdapter, DatabaseConfig, QueryResult } from '@/Database/Contracts/DatabaseAdapter';\n\nexport class DrizzleAdapter implements DatabaseAdapter {\n protected client: any;\n protected rawClient: any;\n protected connected: boolean = false;\n protected inTransaction: boolean = false;\n protected transactionClient: any;\n\n constructor(protected config: DatabaseConfig) {}\n\n /**\n * Connect to the database\n */\n async connect(): Promise<void> {\n if (this.connected) {\n return;\n }\n\n try {\n // Dynamically import the appropriate Drizzle driver\n switch (this.config.driver) {\n case 'postgres':\n await this.connectPostgres();\n break;\n case 'mysql':\n case 'mysql2':\n await this.connectMySQL();\n break;\n case 'better-sqlite3':\n case 'sqlite':\n await this.connectSQLite();\n break;\n default:\n throw new Error(`Unsupported database driver: ${this.config.driver}`);\n }\n\n this.connected = true;\n } catch (error: any) {\n throw new Error(`Failed to connect to database: ${error?.message || error}`, { cause: error });\n }\n }\n\n /**\n * Connect to PostgreSQL\n */\n protected async connectPostgres(): Promise<void> {\n const { drizzle } = await import('drizzle-orm/postgres-js');\n const postgres = await import('postgres');\n\n const rawClient = postgres.default({\n host: this.config.host,\n port: this.config.port,\n database: this.config.database,\n username: this.config.username,\n password: this.config.password,\n max: this.config.poolMax || 10,\n });\n\n this.rawClient = rawClient;\n this.client = drizzle(rawClient);\n }\n\n /**\n * Connect to MySQL\n */\n protected async connectMySQL(): Promise<void> {\n const { drizzle } = await import('drizzle-orm/mysql2');\n const mysql = await import('mysql2/promise');\n\n const rawClient = await mysql.createPool({\n host: this.config.host,\n port: this.config.port,\n database: this.config.database,\n user: this.config.username,\n password: this.config.password,\n connectionLimit: this.config.poolMax || 10,\n });\n\n this.rawClient = rawClient;\n this.client = drizzle(rawClient);\n }\n\n /**\n * Connect to SQLite\n */\n protected async connectSQLite(): Promise<void> {\n const { drizzle } = await import('drizzle-orm/better-sqlite3');\n const Database = await import('better-sqlite3');\n\n const rawClient = new Database.default(this.config.database);\n this.rawClient = rawClient;\n this.client = drizzle(rawClient);\n }\n\n /**\n * Disconnect from the database\n */\n async disconnect(): Promise<void> {\n if (!this.connected) {\n return;\n }\n\n // Close the raw client connection if possible\n if (this.rawClient) {\n switch (this.config.driver) {\n case 'postgres':\n await this.rawClient.end?.();\n break;\n case 'mysql':\n case 'mysql2':\n await this.rawClient.end?.();\n break;\n case 'better-sqlite3':\n case 'sqlite':\n this.rawClient.close?.();\n break;\n }\n }\n\n this.connected = false;\n this.client = null;\n this.rawClient = null;\n }\n\n /**\n * Execute a raw SQL query\n */\n async query<T = any>(sql: string, bindings: any[] = []): Promise<QueryResult<T>> {\n this.ensureConnected();\n\n try {\n const client = this.inTransaction ? this.transactionClient : this.rawClient;\n const boundSql = this.bindParameters(sql, bindings);\n\n let result: any;\n\n // Execute based on driver type\n switch (this.config.driver) {\n case 'postgres':\n result = await client.unsafe(boundSql);\n break;\n case 'mysql':\n case 'mysql2': {\n const [rows] = await client.execute(boundSql);\n result = rows;\n break;\n }\n case 'better-sqlite3':\n case 'sqlite':\n result = client.prepare(boundSql).all();\n break;\n default:\n throw new Error(`Unsupported database driver: ${this.config.driver}`);\n }\n\n return {\n rows: Array.isArray(result) ? result : result.rows || [],\n rowCount: Array.isArray(result) ? result.length : result.rowCount || 0,\n };\n } catch (error: any) {\n throw new Error(`Query failed: ${error?.message || error}\\nSQL: ${sql}`, { cause: error });\n }\n }\n\n /**\n * Execute a SELECT query\n */\n async select<T = any>(sql: string, bindings: any[] = []): Promise<T[]> {\n const result = await this.query<T>(sql, bindings);\n return result.rows;\n }\n\n /**\n * Execute an INSERT query\n */\n async insert(sql: string, bindings: any[] = []): Promise<any> {\n this.ensureConnected();\n\n try {\n const client = this.inTransaction ? this.transactionClient : this.rawClient;\n const boundSql = this.bindParameters(sql, bindings);\n\n let result: any;\n\n // Execute based on driver type\n switch (this.config.driver) {\n case 'postgres':\n result = await client.unsafe(boundSql);\n break;\n case 'mysql':\n case 'mysql2':\n [result] = await client.execute(boundSql);\n break;\n case 'better-sqlite3':\n case 'sqlite':\n result = client.prepare(boundSql).run();\n break;\n default:\n throw new Error(`Unsupported database driver: ${this.config.driver}`);\n }\n\n // Return the inserted ID\n return result.insertId || result.lastInsertRowid || result.rows?.[0]?.id;\n } catch (error: any) {\n throw new Error(`Insert failed: ${error?.message || error}\\nSQL: ${sql}`, { cause: error });\n }\n }\n\n /**\n * Execute an UPDATE query\n */\n async update(sql: string, bindings: any[] = []): Promise<number> {\n const result = await this.query(sql, bindings);\n return result.rowCount;\n }\n\n /**\n * Execute a DELETE query\n */\n async delete(sql: string, bindings: any[] = []): Promise<number> {\n const result = await this.query(sql, bindings);\n return result.rowCount;\n }\n\n /**\n * Begin a transaction\n */\n async beginTransaction(): Promise<void> {\n this.ensureConnected();\n\n if (this.inTransaction) {\n throw new Error('Transaction already in progress');\n }\n\n this.inTransaction = true;\n\n // For now, we'll use simple BEGIN/COMMIT/ROLLBACK\n // In a more sophisticated implementation, we'd use Drizzle's transaction API\n await this.query('BEGIN');\n }\n\n /**\n * Commit a transaction\n */\n async commit(): Promise<void> {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n\n await this.query('COMMIT');\n this.inTransaction = false;\n this.transactionClient = null;\n }\n\n /**\n * Rollback a transaction\n */\n async rollback(): Promise<void> {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n\n await this.query('ROLLBACK');\n this.inTransaction = false;\n this.transactionClient = null;\n }\n\n /**\n * Execute a callback within a transaction\n */\n async transaction<T>(callback: (adapter: DatabaseAdapter) => Promise<T>): Promise<T> {\n await this.beginTransaction();\n\n try {\n const result = await callback(this);\n await this.commit();\n return result;\n } catch (error) {\n await this.rollback();\n throw error;\n }\n }\n\n /**\n * Check if adapter is connected\n */\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Get the underlying driver instance\n */\n getDriver(): any {\n return this.client;\n }\n\n /**\n * Get table information\n */\n async getTableInfo(tableName: string): Promise<any> {\n this.ensureConnected();\n\n // Implementation varies by driver\n switch (this.config.driver) {\n case 'postgres':\n return this.getPostgresTableInfo(tableName);\n case 'mysql':\n case 'mysql2':\n return this.getMySQLTableInfo(tableName);\n case 'better-sqlite3':\n case 'sqlite':\n return this.getSQLiteTableInfo(tableName);\n default:\n throw new Error('Table info not supported for this driver');\n }\n }\n\n /**\n * Get PostgreSQL table info\n */\n protected async getPostgresTableInfo(tableName: string): Promise<any> {\n const sql = `\n SELECT column_name, data_type, is_nullable, column_default\n FROM information_schema.columns\n WHERE table_name = ?\n ORDER BY ordinal_position\n `;\n return this.select(sql, [tableName]);\n }\n\n /**\n * Get MySQL table info\n */\n protected async getMySQLTableInfo(tableName: string): Promise<any> {\n const sql = `DESCRIBE ${tableName}`;\n return this.select(sql);\n }\n\n /**\n * Get SQLite table info\n */\n protected async getSQLiteTableInfo(tableName: string): Promise<any> {\n const sql = `PRAGMA table_info(${tableName})`;\n return this.select(sql);\n }\n\n /**\n * Get all table names\n */\n async getTables(): Promise<string[]> {\n this.ensureConnected();\n\n switch (this.config.driver) {\n case 'postgres':\n return this.getPostgresTables();\n case 'mysql':\n case 'mysql2':\n return this.getMySQLTables();\n case 'better-sqlite3':\n case 'sqlite':\n return this.getSQLiteTables();\n default:\n throw new Error('Get tables not supported for this driver');\n }\n }\n\n /**\n * Get PostgreSQL tables\n */\n protected async getPostgresTables(): Promise<string[]> {\n const sql = `\n SELECT table_name\n FROM information_schema.tables\n WHERE table_schema = 'public'\n AND table_type = 'BASE TABLE'\n `;\n const result = await this.select<any>(sql);\n return result.map((row) => row.table_name);\n }\n\n /**\n * Get MySQL tables\n */\n protected async getMySQLTables(): Promise<string[]> {\n const sql = 'SHOW TABLES';\n const result = await this.select<any>(sql);\n return result.map((row) => Object.values(row)[0] as string);\n }\n\n /**\n * Get SQLite tables\n */\n protected async getSQLiteTables(): Promise<string[]> {\n const sql = `\n SELECT name\n FROM sqlite_master\n WHERE type = 'table'\n AND name NOT LIKE 'sqlite_%'\n `;\n const result = await this.select<any>(sql);\n return result.map((row) => row.name);\n }\n\n /**\n * Bind parameters to SQL query\n */\n protected bindParameters(sql: string, bindings: any[] = []): string {\n if (bindings.length === 0) {\n return sql;\n }\n\n // Replace ? placeholders with actual values\n // Note: This is a simple implementation. In production, use parameterized queries\n let index = 0;\n return sql.replace(/\\?/g, () => {\n const value = bindings[index++];\n\n if (value === null || value === undefined) {\n return 'NULL';\n }\n\n if (typeof value === 'string') {\n return `'${value.replace(/'/g, \"''\")}'`;\n }\n\n if (typeof value === 'boolean') {\n return value ? '1' : '0';\n }\n\n if (value instanceof Date) {\n return `'${value.toISOString()}'`;\n }\n\n return String(value);\n });\n }\n\n /**\n * Ensure the adapter is connected\n */\n protected ensureConnected(): void {\n if (!this.connected) {\n throw new Error('Database not connected. Call connect() first.');\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DrizzleAdapter.mjs","names":[],"sources":["../../../src/Database/Adapters/DrizzleAdapter.ts"],"sourcesContent":["/**\n * DrizzleAdapter\n *\n * Database adapter implementation using Drizzle ORM\n */\n\nimport { DatabaseAdapter, DatabaseConfig, QueryResult } from '@/Database/Contracts/DatabaseAdapter';\n\nexport class DrizzleAdapter implements DatabaseAdapter {\n protected client: any;\n protected rawClient: any;\n protected connected: boolean = false;\n protected inTransaction: boolean = false;\n protected transactionClient: any;\n\n constructor(protected config: DatabaseConfig) {}\n\n /**\n * Connect to the database\n */\n async connect(): Promise<void> {\n if (this.connected) {\n return;\n }\n\n try {\n // Dynamically import the appropriate Drizzle driver\n switch (this.config.driver) {\n case 'postgres':\n await this.connectPostgres();\n break;\n case 'mysql':\n case 'mysql2':\n await this.connectMySQL();\n break;\n case 'better-sqlite3':\n case 'sqlite':\n await this.connectSQLite();\n break;\n default:\n throw new Error(`Unsupported database driver: ${this.config.driver}`);\n }\n\n this.connected = true;\n } catch (error: any) {\n throw new Error(`Failed to connect to database: ${error?.message || error}`, { cause: error });\n }\n }\n\n /**\n * Connect to PostgreSQL\n */\n protected async connectPostgres(): Promise<void> {\n const { drizzle } = await import('drizzle-orm/postgres-js');\n const postgres = await import('postgres');\n\n const rawClient = postgres.default({\n host: this.config.host,\n port: this.config.port,\n database: this.config.database,\n username: this.config.username,\n password: this.config.password,\n max: this.config.poolMax || 10,\n });\n\n this.rawClient = rawClient;\n this.client = drizzle(rawClient);\n }\n\n /**\n * Connect to MySQL\n */\n protected async connectMySQL(): Promise<void> {\n const { drizzle } = await import('drizzle-orm/mysql2');\n const mysql = await import('mysql2/promise');\n\n const rawClient = await mysql.createPool({\n host: this.config.host,\n port: this.config.port,\n database: this.config.database,\n user: this.config.username,\n password: this.config.password,\n connectionLimit: this.config.poolMax || 10,\n });\n\n this.rawClient = rawClient;\n this.client = drizzle(rawClient);\n }\n\n /**\n * Connect to SQLite\n */\n protected async connectSQLite(): Promise<void> {\n const { drizzle } = await import('drizzle-orm/better-sqlite3');\n const Database = await import('better-sqlite3');\n\n const rawClient = new Database.default(this.config.database);\n this.rawClient = rawClient;\n this.client = drizzle(rawClient);\n }\n\n /**\n * Disconnect from the database\n */\n async disconnect(): Promise<void> {\n if (!this.connected) {\n return;\n }\n\n // Close the raw client connection if possible\n if (this.rawClient) {\n switch (this.config.driver) {\n case 'postgres':\n await this.rawClient.end?.();\n break;\n case 'mysql':\n case 'mysql2':\n await this.rawClient.end?.();\n break;\n case 'better-sqlite3':\n case 'sqlite':\n this.rawClient.close?.();\n break;\n }\n }\n\n this.connected = false;\n this.client = null;\n this.rawClient = null;\n }\n\n /**\n * Execute a raw SQL query\n */\n async query<T = any>(sql: string, bindings: any[] = []): Promise<QueryResult<T>> {\n this.ensureConnected();\n\n try {\n const client = this.inTransaction ? this.transactionClient : this.rawClient;\n const boundSql = this.bindParameters(sql, bindings);\n\n let result: any;\n\n // Execute based on driver type\n switch (this.config.driver) {\n case 'postgres':\n result = await client.unsafe(boundSql);\n break;\n case 'mysql':\n case 'mysql2': {\n const [rows] = await client.execute(boundSql);\n result = rows;\n break;\n }\n case 'better-sqlite3':\n case 'sqlite':\n result = client.prepare(boundSql).all();\n break;\n default:\n throw new Error(`Unsupported database driver: ${this.config.driver}`);\n }\n\n return {\n rows: Array.isArray(result) ? result : result.rows || [],\n rowCount: Array.isArray(result) ? result.length : result.rowCount || 0,\n };\n } catch (error: any) {\n throw new Error(`Query failed: ${error?.message || error}\\nSQL: ${sql}`, { cause: error });\n }\n }\n\n /**\n * Execute a SELECT query\n */\n async select<T = any>(sql: string, bindings: any[] = []): Promise<T[]> {\n const result = await this.query<T>(sql, bindings);\n return result.rows;\n }\n\n /**\n * Execute an INSERT query\n */\n async insert(sql: string, bindings: any[] = []): Promise<any> {\n this.ensureConnected();\n\n try {\n const client = this.inTransaction ? this.transactionClient : this.rawClient;\n const boundSql = this.bindParameters(sql, bindings);\n\n let result: any;\n\n // Execute based on driver type\n switch (this.config.driver) {\n case 'postgres':\n result = await client.unsafe(boundSql);\n break;\n case 'mysql':\n case 'mysql2':\n [result] = await client.execute(boundSql);\n break;\n case 'better-sqlite3':\n case 'sqlite':\n result = client.prepare(boundSql).run();\n break;\n default:\n throw new Error(`Unsupported database driver: ${this.config.driver}`);\n }\n\n // Return the inserted ID\n return result.insertId || result.lastInsertRowid || result.rows?.[0]?.id;\n } catch (error: any) {\n throw new Error(`Insert failed: ${error?.message || error}\\nSQL: ${sql}`, { cause: error });\n }\n }\n\n /**\n * Execute an UPDATE query\n */\n async update(sql: string, bindings: any[] = []): Promise<number> {\n const result = await this.query(sql, bindings);\n return result.rowCount;\n }\n\n /**\n * Execute a DELETE query\n */\n async delete(sql: string, bindings: any[] = []): Promise<number> {\n const result = await this.query(sql, bindings);\n return result.rowCount;\n }\n\n /**\n * Begin a transaction\n */\n async beginTransaction(): Promise<void> {\n this.ensureConnected();\n\n if (this.inTransaction) {\n throw new Error('Transaction already in progress');\n }\n\n this.inTransaction = true;\n\n // For now, we'll use simple BEGIN/COMMIT/ROLLBACK\n // In a more sophisticated implementation, we'd use Drizzle's transaction API\n await this.query('BEGIN');\n }\n\n /**\n * Commit a transaction\n */\n async commit(): Promise<void> {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n\n await this.query('COMMIT');\n this.inTransaction = false;\n this.transactionClient = null;\n }\n\n /**\n * Rollback a transaction\n */\n async rollback(): Promise<void> {\n if (!this.inTransaction) {\n throw new Error('No transaction in progress');\n }\n\n await this.query('ROLLBACK');\n this.inTransaction = false;\n this.transactionClient = null;\n }\n\n /**\n * Execute a callback within a transaction\n */\n async transaction<T>(callback: (adapter: DatabaseAdapter) => Promise<T>): Promise<T> {\n await this.beginTransaction();\n\n try {\n const result = await callback(this);\n await this.commit();\n return result;\n } catch (error) {\n await this.rollback();\n throw error;\n }\n }\n\n /**\n * Check if adapter is connected\n */\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Get the underlying driver instance\n */\n getDriver(): any {\n return this.client;\n }\n\n /**\n * Get table information\n */\n async getTableInfo(tableName: string): Promise<any> {\n this.ensureConnected();\n\n // Implementation varies by driver\n switch (this.config.driver) {\n case 'postgres':\n return this.getPostgresTableInfo(tableName);\n case 'mysql':\n case 'mysql2':\n return this.getMySQLTableInfo(tableName);\n case 'better-sqlite3':\n case 'sqlite':\n return this.getSQLiteTableInfo(tableName);\n default:\n throw new Error('Table info not supported for this driver');\n }\n }\n\n /**\n * Get PostgreSQL table info\n */\n protected async getPostgresTableInfo(tableName: string): Promise<any> {\n const sql = `\n SELECT column_name, data_type, is_nullable, column_default\n FROM information_schema.columns\n WHERE table_name = ?\n ORDER BY ordinal_position\n `;\n return this.select(sql, [tableName]);\n }\n\n /**\n * Get MySQL table info\n */\n protected async getMySQLTableInfo(tableName: string): Promise<any> {\n const sql = `DESCRIBE ${tableName}`;\n return this.select(sql);\n }\n\n /**\n * Get SQLite table info\n */\n protected async getSQLiteTableInfo(tableName: string): Promise<any> {\n const sql = `PRAGMA table_info(${tableName})`;\n return this.select(sql);\n }\n\n /**\n * Get all table names\n */\n async getTables(): Promise<string[]> {\n this.ensureConnected();\n\n switch (this.config.driver) {\n case 'postgres':\n return this.getPostgresTables();\n case 'mysql':\n case 'mysql2':\n return this.getMySQLTables();\n case 'better-sqlite3':\n case 'sqlite':\n return this.getSQLiteTables();\n default:\n throw new Error('Get tables not supported for this driver');\n }\n }\n\n /**\n * Get PostgreSQL tables\n */\n protected async getPostgresTables(): Promise<string[]> {\n const sql = `\n SELECT table_name\n FROM information_schema.tables\n WHERE table_schema = 'public'\n AND table_type = 'BASE TABLE'\n `;\n const result = await this.select<any>(sql);\n return result.map((row) => row.table_name);\n }\n\n /**\n * Get MySQL tables\n */\n protected async getMySQLTables(): Promise<string[]> {\n const sql = 'SHOW TABLES';\n const result = await this.select<any>(sql);\n return result.map((row) => Object.values(row)[0] as string);\n }\n\n /**\n * Get SQLite tables\n */\n protected async getSQLiteTables(): Promise<string[]> {\n const sql = `\n SELECT name\n FROM sqlite_master\n WHERE type = 'table'\n AND name NOT LIKE 'sqlite_%'\n `;\n const result = await this.select<any>(sql);\n return result.map((row) => row.name);\n }\n\n /**\n * Bind parameters to SQL query\n */\n protected bindParameters(sql: string, bindings: any[] = []): string {\n if (bindings.length === 0) {\n return sql;\n }\n\n // Replace ? placeholders with actual values\n // Note: This is a simple implementation. In production, use parameterized queries\n let index = 0;\n return sql.replace(/\\?/g, () => {\n const value = bindings[index++];\n\n if (value === null || value === undefined) {\n return 'NULL';\n }\n\n if (typeof value === 'string') {\n return `'${value.replace(/'/g, \"''\")}'`;\n }\n\n if (typeof value === 'boolean') {\n return value ? '1' : '0';\n }\n\n if (value instanceof Date) {\n return `'${value.toISOString()}'`;\n }\n\n return String(value);\n });\n }\n\n /**\n * Ensure the adapter is connected\n */\n protected ensureConnected(): void {\n if (!this.connected) {\n throw new Error('Database not connected. Call connect() first.');\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`./Query/Builder.cjs`);var t=class{queryLog=[];loggingEnabled=!1;constructor(e,t){this.adapter=e,this.config=t}table(t){return new e.Builder(this.adapter).from(t)}async query(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.query(e,t))}async select(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.select(e,t))}async insert(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.insert(e,t))}async update(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.update(e,t))}async delete(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.delete(e,t))}async beginTransaction(){await this.adapter.beginTransaction()}async commit(){await this.adapter.commit()}async rollback(){await this.adapter.rollback()}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}async connect(){await this.adapter.connect()}async disconnect(){await this.adapter.disconnect()}isConnected(){return this.adapter.isConnected()}async getTables(){return this.adapter.getTables()}getAdapter(){return this.adapter}getConfig(){return this.config}enableQueryLog(){this.loggingEnabled=!0}disableQueryLog(){this.loggingEnabled=!1}getQueryLog(){return this.queryLog}flushQueryLog(){this.queryLog=[]}async runQueryWithLogging(e,t,n){if(!this.loggingEnabled)return n();let r=Date.now();try{let i=await n(),a=Date.now()-r;return this.queryLog.push({query:e,bindings:t,time:a}),i}catch(n){let i=Date.now()-r;throw this.queryLog.push({query:e,bindings:t,time:i}),n}}};exports.Connection=t;
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`./Query/Builder.cjs`);var t=class{adapter;config;queryLog=[];loggingEnabled=!1;constructor(e,t){this.adapter=e,this.config=t}table(t){return new e.Builder(this.adapter).from(t)}async query(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.query(e,t))}async select(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.select(e,t))}async insert(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.insert(e,t))}async update(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.update(e,t))}async delete(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.delete(e,t))}async beginTransaction(){await this.adapter.beginTransaction()}async commit(){await this.adapter.commit()}async rollback(){await this.adapter.rollback()}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}async connect(){await this.adapter.connect()}async disconnect(){await this.adapter.disconnect()}isConnected(){return this.adapter.isConnected()}async getTables(){return this.adapter.getTables()}getAdapter(){return this.adapter}getConfig(){return this.config}enableQueryLog(){this.loggingEnabled=!0}disableQueryLog(){this.loggingEnabled=!1}getQueryLog(){return this.queryLog}flushQueryLog(){this.queryLog=[]}async runQueryWithLogging(e,t,n){if(!this.loggingEnabled)return n();let r=Date.now();try{let i=await n(),a=Date.now()-r;return this.queryLog.push({query:e,bindings:t,time:a}),i}catch(n){let i=Date.now()-r;throw this.queryLog.push({query:e,bindings:t,time:i}),n}}};exports.Connection=t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Builder as e}from"./Query/Builder.mjs";var t=class{queryLog=[];loggingEnabled=!1;constructor(e,t){this.adapter=e,this.config=t}table(t){return new e(this.adapter).from(t)}async query(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.query(e,t))}async select(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.select(e,t))}async insert(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.insert(e,t))}async update(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.update(e,t))}async delete(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.delete(e,t))}async beginTransaction(){await this.adapter.beginTransaction()}async commit(){await this.adapter.commit()}async rollback(){await this.adapter.rollback()}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}async connect(){await this.adapter.connect()}async disconnect(){await this.adapter.disconnect()}isConnected(){return this.adapter.isConnected()}async getTables(){return this.adapter.getTables()}getAdapter(){return this.adapter}getConfig(){return this.config}enableQueryLog(){this.loggingEnabled=!0}disableQueryLog(){this.loggingEnabled=!1}getQueryLog(){return this.queryLog}flushQueryLog(){this.queryLog=[]}async runQueryWithLogging(e,t,n){if(!this.loggingEnabled)return n();let r=Date.now();try{let i=await n(),a=Date.now()-r;return this.queryLog.push({query:e,bindings:t,time:a}),i}catch(n){let i=Date.now()-r;throw this.queryLog.push({query:e,bindings:t,time:i}),n}}};export{t as Connection};
|
|
1
|
+
import{Builder as e}from"./Query/Builder.mjs";var t=class{adapter;config;queryLog=[];loggingEnabled=!1;constructor(e,t){this.adapter=e,this.config=t}table(t){return new e(this.adapter).from(t)}async query(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.query(e,t))}async select(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.select(e,t))}async insert(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.insert(e,t))}async update(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.update(e,t))}async delete(e,t=[]){return this.runQueryWithLogging(e,t,()=>this.adapter.delete(e,t))}async beginTransaction(){await this.adapter.beginTransaction()}async commit(){await this.adapter.commit()}async rollback(){await this.adapter.rollback()}async transaction(e){await this.beginTransaction();try{let t=await e(this);return await this.commit(),t}catch(e){throw await this.rollback(),e}}async connect(){await this.adapter.connect()}async disconnect(){await this.adapter.disconnect()}isConnected(){return this.adapter.isConnected()}async getTables(){return this.adapter.getTables()}getAdapter(){return this.adapter}getConfig(){return this.config}enableQueryLog(){this.loggingEnabled=!0}disableQueryLog(){this.loggingEnabled=!1}getQueryLog(){return this.queryLog}flushQueryLog(){this.queryLog=[]}async runQueryWithLogging(e,t,n){if(!this.loggingEnabled)return n();let r=Date.now();try{let i=await n(),a=Date.now()-r;return this.queryLog.push({query:e,bindings:t,time:a}),i}catch(n){let i=Date.now()-r;throw this.queryLog.push({query:e,bindings:t,time:i}),n}}};export{t as Connection};
|
|
2
2
|
//# sourceMappingURL=Connection.mjs.map
|