@alpha.consultings/eloquent-orm.js 1.0.1
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 +73 -0
- package/README.md +215 -0
- package/dist/Model.d.ts +2 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +7 -0
- package/dist/Model.js.map +1 -0
- package/dist/cli/commands/cacheClear.d.ts +2 -0
- package/dist/cli/commands/cacheClear.d.ts.map +1 -0
- package/dist/cli/commands/cacheClear.js +69 -0
- package/dist/cli/commands/cacheClear.js.map +1 -0
- package/dist/cli/commands/cacheStats.d.ts +2 -0
- package/dist/cli/commands/cacheStats.d.ts.map +1 -0
- package/dist/cli/commands/cacheStats.js +55 -0
- package/dist/cli/commands/cacheStats.js.map +1 -0
- package/dist/cli/commands/dbSeed.d.ts +16 -0
- package/dist/cli/commands/dbSeed.d.ts.map +1 -0
- package/dist/cli/commands/dbSeed.js +201 -0
- package/dist/cli/commands/dbSeed.js.map +1 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.d.ts +3 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.d.ts.map +1 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.js +8 -0
- package/dist/cli/commands/dbSeedBootstrapPrecheck.js.map +1 -0
- package/dist/cli/commands/dbSeedFresh.d.ts +14 -0
- package/dist/cli/commands/dbSeedFresh.d.ts.map +1 -0
- package/dist/cli/commands/dbSeedFresh.js +81 -0
- package/dist/cli/commands/dbSeedFresh.js.map +1 -0
- package/dist/cli/commands/demoScenario.d.ts +9 -0
- package/dist/cli/commands/demoScenario.d.ts.map +1 -0
- package/dist/cli/commands/demoScenario.js +185 -0
- package/dist/cli/commands/demoScenario.js.map +1 -0
- package/dist/cli/commands/factoryStatus.d.ts +9 -0
- package/dist/cli/commands/factoryStatus.d.ts.map +1 -0
- package/dist/cli/commands/factoryStatus.js +103 -0
- package/dist/cli/commands/factoryStatus.js.map +1 -0
- package/dist/cli/commands/makeController.d.ts +11 -0
- package/dist/cli/commands/makeController.d.ts.map +1 -0
- package/dist/cli/commands/makeController.js +61 -0
- package/dist/cli/commands/makeController.js.map +1 -0
- package/dist/cli/commands/makeFactory.d.ts +14 -0
- package/dist/cli/commands/makeFactory.d.ts.map +1 -0
- package/dist/cli/commands/makeFactory.js +183 -0
- package/dist/cli/commands/makeFactory.js.map +1 -0
- package/dist/cli/commands/makeMigration.d.ts +18 -0
- package/dist/cli/commands/makeMigration.d.ts.map +1 -0
- package/dist/cli/commands/makeMigration.js +496 -0
- package/dist/cli/commands/makeMigration.js.map +1 -0
- package/dist/cli/commands/makeModel.d.ts +20 -0
- package/dist/cli/commands/makeModel.d.ts.map +1 -0
- package/dist/cli/commands/makeModel.js +360 -0
- package/dist/cli/commands/makeModel.js.map +1 -0
- package/dist/cli/commands/makeRegistry.d.ts +7 -0
- package/dist/cli/commands/makeRegistry.d.ts.map +1 -0
- package/dist/cli/commands/makeRegistry.js +88 -0
- package/dist/cli/commands/makeRegistry.js.map +1 -0
- package/dist/cli/commands/makeScenario.d.ts +12 -0
- package/dist/cli/commands/makeScenario.d.ts.map +1 -0
- package/dist/cli/commands/makeScenario.js +639 -0
- package/dist/cli/commands/makeScenario.js.map +1 -0
- package/dist/cli/commands/makeSeed.d.ts +11 -0
- package/dist/cli/commands/makeSeed.d.ts.map +1 -0
- package/dist/cli/commands/makeSeed.js +47 -0
- package/dist/cli/commands/makeSeed.js.map +1 -0
- package/dist/cli/commands/makeService.d.ts +5 -0
- package/dist/cli/commands/makeService.d.ts.map +1 -0
- package/dist/cli/commands/makeService.js +31 -0
- package/dist/cli/commands/makeService.js.map +1 -0
- package/dist/cli/commands/migrateFresh.d.ts +14 -0
- package/dist/cli/commands/migrateFresh.d.ts.map +1 -0
- package/dist/cli/commands/migrateFresh.js +150 -0
- package/dist/cli/commands/migrateFresh.js.map +1 -0
- package/dist/cli/commands/migrateReset.d.ts +12 -0
- package/dist/cli/commands/migrateReset.d.ts.map +1 -0
- package/dist/cli/commands/migrateReset.js +28 -0
- package/dist/cli/commands/migrateReset.js.map +1 -0
- package/dist/cli/commands/migrateRollback.d.ts +10 -0
- package/dist/cli/commands/migrateRollback.d.ts.map +1 -0
- package/dist/cli/commands/migrateRollback.js +303 -0
- package/dist/cli/commands/migrateRollback.js.map +1 -0
- package/dist/cli/commands/migrateRun.d.ts +10 -0
- package/dist/cli/commands/migrateRun.d.ts.map +1 -0
- package/dist/cli/commands/migrateRun.js +301 -0
- package/dist/cli/commands/migrateRun.js.map +1 -0
- package/dist/cli/commands/migrateStatus.d.ts +8 -0
- package/dist/cli/commands/migrateStatus.d.ts.map +1 -0
- package/dist/cli/commands/migrateStatus.js +118 -0
- package/dist/cli/commands/migrateStatus.js.map +1 -0
- package/dist/cli/eloquent.d.ts +18 -0
- package/dist/cli/eloquent.d.ts.map +1 -0
- package/dist/cli/eloquent.js +187 -0
- package/dist/cli/eloquent.js.map +1 -0
- package/dist/cli/utils/ArtifactCompatibility.d.ts +10 -0
- package/dist/cli/utils/ArtifactCompatibility.d.ts.map +1 -0
- package/dist/cli/utils/ArtifactCompatibility.js +60 -0
- package/dist/cli/utils/ArtifactCompatibility.js.map +1 -0
- package/dist/cli/utils/ArtifactRoutingReport.d.ts +10 -0
- package/dist/cli/utils/ArtifactRoutingReport.d.ts.map +1 -0
- package/dist/cli/utils/ArtifactRoutingReport.js +25 -0
- package/dist/cli/utils/ArtifactRoutingReport.js.map +1 -0
- package/dist/cli/utils/ArtifactStorage.d.ts +10 -0
- package/dist/cli/utils/ArtifactStorage.d.ts.map +1 -0
- package/dist/cli/utils/ArtifactStorage.js +193 -0
- package/dist/cli/utils/ArtifactStorage.js.map +1 -0
- package/dist/cli/utils/AuditTrail.d.ts +25 -0
- package/dist/cli/utils/AuditTrail.d.ts.map +1 -0
- package/dist/cli/utils/AuditTrail.js +74 -0
- package/dist/cli/utils/AuditTrail.js.map +1 -0
- package/dist/cli/utils/CliActionRuntime.d.ts +5 -0
- package/dist/cli/utils/CliActionRuntime.d.ts.map +1 -0
- package/dist/cli/utils/CliActionRuntime.js +22 -0
- package/dist/cli/utils/CliActionRuntime.js.map +1 -0
- package/dist/cli/utils/CliBootstrapSupport.d.ts +13 -0
- package/dist/cli/utils/CliBootstrapSupport.d.ts.map +1 -0
- package/dist/cli/utils/CliBootstrapSupport.js +55 -0
- package/dist/cli/utils/CliBootstrapSupport.js.map +1 -0
- package/dist/cli/utils/CliCommandCatalog.d.ts +6 -0
- package/dist/cli/utils/CliCommandCatalog.d.ts.map +1 -0
- package/dist/cli/utils/CliCommandCatalog.js +78 -0
- package/dist/cli/utils/CliCommandCatalog.js.map +1 -0
- package/dist/cli/utils/CliCommandTargets.d.ts +8 -0
- package/dist/cli/utils/CliCommandTargets.d.ts.map +1 -0
- package/dist/cli/utils/CliCommandTargets.js +19 -0
- package/dist/cli/utils/CliCommandTargets.js.map +1 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.js +94 -0
- package/dist/cli/utils/CliMakeArtifactCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.js +195 -0
- package/dist/cli/utils/CliMigrationCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliPresentation.d.ts +2 -0
- package/dist/cli/utils/CliPresentation.d.ts.map +1 -0
- package/dist/cli/utils/CliPresentation.js +13 -0
- package/dist/cli/utils/CliPresentation.js.map +1 -0
- package/dist/cli/utils/CliProductionGuards.d.ts +11 -0
- package/dist/cli/utils/CliProductionGuards.d.ts.map +1 -0
- package/dist/cli/utils/CliProductionGuards.js +34 -0
- package/dist/cli/utils/CliProductionGuards.js.map +1 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.js +89 -0
- package/dist/cli/utils/CliScaffoldCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.js +123 -0
- package/dist/cli/utils/CliSeedScenarioCommandRegistration.js.map +1 -0
- package/dist/cli/utils/CliSupportCommandRegistration.d.ts +3 -0
- package/dist/cli/utils/CliSupportCommandRegistration.d.ts.map +1 -0
- package/dist/cli/utils/CliSupportCommandRegistration.js +44 -0
- package/dist/cli/utils/CliSupportCommandRegistration.js.map +1 -0
- package/dist/cli/utils/ConsoleSilencer.d.ts +6 -0
- package/dist/cli/utils/ConsoleSilencer.d.ts.map +1 -0
- package/dist/cli/utils/ConsoleSilencer.js +25 -0
- package/dist/cli/utils/ConsoleSilencer.js.map +1 -0
- package/dist/cli/utils/ImportResolver.d.ts +16 -0
- package/dist/cli/utils/ImportResolver.d.ts.map +1 -0
- package/dist/cli/utils/ImportResolver.js +57 -0
- package/dist/cli/utils/ImportResolver.js.map +1 -0
- package/dist/cli/utils/ModelIntrospector.d.ts +33 -0
- package/dist/cli/utils/ModelIntrospector.d.ts.map +1 -0
- package/dist/cli/utils/ModelIntrospector.js +76 -0
- package/dist/cli/utils/ModelIntrospector.js.map +1 -0
- package/dist/cli/utils/PathMap.d.ts +58 -0
- package/dist/cli/utils/PathMap.d.ts.map +1 -0
- package/dist/cli/utils/PathMap.js +132 -0
- package/dist/cli/utils/PathMap.js.map +1 -0
- package/dist/cli/utils/ProductionSafety.d.ts +25 -0
- package/dist/cli/utils/ProductionSafety.d.ts.map +1 -0
- package/dist/cli/utils/ProductionSafety.js +61 -0
- package/dist/cli/utils/ProductionSafety.js.map +1 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.d.ts +16 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.d.ts.map +1 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.js +66 -0
- package/dist/cli/utils/ScaffoldGeneratorSupport.js.map +1 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.d.ts +14 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.d.ts.map +1 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.js +62 -0
- package/dist/cli/utils/ScenarioMorphAliasRouting.js.map +1 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.d.ts +20 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.d.ts.map +1 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.js +133 -0
- package/dist/cli/utils/SeedBootstrapPrecheck.js.map +1 -0
- package/dist/cli/utils/StructuredLogger.d.ts +11 -0
- package/dist/cli/utils/StructuredLogger.d.ts.map +1 -0
- package/dist/cli/utils/StructuredLogger.js +53 -0
- package/dist/cli/utils/StructuredLogger.js.map +1 -0
- package/dist/cli/utils/TemplateEngine.d.ts +30 -0
- package/dist/cli/utils/TemplateEngine.d.ts.map +1 -0
- package/dist/cli/utils/TemplateEngine.js +165 -0
- package/dist/cli/utils/TemplateEngine.js.map +1 -0
- package/dist/cli/utils/factories/Factory.d.ts +61 -0
- package/dist/cli/utils/factories/Factory.d.ts.map +1 -0
- package/dist/cli/utils/factories/Factory.js +140 -0
- package/dist/cli/utils/factories/Factory.js.map +1 -0
- package/dist/cli/utils/factories/FactoryDisplay.d.ts +6 -0
- package/dist/cli/utils/factories/FactoryDisplay.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryDisplay.js +26 -0
- package/dist/cli/utils/factories/FactoryDisplay.js.map +1 -0
- package/dist/cli/utils/factories/FactoryGraph.d.ts +6 -0
- package/dist/cli/utils/factories/FactoryGraph.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryGraph.js +72 -0
- package/dist/cli/utils/factories/FactoryGraph.js.map +1 -0
- package/dist/cli/utils/factories/FactoryLoader.d.ts +16 -0
- package/dist/cli/utils/factories/FactoryLoader.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryLoader.js +35 -0
- package/dist/cli/utils/factories/FactoryLoader.js.map +1 -0
- package/dist/cli/utils/factories/FactoryRegistry.d.ts +16 -0
- package/dist/cli/utils/factories/FactoryRegistry.d.ts.map +1 -0
- package/dist/cli/utils/factories/FactoryRegistry.js +87 -0
- package/dist/cli/utils/factories/FactoryRegistry.js.map +1 -0
- package/dist/cli/utils/fileWriter.d.ts +7 -0
- package/dist/cli/utils/fileWriter.d.ts.map +1 -0
- package/dist/cli/utils/fileWriter.js +61 -0
- package/dist/cli/utils/fileWriter.js.map +1 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.d.ts +21 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.d.ts.map +1 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.js +129 -0
- package/dist/cli/utils/migrations/MigrationLockStrategy.js.map +1 -0
- package/dist/cli/utils/migrations/MigrationTracker.d.ts +25 -0
- package/dist/cli/utils/migrations/MigrationTracker.d.ts.map +1 -0
- package/dist/cli/utils/migrations/MigrationTracker.js +279 -0
- package/dist/cli/utils/migrations/MigrationTracker.js.map +1 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.d.ts +18 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.d.ts.map +1 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.js +276 -0
- package/dist/cli/utils/migrations/MongoMigrationTracker.js.map +1 -0
- package/dist/cli/utils/resolveConnectionFlags.d.ts +14 -0
- package/dist/cli/utils/resolveConnectionFlags.d.ts.map +1 -0
- package/dist/cli/utils/resolveConnectionFlags.js +42 -0
- package/dist/cli/utils/resolveConnectionFlags.js.map +1 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.d.ts +9 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.d.ts.map +1 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.js +23 -0
- package/dist/cli/utils/resolveSqlConnectionFlags.js.map +1 -0
- package/dist/cli/utils/typescript/BaseCommand.d.ts +15 -0
- package/dist/cli/utils/typescript/BaseCommand.d.ts.map +1 -0
- package/dist/cli/utils/typescript/BaseCommand.js +36 -0
- package/dist/cli/utils/typescript/BaseCommand.js.map +1 -0
- package/dist/cli/utils/typescript/RuntimeDetector.d.ts +16 -0
- package/dist/cli/utils/typescript/RuntimeDetector.d.ts.map +1 -0
- package/dist/cli/utils/typescript/RuntimeDetector.js +45 -0
- package/dist/cli/utils/typescript/RuntimeDetector.js.map +1 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.d.ts +25 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.d.ts.map +1 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.js +109 -0
- package/dist/cli/utils/typescript/TypeScriptCompiler.js.map +1 -0
- package/dist/cli/utils/typescript/tsRuntime.d.ts +12 -0
- package/dist/cli/utils/typescript/tsRuntime.d.ts.map +1 -0
- package/dist/cli/utils/typescript/tsRuntime.js +189 -0
- package/dist/cli/utils/typescript/tsRuntime.js.map +1 -0
- package/dist/config/database.d.ts +58 -0
- package/dist/config/database.d.ts.map +1 -0
- package/dist/config/database.js +106 -0
- package/dist/config/database.js.map +1 -0
- package/dist/config/dbRoleEnv.d.ts +31 -0
- package/dist/config/dbRoleEnv.d.ts.map +1 -0
- package/dist/config/dbRoleEnv.js +171 -0
- package/dist/config/dbRoleEnv.js.map +1 -0
- package/dist/core/cache/CacheAnalytics.d.ts +47 -0
- package/dist/core/cache/CacheAnalytics.d.ts.map +1 -0
- package/dist/core/cache/CacheAnalytics.js +113 -0
- package/dist/core/cache/CacheAnalytics.js.map +1 -0
- package/dist/core/cache/CacheDriver.d.ts +19 -0
- package/dist/core/cache/CacheDriver.d.ts.map +1 -0
- package/dist/core/cache/CacheDriver.js +8 -0
- package/dist/core/cache/CacheDriver.js.map +1 -0
- package/dist/core/cache/CacheFallbackManager.d.ts +35 -0
- package/dist/core/cache/CacheFallbackManager.d.ts.map +1 -0
- package/dist/core/cache/CacheFallbackManager.js +118 -0
- package/dist/core/cache/CacheFallbackManager.js.map +1 -0
- package/dist/core/cache/CacheManager.d.ts +11 -0
- package/dist/core/cache/CacheManager.d.ts.map +1 -0
- package/dist/core/cache/CacheManager.js +27 -0
- package/dist/core/cache/CacheManager.js.map +1 -0
- package/dist/core/cache/CacheRegistry.d.ts +49 -0
- package/dist/core/cache/CacheRegistry.d.ts.map +1 -0
- package/dist/core/cache/CacheRegistry.js +117 -0
- package/dist/core/cache/CacheRegistry.js.map +1 -0
- package/dist/core/cache/drivers/FileCacheDriver.d.ts +11 -0
- package/dist/core/cache/drivers/FileCacheDriver.d.ts.map +1 -0
- package/dist/core/cache/drivers/FileCacheDriver.js +54 -0
- package/dist/core/cache/drivers/FileCacheDriver.js.map +1 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.d.ts +15 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.d.ts.map +1 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.js +60 -0
- package/dist/core/cache/drivers/MemcachedCacheDriver.js.map +1 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.d.ts +9 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.d.ts.map +1 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.js +33 -0
- package/dist/core/cache/drivers/MemoryCacheDriver.js.map +1 -0
- package/dist/core/cache/setupCache.d.ts +2 -0
- package/dist/core/cache/setupCache.d.ts.map +1 -0
- package/dist/core/cache/setupCache.js +38 -0
- package/dist/core/cache/setupCache.js.map +1 -0
- package/dist/core/connection/BetterSqliteConnection.d.ts +23 -0
- package/dist/core/connection/BetterSqliteConnection.d.ts.map +1 -0
- package/dist/core/connection/BetterSqliteConnection.js +33 -0
- package/dist/core/connection/BetterSqliteConnection.js.map +1 -0
- package/dist/core/connection/ConnectionFactory.d.ts +18 -0
- package/dist/core/connection/ConnectionFactory.d.ts.map +1 -0
- package/dist/core/connection/ConnectionFactory.js +111 -0
- package/dist/core/connection/ConnectionFactory.js.map +1 -0
- package/dist/core/connection/DatabaseConnection.d.ts +49 -0
- package/dist/core/connection/DatabaseConnection.d.ts.map +1 -0
- package/dist/core/connection/DatabaseConnection.js +120 -0
- package/dist/core/connection/DatabaseConnection.js.map +1 -0
- package/dist/core/connection/DriverAdapter.d.ts +23 -0
- package/dist/core/connection/DriverAdapter.d.ts.map +1 -0
- package/dist/core/connection/DriverAdapter.js +145 -0
- package/dist/core/connection/DriverAdapter.js.map +1 -0
- package/dist/core/connection/resolveConnectionName.d.ts +17 -0
- package/dist/core/connection/resolveConnectionName.d.ts.map +1 -0
- package/dist/core/connection/resolveConnectionName.js +47 -0
- package/dist/core/connection/resolveConnectionName.js.map +1 -0
- package/dist/core/model/BaseModel.d.ts +247 -0
- package/dist/core/model/BaseModel.d.ts.map +1 -0
- package/dist/core/model/BaseModel.js +165 -0
- package/dist/core/model/BaseModel.js.map +1 -0
- package/dist/core/model/BaseModelSafeFinderStatics.d.ts +33 -0
- package/dist/core/model/BaseModelSafeFinderStatics.d.ts.map +1 -0
- package/dist/core/model/BaseModelSafeFinderStatics.js +87 -0
- package/dist/core/model/BaseModelSafeFinderStatics.js.map +1 -0
- package/dist/core/model/CoreModel.d.ts +134 -0
- package/dist/core/model/CoreModel.d.ts.map +1 -0
- package/dist/core/model/CoreModel.js +541 -0
- package/dist/core/model/CoreModel.js.map +1 -0
- package/dist/core/model/CoreModelPersistenceState.d.ts +36 -0
- package/dist/core/model/CoreModelPersistenceState.d.ts.map +1 -0
- package/dist/core/model/CoreModelPersistenceState.js +141 -0
- package/dist/core/model/CoreModelPersistenceState.js.map +1 -0
- package/dist/core/model/CoreModelSafeFinderSupport.d.ts +5 -0
- package/dist/core/model/CoreModelSafeFinderSupport.d.ts.map +1 -0
- package/dist/core/model/CoreModelSafeFinderSupport.js +15 -0
- package/dist/core/model/CoreModelSafeFinderSupport.js.map +1 -0
- package/dist/core/model/CoreModelValidationEvents.d.ts +24 -0
- package/dist/core/model/CoreModelValidationEvents.d.ts.map +1 -0
- package/dist/core/model/CoreModelValidationEvents.js +45 -0
- package/dist/core/model/CoreModelValidationEvents.js.map +1 -0
- package/dist/core/model/SafeFinder.d.ts +46 -0
- package/dist/core/model/SafeFinder.d.ts.map +1 -0
- package/dist/core/model/SafeFinder.js +223 -0
- package/dist/core/model/SafeFinder.js.map +1 -0
- package/dist/core/orm/Relation.d.ts +47 -0
- package/dist/core/orm/Relation.d.ts.map +1 -0
- package/dist/core/orm/Relation.js +62 -0
- package/dist/core/orm/Relation.js.map +1 -0
- package/dist/core/orm/mixins/CastsMixin.d.ts +18 -0
- package/dist/core/orm/mixins/CastsMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/CastsMixin.js +125 -0
- package/dist/core/orm/mixins/CastsMixin.js.map +1 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.d.ts +19 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.js +137 -0
- package/dist/core/orm/mixins/EagerLoadingMixin.js.map +1 -0
- package/dist/core/orm/mixins/HooksMixin.d.ts +16 -0
- package/dist/core/orm/mixins/HooksMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/HooksMixin.js +95 -0
- package/dist/core/orm/mixins/HooksMixin.js.map +1 -0
- package/dist/core/orm/mixins/MorphRegistry.d.ts +47 -0
- package/dist/core/orm/mixins/MorphRegistry.d.ts.map +1 -0
- package/dist/core/orm/mixins/MorphRegistry.js +67 -0
- package/dist/core/orm/mixins/MorphRegistry.js.map +1 -0
- package/dist/core/orm/mixins/MorphableMixin.d.ts +29 -0
- package/dist/core/orm/mixins/MorphableMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/MorphableMixin.js +93 -0
- package/dist/core/orm/mixins/MorphableMixin.js.map +1 -0
- package/dist/core/orm/mixins/PivotHelperMixin.d.ts +26 -0
- package/dist/core/orm/mixins/PivotHelperMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/PivotHelperMixin.js +102 -0
- package/dist/core/orm/mixins/PivotHelperMixin.js.map +1 -0
- package/dist/core/orm/mixins/QueryCacheMixin.d.ts +23 -0
- package/dist/core/orm/mixins/QueryCacheMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/QueryCacheMixin.js +172 -0
- package/dist/core/orm/mixins/QueryCacheMixin.js.map +1 -0
- package/dist/core/orm/mixins/ScopeMixin.d.ts +20 -0
- package/dist/core/orm/mixins/ScopeMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/ScopeMixin.js +72 -0
- package/dist/core/orm/mixins/ScopeMixin.js.map +1 -0
- package/dist/core/orm/mixins/SerializeMixin.d.ts +44 -0
- package/dist/core/orm/mixins/SerializeMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/SerializeMixin.js +80 -0
- package/dist/core/orm/mixins/SerializeMixin.js.map +1 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.d.ts +22 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.d.ts.map +1 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.js +146 -0
- package/dist/core/orm/mixins/SoftDeletesMixin.js.map +1 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.d.ts +8 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.js +26 -0
- package/dist/core/orm/mixins/utils/BaseMethodResolver.js.map +1 -0
- package/dist/core/orm/mixins/utils/HookStore.d.ts +26 -0
- package/dist/core/orm/mixins/utils/HookStore.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/HookStore.js +78 -0
- package/dist/core/orm/mixins/utils/HookStore.js.map +1 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.d.ts +33 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.js +87 -0
- package/dist/core/orm/mixins/utils/ModelRegistry.js.map +1 -0
- package/dist/core/orm/mixins/utils/modelRegistration.d.ts +9 -0
- package/dist/core/orm/mixins/utils/modelRegistration.d.ts.map +1 -0
- package/dist/core/orm/mixins/utils/modelRegistration.js +26 -0
- package/dist/core/orm/mixins/utils/modelRegistration.js.map +1 -0
- package/dist/core/orm/relations/BelongsTo.d.ts +6 -0
- package/dist/core/orm/relations/BelongsTo.d.ts.map +1 -0
- package/dist/core/orm/relations/BelongsTo.js +70 -0
- package/dist/core/orm/relations/BelongsTo.js.map +1 -0
- package/dist/core/orm/relations/BelongsToMany.d.ts +14 -0
- package/dist/core/orm/relations/BelongsToMany.d.ts.map +1 -0
- package/dist/core/orm/relations/BelongsToMany.js +245 -0
- package/dist/core/orm/relations/BelongsToMany.js.map +1 -0
- package/dist/core/orm/relations/HasMany.d.ts +6 -0
- package/dist/core/orm/relations/HasMany.d.ts.map +1 -0
- package/dist/core/orm/relations/HasMany.js +75 -0
- package/dist/core/orm/relations/HasMany.js.map +1 -0
- package/dist/core/orm/relations/HasOne.d.ts +6 -0
- package/dist/core/orm/relations/HasOne.d.ts.map +1 -0
- package/dist/core/orm/relations/HasOne.js +71 -0
- package/dist/core/orm/relations/HasOne.js.map +1 -0
- package/dist/core/orm/relations/MorphMany.d.ts +9 -0
- package/dist/core/orm/relations/MorphMany.d.ts.map +1 -0
- package/dist/core/orm/relations/MorphMany.js +107 -0
- package/dist/core/orm/relations/MorphMany.js.map +1 -0
- package/dist/core/orm/relations/MorphOne.d.ts +9 -0
- package/dist/core/orm/relations/MorphOne.d.ts.map +1 -0
- package/dist/core/orm/relations/MorphOne.js +101 -0
- package/dist/core/orm/relations/MorphOne.js.map +1 -0
- package/dist/core/orm/relations/MorphTo.d.ts +9 -0
- package/dist/core/orm/relations/MorphTo.d.ts.map +1 -0
- package/dist/core/orm/relations/MorphTo.js +85 -0
- package/dist/core/orm/relations/MorphTo.js.map +1 -0
- package/dist/core/schema/SQLDialect.d.ts +22 -0
- package/dist/core/schema/SQLDialect.d.ts.map +1 -0
- package/dist/core/schema/SQLDialect.js +38 -0
- package/dist/core/schema/SQLDialect.js.map +1 -0
- package/dist/core/schema/SchemaBlueprint.d.ts +61 -0
- package/dist/core/schema/SchemaBlueprint.d.ts.map +1 -0
- package/dist/core/schema/SchemaBlueprint.js +62 -0
- package/dist/core/schema/SchemaBlueprint.js.map +1 -0
- package/dist/core/schema/SchemaBuilder.d.ts +29 -0
- package/dist/core/schema/SchemaBuilder.d.ts.map +1 -0
- package/dist/core/schema/SchemaBuilder.js +661 -0
- package/dist/core/schema/SchemaBuilder.js.map +1 -0
- package/dist/core/schema/SchemaValidator.d.ts +23 -0
- package/dist/core/schema/SchemaValidator.d.ts.map +1 -0
- package/dist/core/schema/SchemaValidator.js +75 -0
- package/dist/core/schema/SchemaValidator.js.map +1 -0
- package/dist/core/security/AbstractSecurity.d.ts +24 -0
- package/dist/core/security/AbstractSecurity.d.ts.map +1 -0
- package/dist/core/security/AbstractSecurity.js +58 -0
- package/dist/core/security/AbstractSecurity.js.map +1 -0
- package/dist/core/security/EnvKeySecurity.d.ts +11 -0
- package/dist/core/security/EnvKeySecurity.d.ts.map +1 -0
- package/dist/core/security/EnvKeySecurity.js +46 -0
- package/dist/core/security/EnvKeySecurity.js.map +1 -0
- package/dist/core/security/NoSecurity.d.ts +10 -0
- package/dist/core/security/NoSecurity.d.ts.map +1 -0
- package/dist/core/security/NoSecurity.js +18 -0
- package/dist/core/security/NoSecurity.js.map +1 -0
- package/dist/core/security/SecretRedactor.d.ts +4 -0
- package/dist/core/security/SecretRedactor.d.ts.map +1 -0
- package/dist/core/security/SecretRedactor.js +60 -0
- package/dist/core/security/SecretRedactor.js.map +1 -0
- package/dist/core/security/SecurityContract.d.ts +13 -0
- package/dist/core/security/SecurityContract.d.ts.map +1 -0
- package/dist/core/security/SecurityContract.js +3 -0
- package/dist/core/security/SecurityContract.js.map +1 -0
- package/dist/core/security/SecurityFactory.d.ts +9 -0
- package/dist/core/security/SecurityFactory.d.ts.map +1 -0
- package/dist/core/security/SecurityFactory.js +29 -0
- package/dist/core/security/SecurityFactory.js.map +1 -0
- package/dist/core/security/index.d.ts +6 -0
- package/dist/core/security/index.d.ts.map +1 -0
- package/dist/core/security/index.js +22 -0
- package/dist/core/security/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/package.json +104 -0
- package/src/cli/templates/controller.tpl +80 -0
- package/src/cli/templates/factory.tpl +14 -0
- package/src/cli/templates/migration.tpl +36 -0
- package/src/cli/templates/model-registry.tpl +16 -0
- package/src/cli/templates/model.tpl +95 -0
- package/src/cli/templates/pivot-factory.tpl +85 -0
- package/src/cli/templates/seed.tpl +20 -0
- package/src/cli/templates/service.tpl +40 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { ConnectionName } from "../connection/ConnectionFactory";
|
|
2
|
+
import type { DriverAdapter } from "../connection/DriverAdapter";
|
|
3
|
+
import type { Db } from "mongodb";
|
|
4
|
+
import type { CoreModelClass } from "../orm/Relation";
|
|
5
|
+
import { MorphableMixin, MorphableBaseModel } from "../orm/mixins/MorphableMixin";
|
|
6
|
+
import { MorphRegistry } from "../orm/mixins/MorphRegistry";
|
|
7
|
+
/**
|
|
8
|
+
* Shared record interface for all models
|
|
9
|
+
*/
|
|
10
|
+
export interface ORMRecord {
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Unified constructor helper used for casting the seed CoreModel
|
|
15
|
+
*/
|
|
16
|
+
export type AbstractConstructor<T = object> = abstract new (...args: any[]) => T;
|
|
17
|
+
/**
|
|
18
|
+
* ORMCoreContract mirrors CoreModel's public instance API.
|
|
19
|
+
* Note: getDB returns Promise<unknown> to match CoreModel's current signature.
|
|
20
|
+
*/
|
|
21
|
+
export interface ORMCoreContract {
|
|
22
|
+
tableName: string;
|
|
23
|
+
connectionName: string;
|
|
24
|
+
getDB(): Promise<unknown>;
|
|
25
|
+
fill(data: ORMRecord): this;
|
|
26
|
+
save(pk?: string): Promise<void>;
|
|
27
|
+
patch(data: ORMRecord, pk?: string): Promise<void>;
|
|
28
|
+
create(data: ORMRecord): Promise<unknown | null>;
|
|
29
|
+
update(data: ORMRecord, pk?: string): this;
|
|
30
|
+
update(id: string | number, data: ORMRecord, pk?: string): Promise<void>;
|
|
31
|
+
delete(): Promise<void>;
|
|
32
|
+
delete(id: string | number, pk?: string): Promise<void>;
|
|
33
|
+
find(id: string | number, pk?: string): Promise<unknown | null>;
|
|
34
|
+
all(): Promise<unknown[]>;
|
|
35
|
+
}
|
|
36
|
+
export declare const BASE_MODEL_COMPOSITION_ORDER: readonly ["CoreModel", "MorphableMixin", "PivotHelperMixin", "CastsMixin", "SoftDeletesMixin", "ScopeMixin", "HooksMixin", "QueryCacheMixin", "EagerLoadingMixin", "SerializeMixin"];
|
|
37
|
+
export declare const MODEL_BOUNDARY_MATRIX: {
|
|
38
|
+
readonly CoreModel: readonly ["hydration", "driver-agnostic CRUD", "validation dispatch", "lifecycle event dispatch", "persistence state tracking", "safe-finder construction"];
|
|
39
|
+
readonly BaseModel: readonly ["default composed runtime surface", "safe-finder static delegation", "typed relation helpers", "morph alias convenience"];
|
|
40
|
+
readonly SqlModel: readonly ["SQL connection guard", "typed SQL getDB()"];
|
|
41
|
+
readonly MongoModel: readonly ["Mongo connection guard", "typed Mongo getDB()"];
|
|
42
|
+
readonly GeneratedModels: readonly ["extendSqlModelOrMongoModel", "neverExtendCoreModelDirectly", "inheritDefaultBaseModelStack"];
|
|
43
|
+
};
|
|
44
|
+
declare const SafeFinderStaticModel: ((abstract new (...args: any[]) => {
|
|
45
|
+
tableName: string;
|
|
46
|
+
connectionName: string;
|
|
47
|
+
getDB(): Promise<unknown>;
|
|
48
|
+
}) & {
|
|
49
|
+
create(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, data: Record<string, unknown>): Promise<import("./SafeFinder").SafeFinderModelInstance | null>;
|
|
50
|
+
createMany(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, rows: Record<string, unknown>[]): Promise<import("./SafeFinder").SafeFinderModelInstance[]>;
|
|
51
|
+
find(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, id: number | string, pk?: string): Promise<import("./SafeFinder").SafeFinderModelInstance | null>;
|
|
52
|
+
updateById(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, id: number | string, data: Record<string, unknown>, pk?: string): Promise<void>;
|
|
53
|
+
updateMany(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, ids: Array<number | string>, data: Record<string, unknown>, pk?: string): Promise<void>;
|
|
54
|
+
patchMany(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, rows: Record<string, unknown>[], pk?: string): Promise<void>;
|
|
55
|
+
deleteById(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, id: number | string, pk?: string): Promise<void>;
|
|
56
|
+
deleteMany(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, ids: Array<number | string>, pk?: string): Promise<void>;
|
|
57
|
+
restoreById(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, id: number | string, pk?: string): Promise<void>;
|
|
58
|
+
restoreMany(this: new (...args: any[]) => import("./SafeFinder").SafeFinderModelInstance, ids: Array<number | string>, pk?: string): Promise<void>;
|
|
59
|
+
where<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
60
|
+
hidden: string[];
|
|
61
|
+
appends: string[];
|
|
62
|
+
toObject(): Record<string, unknown>;
|
|
63
|
+
toJSON(): string;
|
|
64
|
+
serializeValue(value: unknown): unknown;
|
|
65
|
+
all(): Promise<unknown[]>;
|
|
66
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
67
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, field: string, value: unknown): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
68
|
+
with<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
69
|
+
hidden: string[];
|
|
70
|
+
appends: string[];
|
|
71
|
+
toObject(): Record<string, unknown>;
|
|
72
|
+
toJSON(): string;
|
|
73
|
+
serializeValue(value: unknown): unknown;
|
|
74
|
+
all(): Promise<unknown[]>;
|
|
75
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
76
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, ...relations: string[]): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
77
|
+
active<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
78
|
+
hidden: string[];
|
|
79
|
+
appends: string[];
|
|
80
|
+
toObject(): Record<string, unknown>;
|
|
81
|
+
toJSON(): string;
|
|
82
|
+
serializeValue(value: unknown): unknown;
|
|
83
|
+
all(): Promise<unknown[]>;
|
|
84
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
85
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, ...args: unknown[]): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
86
|
+
inactive<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
87
|
+
hidden: string[];
|
|
88
|
+
appends: string[];
|
|
89
|
+
toObject(): Record<string, unknown>;
|
|
90
|
+
toJSON(): string;
|
|
91
|
+
serializeValue(value: unknown): unknown;
|
|
92
|
+
all(): Promise<unknown[]>;
|
|
93
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
94
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, ...args: unknown[]): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
95
|
+
published<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
96
|
+
hidden: string[];
|
|
97
|
+
appends: string[];
|
|
98
|
+
toObject(): Record<string, unknown>;
|
|
99
|
+
toJSON(): string;
|
|
100
|
+
serializeValue(value: unknown): unknown;
|
|
101
|
+
all(): Promise<unknown[]>;
|
|
102
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
103
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, ...args: unknown[]): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
104
|
+
orderBy<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
105
|
+
hidden: string[];
|
|
106
|
+
appends: string[];
|
|
107
|
+
toObject(): Record<string, unknown>;
|
|
108
|
+
toJSON(): string;
|
|
109
|
+
serializeValue(value: unknown): unknown;
|
|
110
|
+
all(): Promise<unknown[]>;
|
|
111
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
112
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, field: string, direction?: import("./SafeFinder").SafeFinderDirection): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
113
|
+
limit<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
114
|
+
hidden: string[];
|
|
115
|
+
appends: string[];
|
|
116
|
+
toObject(): Record<string, unknown>;
|
|
117
|
+
toJSON(): string;
|
|
118
|
+
serializeValue(value: unknown): unknown;
|
|
119
|
+
all(): Promise<unknown[]>;
|
|
120
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
121
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, count: number): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
122
|
+
get<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
123
|
+
hidden: string[];
|
|
124
|
+
appends: string[];
|
|
125
|
+
toObject(): Record<string, unknown>;
|
|
126
|
+
toJSON(): string;
|
|
127
|
+
serializeValue(value: unknown): unknown;
|
|
128
|
+
all(): Promise<unknown[]>;
|
|
129
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
130
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T): Promise<InstanceType<T>[]>;
|
|
131
|
+
first<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
132
|
+
hidden: string[];
|
|
133
|
+
appends: string[];
|
|
134
|
+
toObject(): Record<string, unknown>;
|
|
135
|
+
toJSON(): string;
|
|
136
|
+
serializeValue(value: unknown): unknown;
|
|
137
|
+
all(): Promise<unknown[]>;
|
|
138
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
139
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T): Promise<InstanceType<T> | null>;
|
|
140
|
+
findBy<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
141
|
+
hidden: string[];
|
|
142
|
+
appends: string[];
|
|
143
|
+
toObject(): Record<string, unknown>;
|
|
144
|
+
toJSON(): string;
|
|
145
|
+
serializeValue(value: unknown): unknown;
|
|
146
|
+
all(): Promise<unknown[]>;
|
|
147
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
148
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, field: string, value: unknown): import("./SafeFinder").SafeFinderQuery<InstanceType<T>>;
|
|
149
|
+
findOneBy<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
150
|
+
hidden: string[];
|
|
151
|
+
appends: string[];
|
|
152
|
+
toObject(): Record<string, unknown>;
|
|
153
|
+
toJSON(): string;
|
|
154
|
+
serializeValue(value: unknown): unknown;
|
|
155
|
+
all(): Promise<unknown[]>;
|
|
156
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
157
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, field: string, value: unknown): Promise<InstanceType<T> | null>;
|
|
158
|
+
findAllBy<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
159
|
+
hidden: string[];
|
|
160
|
+
appends: string[];
|
|
161
|
+
toObject(): Record<string, unknown>;
|
|
162
|
+
toJSON(): string;
|
|
163
|
+
serializeValue(value: unknown): unknown;
|
|
164
|
+
all(): Promise<unknown[]>;
|
|
165
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
166
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, filters: import("./SafeFinder").SafeFinderFilters): Promise<InstanceType<T>[]>;
|
|
167
|
+
existsBy<T extends /*elided*/ any & (abstract new (...args: any[]) => {
|
|
168
|
+
hidden: string[];
|
|
169
|
+
appends: string[];
|
|
170
|
+
toObject(): Record<string, unknown>;
|
|
171
|
+
toJSON(): string;
|
|
172
|
+
serializeValue(value: unknown): unknown;
|
|
173
|
+
all(): Promise<unknown[]>;
|
|
174
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
175
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable)>(this: T, filters: import("./SafeFinder").SafeFinderFilters): Promise<boolean>;
|
|
176
|
+
}) & (abstract new (...args: any[]) => {
|
|
177
|
+
hidden: string[];
|
|
178
|
+
appends: string[];
|
|
179
|
+
toObject(): Record<string, unknown>;
|
|
180
|
+
toJSON(): string;
|
|
181
|
+
serializeValue(value: unknown): unknown;
|
|
182
|
+
all(): Promise<unknown[]>;
|
|
183
|
+
find(id: number | string, pk?: string): Promise<unknown | null>;
|
|
184
|
+
}) & (abstract new (...args: any[]) => MorphableBaseModel) & AbstractConstructor<ORMCoreContract> & (abstract new (...args: any[]) => import("../orm/mixins/PivotHelperMixin").PivotCapableModel) & (abstract new (...args: any[]) => import("../orm/mixins/CastsMixin").Castable) & (abstract new (...args: any[]) => import("../orm/mixins/SoftDeletesMixin").SoftDeletable) & (abstract new (...args: any[]) => import("../orm/mixins/ScopeMixin").ScopableModel<Record<string, unknown>>) & (abstract new (...args: any[]) => import("../orm/mixins/HooksMixin").HookableModel) & (abstract new (...args: any[]) => import("../orm/mixins/QueryCacheMixin").CacheableModel) & import("../orm/mixins/QueryCacheMixin").CacheableConstructor & (abstract new (...args: unknown[]) => import("../orm/mixins/EagerLoadingMixin").EagerLoadable);
|
|
185
|
+
/**
|
|
186
|
+
* BaseModel
|
|
187
|
+
* The central abstract model class your application models should extend.
|
|
188
|
+
*/
|
|
189
|
+
export declare abstract class BaseModel<TAttrs extends Record<string, unknown> = Record<string, unknown>> extends SafeFinderStaticModel {
|
|
190
|
+
constructor(...args: any[]);
|
|
191
|
+
/**
|
|
192
|
+
* Instance-level morph alias lookup (like Laravel's getMorphClass)
|
|
193
|
+
*/
|
|
194
|
+
getMorphClass(): string;
|
|
195
|
+
/**
|
|
196
|
+
* Static-level morph alias lookup
|
|
197
|
+
* Example: `static morphAlias = 'posts'`
|
|
198
|
+
*/
|
|
199
|
+
static getMorphClass(): string;
|
|
200
|
+
protected belongsTo<TRelated extends BaseModel>(RelatedModel: CoreModelClass<TRelated>, foreignKey: string, ownerKey?: string, name?: string): TypedRelation<this, TRelated | null>;
|
|
201
|
+
protected hasOne<TRelated extends BaseModel>(RelatedModel: CoreModelClass<TRelated>, foreignKey: string, localKey?: string, name?: string): TypedRelation<this, TRelated | null>;
|
|
202
|
+
protected hasMany<TRelated extends BaseModel>(RelatedModel: CoreModelClass<TRelated>, foreignKey: string, localKey?: string, name?: string): TypedRelation<this, TRelated[]>;
|
|
203
|
+
protected belongsToMany<TRelated extends BaseModel>(RelatedModel: CoreModelClass<TRelated>, pivotTable: string, foreignPivotKey: string, relatedPivotKey: string): TypedRelation<this, TRelated[]> & PivotRelation;
|
|
204
|
+
protected morphOne<TRelated extends BaseModel>(RelatedModel: CoreModelClass<TRelated>, morphName: string): TypedRelation<this, TRelated | null>;
|
|
205
|
+
protected morphMany<TRelated extends BaseModel>(RelatedModel: CoreModelClass<TRelated>, morphName: string): TypedRelation<this, TRelated[]>;
|
|
206
|
+
protected morphTo(morphName: string): TypedRelation<this, BaseModel | null>;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* SqlModel
|
|
210
|
+
* Narrowed base class for SQL-backed models with typed getDB().
|
|
211
|
+
*/
|
|
212
|
+
export declare abstract class SqlModel<TAttrs extends Record<string, unknown> = Record<string, unknown>> extends BaseModel<TAttrs> {
|
|
213
|
+
connectionName: Exclude<ConnectionName, "mongo">;
|
|
214
|
+
constructor(...args: any[]);
|
|
215
|
+
getDB(): Promise<DriverAdapter>;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Laravel-style SQL model alias exposed for package consumers.
|
|
219
|
+
*/
|
|
220
|
+
export { SqlModel as Model };
|
|
221
|
+
/**
|
|
222
|
+
* Re-export morph helpers for convenience
|
|
223
|
+
*/
|
|
224
|
+
export { MorphableMixin, MorphableBaseModel, MorphRegistry };
|
|
225
|
+
export type ModelAttrs<TAttrs extends Record<string, unknown>> = {
|
|
226
|
+
[K in keyof TAttrs]: TAttrs[K];
|
|
227
|
+
};
|
|
228
|
+
export type ModelInstance<TAttrs extends Record<string, unknown>> = ModelAttrs<TAttrs>;
|
|
229
|
+
export interface TypedRelation<TParent, TResult> {
|
|
230
|
+
name?: string;
|
|
231
|
+
getResults(parent: TParent): Promise<TResult>;
|
|
232
|
+
match(records: TParent[]): Promise<void>;
|
|
233
|
+
}
|
|
234
|
+
export interface PivotRelation {
|
|
235
|
+
attach(parentId: unknown, relatedId: unknown): Promise<void>;
|
|
236
|
+
detach(parentId: unknown, relatedId: unknown): Promise<void>;
|
|
237
|
+
sync(parentId: unknown, relatedIds: unknown[]): Promise<void>;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* MongoModel
|
|
241
|
+
* Narrowed base class for Mongo-backed models with typed getDB().
|
|
242
|
+
*/
|
|
243
|
+
export declare abstract class MongoModel<TAttrs extends Record<string, unknown> = Record<string, unknown>> extends BaseModel<TAttrs> {
|
|
244
|
+
constructor(...args: any[]);
|
|
245
|
+
getDB(): Promise<Db>;
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=BaseModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseModel.d.ts","sourceRoot":"","sources":["../../../src/core/model/BaseModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MongoModel = exports.MorphRegistry = exports.MorphableMixin = exports.Model = exports.SqlModel = exports.BaseModel = exports.MODEL_BOUNDARY_MATRIX = exports.BASE_MODEL_COMPOSITION_ORDER = void 0;
|
|
4
|
+
// src/model/BaseModel.ts
|
|
5
|
+
const CoreModel_1 = require("./CoreModel");
|
|
6
|
+
const PivotHelperMixin_1 = require("../orm/mixins/PivotHelperMixin");
|
|
7
|
+
const CastsMixin_1 = require("../orm/mixins/CastsMixin");
|
|
8
|
+
const SoftDeletesMixin_1 = require("../orm/mixins/SoftDeletesMixin");
|
|
9
|
+
const ScopeMixin_1 = require("../orm/mixins/ScopeMixin");
|
|
10
|
+
const HooksMixin_1 = require("../orm/mixins/HooksMixin");
|
|
11
|
+
const QueryCacheMixin_1 = require("../orm/mixins/QueryCacheMixin");
|
|
12
|
+
const EagerLoadingMixin_1 = require("../orm/mixins/EagerLoadingMixin");
|
|
13
|
+
const SerializeMixin_1 = require("../orm/mixins/SerializeMixin");
|
|
14
|
+
const ConnectionFactory_1 = require("../connection/ConnectionFactory");
|
|
15
|
+
const database_1 = require("../../config/database");
|
|
16
|
+
const BelongsTo_1 = require("../orm/relations/BelongsTo");
|
|
17
|
+
const HasOne_1 = require("../orm/relations/HasOne");
|
|
18
|
+
const HasMany_1 = require("../orm/relations/HasMany");
|
|
19
|
+
const BelongsToMany_1 = require("../orm/relations/BelongsToMany");
|
|
20
|
+
const MorphOne_1 = require("../orm/relations/MorphOne");
|
|
21
|
+
const MorphMany_1 = require("../orm/relations/MorphMany");
|
|
22
|
+
const MorphTo_1 = require("../orm/relations/MorphTo");
|
|
23
|
+
const BaseModelSafeFinderStatics_1 = require("./BaseModelSafeFinderStatics");
|
|
24
|
+
// Morph system (re-export convenience)
|
|
25
|
+
const MorphableMixin_1 = require("../orm/mixins/MorphableMixin");
|
|
26
|
+
Object.defineProperty(exports, "MorphableMixin", { enumerable: true, get: function () { return MorphableMixin_1.MorphableMixin; } });
|
|
27
|
+
const MorphRegistry_1 = require("../orm/mixins/MorphRegistry");
|
|
28
|
+
Object.defineProperty(exports, "MorphRegistry", { enumerable: true, get: function () { return MorphRegistry_1.MorphRegistry; } });
|
|
29
|
+
exports.BASE_MODEL_COMPOSITION_ORDER = [
|
|
30
|
+
"CoreModel",
|
|
31
|
+
"MorphableMixin",
|
|
32
|
+
"PivotHelperMixin",
|
|
33
|
+
"CastsMixin",
|
|
34
|
+
"SoftDeletesMixin",
|
|
35
|
+
"ScopeMixin",
|
|
36
|
+
"HooksMixin",
|
|
37
|
+
"QueryCacheMixin",
|
|
38
|
+
"EagerLoadingMixin",
|
|
39
|
+
"SerializeMixin",
|
|
40
|
+
];
|
|
41
|
+
exports.MODEL_BOUNDARY_MATRIX = {
|
|
42
|
+
CoreModel: [
|
|
43
|
+
"hydration",
|
|
44
|
+
"driver-agnostic CRUD",
|
|
45
|
+
"validation dispatch",
|
|
46
|
+
"lifecycle event dispatch",
|
|
47
|
+
"persistence state tracking",
|
|
48
|
+
"safe-finder construction",
|
|
49
|
+
],
|
|
50
|
+
BaseModel: [
|
|
51
|
+
"default composed runtime surface",
|
|
52
|
+
"safe-finder static delegation",
|
|
53
|
+
"typed relation helpers",
|
|
54
|
+
"morph alias convenience",
|
|
55
|
+
],
|
|
56
|
+
SqlModel: ["SQL connection guard", "typed SQL getDB()"],
|
|
57
|
+
MongoModel: ["Mongo connection guard", "typed Mongo getDB()"],
|
|
58
|
+
GeneratedModels: [
|
|
59
|
+
"extendSqlModelOrMongoModel",
|
|
60
|
+
"neverExtendCoreModelDirectly",
|
|
61
|
+
"inheritDefaultBaseModelStack",
|
|
62
|
+
],
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Compose mixins in dependency-safe order.
|
|
66
|
+
* Keep BASE_MODEL_COMPOSITION_ORDER in sync with this stack.
|
|
67
|
+
*
|
|
68
|
+
* We cast CoreModel to AbstractConstructor<ORMCoreContract> as the composition seed so
|
|
69
|
+
* TypeScript understands the initial shape we're building on top of.
|
|
70
|
+
*/
|
|
71
|
+
const MorphableSeed = (0, MorphableMixin_1.MorphableMixin)(CoreModel_1.CoreModel);
|
|
72
|
+
const ComposedModel = (0, SerializeMixin_1.SerializeMixin)((0, EagerLoadingMixin_1.EagerLoadingMixin)((0, QueryCacheMixin_1.QueryCacheMixin)((0, HooksMixin_1.HooksMixin)((0, ScopeMixin_1.ScopeMixin)((0, SoftDeletesMixin_1.SoftDeletesMixin)((0, CastsMixin_1.CastsMixin)((0, PivotHelperMixin_1.PivotHelperMixin)(MorphableSeed))))))));
|
|
73
|
+
const SafeFinderStaticModel = (0, BaseModelSafeFinderStatics_1.BaseModelSafeFinderStaticsMixin)(ComposedModel);
|
|
74
|
+
/**
|
|
75
|
+
* BaseModel
|
|
76
|
+
* The central abstract model class your application models should extend.
|
|
77
|
+
*/
|
|
78
|
+
class BaseModel extends SafeFinderStaticModel {
|
|
79
|
+
constructor(...args) {
|
|
80
|
+
super(...args);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Instance-level morph alias lookup (like Laravel's getMorphClass)
|
|
84
|
+
*/
|
|
85
|
+
getMorphClass() {
|
|
86
|
+
const ctor = this.constructor;
|
|
87
|
+
if (ctor.morphAlias)
|
|
88
|
+
return ctor.morphAlias;
|
|
89
|
+
const entries = Object.entries(MorphRegistry_1.MorphRegistry.list());
|
|
90
|
+
const entry = entries.find(([, name]) => name === this.constructor.name);
|
|
91
|
+
return entry ? entry[0] : this.constructor.name;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Static-level morph alias lookup
|
|
95
|
+
* Example: `static morphAlias = 'posts'`
|
|
96
|
+
*/
|
|
97
|
+
static getMorphClass() {
|
|
98
|
+
const self = this;
|
|
99
|
+
if (self.morphAlias)
|
|
100
|
+
return self.morphAlias;
|
|
101
|
+
const entries = Object.entries(MorphRegistry_1.MorphRegistry.list());
|
|
102
|
+
const entry = entries.find(([, name]) => name === this.name);
|
|
103
|
+
return entry ? entry[0] : this.name;
|
|
104
|
+
}
|
|
105
|
+
// -----------------------------
|
|
106
|
+
// Typed relation helpers
|
|
107
|
+
// -----------------------------
|
|
108
|
+
belongsTo(RelatedModel, foreignKey, ownerKey = "id", name) {
|
|
109
|
+
return new BelongsTo_1.BelongsTo(RelatedModel, foreignKey, ownerKey, name);
|
|
110
|
+
}
|
|
111
|
+
hasOne(RelatedModel, foreignKey, localKey = "id", name) {
|
|
112
|
+
return new HasOne_1.HasOne(RelatedModel, foreignKey, localKey, name);
|
|
113
|
+
}
|
|
114
|
+
hasMany(RelatedModel, foreignKey, localKey = "id", name) {
|
|
115
|
+
return new HasMany_1.HasMany(RelatedModel, foreignKey, localKey, name);
|
|
116
|
+
}
|
|
117
|
+
belongsToMany(RelatedModel, pivotTable, foreignPivotKey, relatedPivotKey) {
|
|
118
|
+
return new BelongsToMany_1.BelongsToMany(RelatedModel, pivotTable, foreignPivotKey, relatedPivotKey);
|
|
119
|
+
}
|
|
120
|
+
morphOne(RelatedModel, morphName) {
|
|
121
|
+
return new MorphOne_1.MorphOne(RelatedModel, `${morphName}_type`, `${morphName}_id`);
|
|
122
|
+
}
|
|
123
|
+
morphMany(RelatedModel, morphName) {
|
|
124
|
+
return new MorphMany_1.MorphMany(RelatedModel, `${morphName}_type`, `${morphName}_id`);
|
|
125
|
+
}
|
|
126
|
+
morphTo(morphName) {
|
|
127
|
+
return new MorphTo_1.MorphTo(`${morphName}_type`, `${morphName}_id`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.BaseModel = BaseModel;
|
|
131
|
+
/**
|
|
132
|
+
* SqlModel
|
|
133
|
+
* Narrowed base class for SQL-backed models with typed getDB().
|
|
134
|
+
*/
|
|
135
|
+
class SqlModel extends BaseModel {
|
|
136
|
+
constructor(...args) {
|
|
137
|
+
super(...args);
|
|
138
|
+
if (this.connectionName === "mongo") {
|
|
139
|
+
throw new Error("SqlModel cannot use the mongo connection.");
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
async getDB() {
|
|
143
|
+
return await (0, ConnectionFactory_1.getAdapter)(this.connectionName);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.SqlModel = SqlModel;
|
|
147
|
+
exports.Model = SqlModel;
|
|
148
|
+
/**
|
|
149
|
+
* MongoModel
|
|
150
|
+
* Narrowed base class for Mongo-backed models with typed getDB().
|
|
151
|
+
*/
|
|
152
|
+
class MongoModel extends BaseModel {
|
|
153
|
+
constructor(...args) {
|
|
154
|
+
super(...args);
|
|
155
|
+
const driver = database_1.dbConfig.connections[this.connectionName]?.driver;
|
|
156
|
+
if (driver !== "mongo") {
|
|
157
|
+
throw new Error(`MongoModel requires a mongo driver connection. Received: ${this.connectionName}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
async getDB() {
|
|
161
|
+
return await (0, ConnectionFactory_1.getConnection)(this.connectionName);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
exports.MongoModel = MongoModel;
|
|
165
|
+
//# sourceMappingURL=BaseModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../../src/core/model/BaseModel.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,2CAAwC;AACxC,qEAAkE;AAClE,yDAAsD;AACtD,qEAAkE;AAClE,yDAAsD;AACtD,yDAAsD;AACtD,mEAAgE;AAChE,uEAAoE;AACpE,iEAA8D;AAC9D,uEAA4F;AAG5F,oDAAiD;AACjD,0DAAuD;AACvD,oDAAiD;AACjD,sDAAmD;AACnD,kEAA+D;AAC/D,wDAAqD;AACrD,0DAAuD;AACvD,sDAAmD;AAEnD,6EAA+E;AAE/E,uCAAuC;AACvC,iEAAkF;AAuPzE,+FAvPA,+BAAc,OAuPA;AAtPvB,+DAA4D;AAsPf,8FAtPpC,6BAAa,OAsPoC;AAnN7C,QAAA,4BAA4B,GAAG;IAC1C,WAAW;IACX,gBAAgB;IAChB,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;CACR,CAAC;AAEE,QAAA,qBAAqB,GAAG;IACnC,SAAS,EAAE;QACT,WAAW;QACX,sBAAsB;QACtB,qBAAqB;QACrB,0BAA0B;QAC1B,4BAA4B;QAC5B,0BAA0B;KAC3B;IACD,SAAS,EAAE;QACT,kCAAkC;QAClC,+BAA+B;QAC/B,wBAAwB;QACxB,yBAAyB;KAC1B;IACD,QAAQ,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;IACvD,UAAU,EAAE,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;IAC7D,eAAe,EAAE;QACf,4BAA4B;QAC5B,8BAA8B;QAC9B,8BAA8B;KAC/B;CACO,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,IAAA,+BAAc,EAClC,qBAA4D,CAC7D,CAAC;AAEF,MAAM,aAAa,GAAG,IAAA,+BAAc,EAClC,IAAA,qCAAiB,EACf,IAAA,iCAAe,EACb,IAAA,uBAAU,EACR,IAAA,uBAAU,EACR,IAAA,mCAAgB,EACd,IAAA,uBAAU,EAAC,IAAA,mCAAgB,EAAC,aAAa,CAAC,CAAC,CAC5C,CACF,CACF,CACF,CACF,CACF,CAAC;AAEF,MAAM,qBAAqB,GAAG,IAAA,4DAA+B,EAAC,aAAa,CAAC,CAAC;AAE7E;;;GAGG;AACH,MAAsB,SAEpB,SAAQ,qBAAqB;IAC7B,YAAY,GAAG,IAAW;QACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,WAAuE,CAAC;QAC1F,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,6BAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa;QAClB,MAAM,IAAI,GAAG,IAAwD,CAAC;QACtE,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,6BAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,gCAAgC;IAChC,yBAAyB;IACzB,gCAAgC;IACtB,SAAS,CACjB,YAAsC,EACtC,UAAkB,EAClB,WAAmB,IAAI,EACvB,IAAa;QAEb,OAAO,IAAI,qBAAS,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAG5D,CAAC;IACJ,CAAC;IAES,MAAM,CACd,YAAsC,EACtC,UAAkB,EAClB,WAAmB,IAAI,EACvB,IAAa;QAEb,OAAO,IAAI,eAAM,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAGzD,CAAC;IACJ,CAAC;IAES,OAAO,CACf,YAAsC,EACtC,UAAkB,EAClB,WAAmB,IAAI,EACvB,IAAa;QAEb,OAAO,IAAI,iBAAO,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAG1D,CAAC;IACJ,CAAC;IAES,aAAa,CACrB,YAAsC,EACtC,UAAkB,EAClB,eAAuB,EACvB,eAAuB;QAEvB,OAAO,IAAI,6BAAa,CACtB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,CAC8C,CAAC;IAClE,CAAC;IAES,QAAQ,CAChB,YAAsC,EACtC,SAAiB;QAEjB,OAAO,IAAI,mBAAQ,CAAC,YAAY,EAAE,GAAG,SAAS,OAAO,EAAE,GAAG,SAAS,KAAK,CAGvE,CAAC;IACJ,CAAC;IAES,SAAS,CACjB,YAAsC,EACtC,SAAiB;QAEjB,OAAO,IAAI,qBAAS,CAAC,YAAY,EAAE,GAAG,SAAS,OAAO,EAAE,GAAG,SAAS,KAAK,CAGxE,CAAC;IACJ,CAAC;IAES,OAAO,CAAC,SAAiB;QACjC,OAAO,IAAI,iBAAO,CAAC,GAAG,SAAS,OAAO,EAAE,GAAG,SAAS,KAAK,CAGxD,CAAC;IACJ,CAAC;CACF;AA/GD,8BA+GC;AAED;;;GAGG;AACH,MAAsB,QAEpB,SAAQ,SAAiB;IAGzB,YAAY,GAAG,IAAW;QACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACf,IAAK,IAAI,CAAC,cAAiC,KAAK,OAAO,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,KAAK;QACzB,OAAO,MAAM,IAAA,8BAAU,EAAC,IAAI,CAAC,cAAkD,CAAC,CAAC;IACnF,CAAC;CACF;AAfD,4BAeC;AAKoB,yBAAK;AA2B1B;;;GAGG;AACH,MAAsB,UAEpB,SAAQ,SAAiB;IACzB,YAAY,GAAG,IAAW;QACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,mBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,cAAgC,CAAC,EAAE,MAAM,CAAC;QACnF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,KAAK;QACzB,OAAO,MAAM,IAAA,iCAAa,EAAC,IAAI,CAAC,cAAgC,CAAC,CAAC;IACpE,CAAC;CACF;AAdD,gCAcC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SafeFinderDirection, SafeFinderFilters, SafeFinderModelInstance, SafeFinderQuery } from "./SafeFinder";
|
|
2
|
+
type AbstractConstructor<T = object> = abstract new (...args: any[]) => T;
|
|
3
|
+
export declare function BaseModelSafeFinderStaticsMixin<TBase extends AbstractConstructor<SafeFinderModelInstance>>(Base: TBase): ((abstract new (...args: any[]) => {
|
|
4
|
+
tableName: string;
|
|
5
|
+
connectionName: string;
|
|
6
|
+
getDB(): Promise<unknown>;
|
|
7
|
+
}) & {
|
|
8
|
+
create(this: new (...args: any[]) => SafeFinderModelInstance, data: Record<string, unknown>): Promise<SafeFinderModelInstance | null>;
|
|
9
|
+
createMany(this: new (...args: any[]) => SafeFinderModelInstance, rows: Record<string, unknown>[]): Promise<SafeFinderModelInstance[]>;
|
|
10
|
+
find(this: new (...args: any[]) => SafeFinderModelInstance, id: number | string, pk?: string): Promise<SafeFinderModelInstance | null>;
|
|
11
|
+
updateById(this: new (...args: any[]) => SafeFinderModelInstance, id: number | string, data: Record<string, unknown>, pk?: string): Promise<void>;
|
|
12
|
+
updateMany(this: new (...args: any[]) => SafeFinderModelInstance, ids: Array<number | string>, data: Record<string, unknown>, pk?: string): Promise<void>;
|
|
13
|
+
patchMany(this: new (...args: any[]) => SafeFinderModelInstance, rows: Record<string, unknown>[], pk?: string): Promise<void>;
|
|
14
|
+
deleteById(this: new (...args: any[]) => SafeFinderModelInstance, id: number | string, pk?: string): Promise<void>;
|
|
15
|
+
deleteMany(this: new (...args: any[]) => SafeFinderModelInstance, ids: Array<number | string>, pk?: string): Promise<void>;
|
|
16
|
+
restoreById(this: new (...args: any[]) => SafeFinderModelInstance, id: number | string, pk?: string): Promise<void>;
|
|
17
|
+
restoreMany(this: new (...args: any[]) => SafeFinderModelInstance, ids: Array<number | string>, pk?: string): Promise<void>;
|
|
18
|
+
where<T extends /*elided*/ any & TBase>(this: T, field: string, value: unknown): SafeFinderQuery<InstanceType<T>>;
|
|
19
|
+
with<T extends /*elided*/ any & TBase>(this: T, ...relations: string[]): SafeFinderQuery<InstanceType<T>>;
|
|
20
|
+
active<T extends /*elided*/ any & TBase>(this: T, ...args: unknown[]): SafeFinderQuery<InstanceType<T>>;
|
|
21
|
+
inactive<T extends /*elided*/ any & TBase>(this: T, ...args: unknown[]): SafeFinderQuery<InstanceType<T>>;
|
|
22
|
+
published<T extends /*elided*/ any & TBase>(this: T, ...args: unknown[]): SafeFinderQuery<InstanceType<T>>;
|
|
23
|
+
orderBy<T extends /*elided*/ any & TBase>(this: T, field: string, direction?: SafeFinderDirection): SafeFinderQuery<InstanceType<T>>;
|
|
24
|
+
limit<T extends /*elided*/ any & TBase>(this: T, count: number): SafeFinderQuery<InstanceType<T>>;
|
|
25
|
+
get<T extends /*elided*/ any & TBase>(this: T): Promise<InstanceType<T>[]>;
|
|
26
|
+
first<T extends /*elided*/ any & TBase>(this: T): Promise<InstanceType<T> | null>;
|
|
27
|
+
findBy<T extends /*elided*/ any & TBase>(this: T, field: string, value: unknown): SafeFinderQuery<InstanceType<T>>;
|
|
28
|
+
findOneBy<T extends /*elided*/ any & TBase>(this: T, field: string, value: unknown): Promise<InstanceType<T> | null>;
|
|
29
|
+
findAllBy<T extends /*elided*/ any & TBase>(this: T, filters: SafeFinderFilters): Promise<InstanceType<T>[]>;
|
|
30
|
+
existsBy<T extends /*elided*/ any & TBase>(this: T, filters: SafeFinderFilters): Promise<boolean>;
|
|
31
|
+
}) & TBase;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=BaseModelSafeFinderStatics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseModelSafeFinderStatics.d.ts","sourceRoot":"","sources":["../../../src/core/model/BaseModelSafeFinderStatics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseModelSafeFinderStaticsMixin = BaseModelSafeFinderStaticsMixin;
|
|
4
|
+
const CoreModel_1 = require("./CoreModel");
|
|
5
|
+
function BaseModelSafeFinderStaticsMixin(Base) {
|
|
6
|
+
class BaseModelSafeFinderStatics extends Base {
|
|
7
|
+
static create(data) {
|
|
8
|
+
const instance = new this();
|
|
9
|
+
return instance.create(data);
|
|
10
|
+
}
|
|
11
|
+
static async createMany(rows) {
|
|
12
|
+
return CoreModel_1.CoreModel.createMany.call(this, rows);
|
|
13
|
+
}
|
|
14
|
+
static find(id, pk = "id") {
|
|
15
|
+
const instance = new this();
|
|
16
|
+
return instance.find(id, pk);
|
|
17
|
+
}
|
|
18
|
+
static updateById(id, data, pk = "id") {
|
|
19
|
+
const instance = new this();
|
|
20
|
+
return instance.update(id, data, pk);
|
|
21
|
+
}
|
|
22
|
+
static updateMany(ids, data, pk = "id") {
|
|
23
|
+
return CoreModel_1.CoreModel.updateMany.call(this, ids, data, pk);
|
|
24
|
+
}
|
|
25
|
+
static patchMany(rows, pk = "id") {
|
|
26
|
+
return CoreModel_1.CoreModel.patchMany.call(this, rows, pk);
|
|
27
|
+
}
|
|
28
|
+
static deleteById(id, pk = "id") {
|
|
29
|
+
const instance = new this();
|
|
30
|
+
return instance.delete(id, pk);
|
|
31
|
+
}
|
|
32
|
+
static deleteMany(ids, pk = "id") {
|
|
33
|
+
return CoreModel_1.CoreModel.deleteMany.call(this, ids, pk);
|
|
34
|
+
}
|
|
35
|
+
static restoreById(id, pk = "id") {
|
|
36
|
+
const instance = new this();
|
|
37
|
+
if (typeof instance.restore !== "function") {
|
|
38
|
+
return Promise.reject(new Error(`${this.name || "Model"} does not support restoreById().`));
|
|
39
|
+
}
|
|
40
|
+
return instance.restore(id, pk);
|
|
41
|
+
}
|
|
42
|
+
static restoreMany(ids, pk = "id") {
|
|
43
|
+
return CoreModel_1.CoreModel.restoreMany.call(this, ids, pk);
|
|
44
|
+
}
|
|
45
|
+
static where(field, value) {
|
|
46
|
+
return CoreModel_1.CoreModel.where.call(this, field, value);
|
|
47
|
+
}
|
|
48
|
+
static with(...relations) {
|
|
49
|
+
return CoreModel_1.CoreModel.with.call(this, ...relations);
|
|
50
|
+
}
|
|
51
|
+
static active(...args) {
|
|
52
|
+
return CoreModel_1.CoreModel.active.call(this, ...args);
|
|
53
|
+
}
|
|
54
|
+
static inactive(...args) {
|
|
55
|
+
return CoreModel_1.CoreModel.inactive.call(this, ...args);
|
|
56
|
+
}
|
|
57
|
+
static published(...args) {
|
|
58
|
+
return CoreModel_1.CoreModel.published.call(this, ...args);
|
|
59
|
+
}
|
|
60
|
+
static orderBy(field, direction = "asc") {
|
|
61
|
+
return CoreModel_1.CoreModel.orderBy.call(this, field, direction);
|
|
62
|
+
}
|
|
63
|
+
static limit(count) {
|
|
64
|
+
return CoreModel_1.CoreModel.limit.call(this, count);
|
|
65
|
+
}
|
|
66
|
+
static get() {
|
|
67
|
+
return CoreModel_1.CoreModel.get.call(this);
|
|
68
|
+
}
|
|
69
|
+
static first() {
|
|
70
|
+
return CoreModel_1.CoreModel.first.call(this);
|
|
71
|
+
}
|
|
72
|
+
static findBy(field, value) {
|
|
73
|
+
return CoreModel_1.CoreModel.findBy.call(this, field, value);
|
|
74
|
+
}
|
|
75
|
+
static findOneBy(field, value) {
|
|
76
|
+
return CoreModel_1.CoreModel.findOneBy.call(this, field, value);
|
|
77
|
+
}
|
|
78
|
+
static findAllBy(filters) {
|
|
79
|
+
return CoreModel_1.CoreModel.findAllBy.call(this, filters);
|
|
80
|
+
}
|
|
81
|
+
static existsBy(filters) {
|
|
82
|
+
return CoreModel_1.CoreModel.existsBy.call(this, filters);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return BaseModelSafeFinderStatics;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=BaseModelSafeFinderStatics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseModelSafeFinderStatics.js","sourceRoot":"","sources":["../../../src/core/model/BaseModelSafeFinderStatics.ts"],"names":[],"mappings":"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"}
|