typeorm 0.2.45 → 0.2.46-dev.486f8c5
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/browser/cache/DbQueryResultCache.js +6 -6
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/cache/RedisQueryResultCache.js +2 -2
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/connection/Connection.js +2 -2
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.js +2 -2
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +10 -10
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +157 -157
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +3 -3
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +4 -4
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +2 -2
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/browser/driver/capacitor/CapacitorDriver.js +1 -1
- package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.js +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +6 -6
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +153 -153
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +3 -3
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.js +4 -4
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.js +11 -11
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +163 -163
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.js +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.js +10 -10
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +124 -124
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.js +18 -18
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +229 -229
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapDriver.js +9 -9
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +126 -126
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js +4 -4
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +3 -3
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +61 -61
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.js +3 -3
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.js +11 -11
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +203 -203
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/EntityManager.js +4 -4
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +1 -1
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaEmbeddedError.js +2 -2
- package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/browser/error/AlreadyHasActiveConnectionError.js +1 -1
- package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/browser/error/CannotAttachTreeChildrenEntityError.js +1 -1
- package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/browser/error/CannotConnectAlreadyConnectedError.js +1 -1
- package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/browser/error/CannotCreateEntityIdMapError.js +1 -1
- package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/browser/error/CannotDetermineEntityError.js +1 -1
- package/browser/error/CannotDetermineEntityError.js.map +1 -1
- package/browser/error/CannotExecuteNotConnectedError.js +1 -1
- package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/browser/error/CannotGetEntityManagerNotConnectedError.js +1 -1
- package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/browser/error/CannotReflectMethodParameterTypeError.js +1 -1
- package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/browser/error/CircularRelationsError.js +1 -1
- package/browser/error/CircularRelationsError.js.map +1 -1
- package/browser/error/ColumnTypeUndefinedError.js +1 -1
- package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
- package/browser/error/ConnectionIsNotSetError.js +1 -1
- package/browser/error/ConnectionIsNotSetError.js.map +1 -1
- package/browser/error/ConnectionNotFoundError.js +1 -1
- package/browser/error/ConnectionNotFoundError.js.map +1 -1
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +1 -1
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +1 -1
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/browser/error/CustomRepositoryNotFoundError.js +1 -1
- package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/browser/error/DataTypeNotSupportedError.js +1 -1
- package/browser/error/DataTypeNotSupportedError.js.map +1 -1
- package/browser/error/DriverOptionNotSetError.js +1 -1
- package/browser/error/DriverOptionNotSetError.js.map +1 -1
- package/browser/error/DriverPackageNotInstalledError.js +2 -2
- package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
- package/browser/error/EntityColumnNotFound.js +1 -1
- package/browser/error/EntityColumnNotFound.js.map +1 -1
- package/browser/error/EntityMetadataNotFoundError.js +1 -1
- package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
- package/browser/error/EntityNotFoundError.js +2 -2
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/error/FindRelationsNotFoundError.js +2 -2
- package/browser/error/FindRelationsNotFoundError.js.map +1 -1
- package/browser/error/InitializedRelationError.js +1 -1
- package/browser/error/InitializedRelationError.js.map +1 -1
- package/browser/error/MissingDeleteDateColumnError.js +1 -1
- package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
- package/browser/error/MissingDriverError.js +2 -2
- package/browser/error/MissingDriverError.js.map +1 -1
- package/browser/error/MissingJoinColumnError.js +3 -3
- package/browser/error/MissingJoinColumnError.js.map +1 -1
- package/browser/error/MissingJoinTableError.js +3 -3
- package/browser/error/MissingJoinTableError.js.map +1 -1
- package/browser/error/MissingPrimaryColumnError.js +1 -1
- package/browser/error/MissingPrimaryColumnError.js.map +1 -1
- package/browser/error/MustBeEntityError.js +1 -1
- package/browser/error/MustBeEntityError.js.map +1 -1
- package/browser/error/NamingStrategyNotFoundError.js +2 -2
- package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
- package/browser/error/NoConnectionForRepositoryError.js +1 -1
- package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
- package/browser/error/NoConnectionOptionError.js +2 -2
- package/browser/error/NoConnectionOptionError.js.map +1 -1
- package/browser/error/NoVersionOrUpdateDateColumnError.js +1 -1
- package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/browser/error/OptimisticLockVersionMismatchError.js +1 -1
- package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/browser/error/PrimaryColumnCannotBeNullableError.js +1 -1
- package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/browser/error/RepositoryNotFoundError.js +2 -2
- package/browser/error/RepositoryNotFoundError.js.map +1 -1
- package/browser/error/RepositoryNotTreeError.js +1 -1
- package/browser/error/RepositoryNotTreeError.js.map +1 -1
- package/browser/error/SubjectRemovedAndUpdatedError.js +1 -1
- package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/browser/error/SubjectWithoutIdentifierError.js +1 -1
- package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/browser/error/TreeRepositoryNotSupportedError.js +1 -1
- package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/browser/error/UsingJoinColumnIsNotAllowedError.js +1 -1
- package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -1
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableIsNotAllowedError.js +2 -2
- package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -1
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +6 -6
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/logger/FileLogger.js +3 -3
- package/browser/logger/FileLogger.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.js +1 -1
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.js +1 -1
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata/RelationCountMetadata.js +1 -1
- package/browser/metadata/RelationCountMetadata.js.map +1 -1
- package/browser/metadata/RelationIdMetadata.js +1 -1
- package/browser/metadata/RelationIdMetadata.js.map +1 -1
- package/browser/metadata/UniqueMetadata.js +1 -1
- package/browser/metadata/UniqueMetadata.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +9 -9
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +2 -2
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +16 -16
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js +11 -11
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.js +17 -17
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +2 -2
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/NestedSetSubjectExecutor.js +44 -44
- package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/browser/platform/BrowserPlatformTools.js +9 -9
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/platform/PlatformTools.js +1 -1
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/Alias.js +1 -1
- package/browser/query-builder/Alias.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.js +3 -3
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +22 -22
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.js +1 -1
- package/browser/query-builder/JoinAttribute.js.map +1 -1
- package/browser/query-builder/QueryBuilder.js +39 -39
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.js +2 -2
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/RelationLoader.js +7 -7
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.js +3 -3
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.js +4 -4
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/RelationUpdater.js +1 -1
- package/browser/query-builder/RelationUpdater.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +23 -23
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js +4 -4
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +7 -7
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.js +1 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.js +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js +4 -4
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.js +7 -7
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/repository/TreeRepository.js +7 -7
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js +19 -19
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/subscriber/Broadcaster.js +1 -1
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/util/DateUtils.js +1 -1
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/DepGraph.js +7 -7
- package/browser/util/DepGraph.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js +2 -2
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/PathUtils.js +1 -1
- package/browser/util/PathUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +6 -6
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/RedisQueryResultCache.js +2 -2
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli.js +0 -0
- package/commands/CommandUtils.js +1 -1
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +3 -3
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.js +6 -6
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.js +3 -3
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.js +8 -8
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +1 -1
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +2 -2
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/connection/Connection.js +2 -2
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionOptionsReader.js +2 -2
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.js +10 -10
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +157 -157
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +3 -3
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +4 -4
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +2 -2
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/capacitor/CapacitorDriver.js +1 -1
- package/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.js +1 -1
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +6 -6
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +153 -153
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +1 -1
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +3 -3
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoDriver.js +4 -4
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mysql/MysqlDriver.js +11 -11
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +163 -163
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleDriver.js +10 -10
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +124 -124
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresDriver.js +18 -18
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +229 -229
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.js +9 -9
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +126 -126
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js +4 -4
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +3 -3
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +61 -61
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +3 -3
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.js +11 -11
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +203 -203
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/EntityManager.js +4 -4
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +1 -1
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaEmbeddedError.js +2 -2
- package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.js +1 -1
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.js +1 -1
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.js +1 -1
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.js +1 -1
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.js +1 -1
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.js +1 -1
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.js +1 -1
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.js +1 -1
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.js +1 -1
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.js +1 -1
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/error/CustomRepositoryNotFoundError.js +1 -1
- package/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.js +1 -1
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.js +1 -1
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.js +2 -2
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityColumnNotFound.js +1 -1
- package/error/EntityColumnNotFound.js.map +1 -1
- package/error/EntityMetadataNotFoundError.js +1 -1
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.js +2 -2
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js +2 -2
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/InitializedRelationError.js +1 -1
- package/error/InitializedRelationError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.js +1 -1
- package/error/MissingDeleteDateColumnError.js.map +1 -1
- package/error/MissingDriverError.js +2 -2
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.js +3 -3
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.js +3 -3
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.js +1 -1
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.js +1 -1
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NamingStrategyNotFoundError.js +2 -2
- package/error/NamingStrategyNotFoundError.js.map +1 -1
- package/error/NoConnectionForRepositoryError.js +1 -1
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.js +2 -2
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.js +1 -1
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/RepositoryNotFoundError.js +2 -2
- package/error/RepositoryNotFoundError.js.map +1 -1
- package/error/RepositoryNotTreeError.js +1 -1
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.js +1 -1
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.js +1 -1
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.js +1 -1
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.js +2 -2
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/find-options/FindOptionsUtils.js +6 -6
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/logger/FileLogger.js +3 -3
- package/logger/FileLogger.js.map +1 -1
- package/metadata/EmbeddedMetadata.js +1 -1
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/IndexMetadata.js +1 -1
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationCountMetadata.js +1 -1
- package/metadata/RelationCountMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.js +1 -1
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.js +1 -1
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +1 -1
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +9 -9
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +2 -2
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.js +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/MigrationExecutor.js +16 -16
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.js +11 -11
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/package.json +1 -260
- package/persistence/tree/ClosureSubjectExecutor.js +17 -17
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +2 -2
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.js +44 -44
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.js +1 -1
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.js +1 -1
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.js +3 -3
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +22 -22
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.js +1 -1
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/QueryBuilder.js +39 -39
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryExpressionMap.js +2 -2
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/RelationLoader.js +7 -7
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.js +3 -3
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.js +4 -4
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.js +1 -1
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +23 -23
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +4 -4
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +7 -7
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/relation-count/RelationCountAttribute.js +1 -1
- package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.js +1 -1
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js +4 -4
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-runner/BaseQueryRunner.js +7 -7
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/repository/TreeRepository.js +7 -7
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js +19 -19
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/subscriber/Broadcaster.js +1 -1
- package/subscriber/Broadcaster.js.map +1 -1
- package/util/DateUtils.js +1 -1
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.js +7 -7
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js +2 -2
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/PathUtils.js +1 -1
- package/util/PathUtils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/naming-strategy/DefaultNamingStrategy.ts"],"names":[],"mappings":"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","file":"DefaultNamingStrategy.js","sourcesContent":["import {NamingStrategyInterface} from \"./NamingStrategyInterface\";\nimport {RandomGenerator} from \"../util/RandomGenerator\";\nimport {camelCase, snakeCase, titleCase} from \"../util/StringUtils\";\nimport {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy that is used by default.\n */\nexport class DefaultNamingStrategy implements NamingStrategyInterface {\n protected getTableName(tableOrName: Table | string): string {\n if (tableOrName instanceof Table) {\n tableOrName = tableOrName.name;\n }\n\n return tableOrName.split(\".\").pop()!;\n }\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string {\n return userSpecifiedName ? userSpecifiedName : snakeCase(targetName);\n }\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string {\n return originalClosureTableName + \"_closure\";\n }\n\n columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string {\n const name = customName || propertyName;\n\n if (embeddedPrefixes.length)\n return camelCase(embeddedPrefixes.join(\"_\")) + titleCase(name);\n\n return name;\n }\n\n relationName(propertyName: string): string {\n return propertyName;\n }\n\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"PK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"UQ_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"REL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n defaultConstraintName(tableOrName: Table|string, columnName: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${columnName}`;\n return \"DF_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n foreignKeyName(tableOrName: Table|string, columnNames: string[], _referencedTablePath?: string, _referencedColumnNames?: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"FK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n indexName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"IDX_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n checkConstraintName(tableOrName: Table|string, expression: string, isEnum?: boolean): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n const name = \"CHK_\" + RandomGenerator.sha1(key).substr(0, 26);\n return isEnum ? `${name}_ENUM` : name;\n }\n\n exclusionConstraintName(tableOrName: Table|string, expression: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n return \"XCL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n joinColumnName(relationName: string, referencedColumnName: string): string {\n return camelCase(relationName + \"_\" + referencedColumnName);\n }\n\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string {\n return snakeCase(firstTableName + \"_\" + firstPropertyName.replace(/\\./gi, \"_\") + \"_\" + secondTableName);\n }\n\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string {\n return columnName + \"_\" + index;\n }\n\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return camelCase(tableName + \"_\" + (columnName ? columnName : propertyName));\n }\n\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return this.joinTableColumnName(tableName, propertyName, columnName);\n }\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string {\n return prefix + tableName;\n }\n\n eagerJoinRelationAlias(alias: string, propertyPath: string): string {\n return alias + \"_\" + propertyPath.replace(\".\", \"_\");\n }\n\n nestedSetColumnNames = { left: \"nsleft\", right: \"nsright\" };\n materializedPathColumnName = \"mpath\";\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/naming-strategy/DefaultNamingStrategy.ts"],"names":[],"mappings":"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","file":"DefaultNamingStrategy.js","sourcesContent":["import {NamingStrategyInterface} from \"./NamingStrategyInterface\";\nimport {RandomGenerator} from \"../util/RandomGenerator\";\nimport {camelCase, snakeCase, titleCase} from \"../util/StringUtils\";\nimport {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy that is used by default.\n */\nexport class DefaultNamingStrategy implements NamingStrategyInterface {\n protected getTableName(tableOrName: Table | string): string {\n if (tableOrName instanceof Table) {\n tableOrName = tableOrName.name;\n }\n\n return tableOrName.split(\".\").pop()!;\n }\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string {\n return userSpecifiedName ? userSpecifiedName : snakeCase(targetName);\n }\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string {\n return originalClosureTableName + \"_closure\";\n }\n\n columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string {\n const name = customName || propertyName;\n\n if (embeddedPrefixes.length)\n return camelCase(embeddedPrefixes.join(\"_\")) + titleCase(name);\n\n return name;\n }\n\n relationName(propertyName: string): string {\n return propertyName;\n }\n\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"PK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"UQ_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"REL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n defaultConstraintName(tableOrName: Table|string, columnName: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${columnName}`;\n return \"DF_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n foreignKeyName(tableOrName: Table|string, columnNames: string[], _referencedTablePath?: string, _referencedColumnNames?: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"FK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n indexName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"IDX_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n checkConstraintName(tableOrName: Table|string, expression: string, isEnum?: boolean): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n const name = \"CHK_\" + RandomGenerator.sha1(key).substr(0, 26);\n return isEnum ? `${name}_ENUM` : name;\n }\n\n exclusionConstraintName(tableOrName: Table|string, expression: string): string {\n const tableName = this.getTableName(tableOrName);\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n return \"XCL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n joinColumnName(relationName: string, referencedColumnName: string): string {\n return camelCase(relationName + \"_\" + referencedColumnName);\n }\n\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string {\n return snakeCase(firstTableName + \"_\" + firstPropertyName.replace(/\\./gi, \"_\") + \"_\" + secondTableName);\n }\n\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string {\n return columnName + \"_\" + index;\n }\n\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return camelCase(tableName + \"_\" + (columnName ? columnName : propertyName));\n }\n\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return this.joinTableColumnName(tableName, propertyName, columnName);\n }\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string {\n return prefix + tableName;\n }\n\n eagerJoinRelationAlias(alias: string, propertyPath: string): string {\n return alias + \"_\" + propertyPath.replace(\".\", \"_\");\n }\n\n nestedSetColumnNames = { left: \"nsleft\", right: \"nsright\" };\n materializedPathColumnName = \"mpath\";\n}\n"],"sourceRoot":".."}
|
package/package.json
CHANGED
|
@@ -1,260 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "typeorm",
|
|
3
|
-
"private": false,
|
|
4
|
-
"version": "0.2.45",
|
|
5
|
-
"description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"readmeFilename": "README.md",
|
|
8
|
-
"author": {
|
|
9
|
-
"name": "Umed Khudoiberdiev",
|
|
10
|
-
"email": "pleerock.me@gmail.com"
|
|
11
|
-
},
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"node": {
|
|
15
|
-
"import": "./index.mjs",
|
|
16
|
-
"require": "./index.js"
|
|
17
|
-
},
|
|
18
|
-
"browser": {
|
|
19
|
-
"require": "./index.js",
|
|
20
|
-
"import": "./browser/index.js",
|
|
21
|
-
"default": "./index.js"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"./browser": "./browser/index.js",
|
|
25
|
-
"./*.js": "./*.js",
|
|
26
|
-
"./*": {
|
|
27
|
-
"require": "./*.js",
|
|
28
|
-
"import": "./*"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"main": "./index.js",
|
|
32
|
-
"module": "./index.mjs",
|
|
33
|
-
"types": "./index.d.ts",
|
|
34
|
-
"browser": {
|
|
35
|
-
"./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js",
|
|
36
|
-
"./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js",
|
|
37
|
-
"./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js",
|
|
38
|
-
"./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
39
|
-
"./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
40
|
-
"./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
41
|
-
"./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
42
|
-
"./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
43
|
-
"./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
44
|
-
"./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
45
|
-
"./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
46
|
-
"./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
47
|
-
"./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
48
|
-
"./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
49
|
-
"./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
50
|
-
"./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js",
|
|
51
|
-
"./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js",
|
|
52
|
-
"./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js",
|
|
53
|
-
"./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js",
|
|
54
|
-
"./index.js": "./browser/index.js",
|
|
55
|
-
"./index.mjs": "./browser/index.js"
|
|
56
|
-
},
|
|
57
|
-
"repository": {
|
|
58
|
-
"type": "git",
|
|
59
|
-
"url": "https://github.com/typeorm/typeorm.git"
|
|
60
|
-
},
|
|
61
|
-
"bugs": {
|
|
62
|
-
"url": "https://github.com/typeorm/typeorm/issues"
|
|
63
|
-
},
|
|
64
|
-
"tags": [
|
|
65
|
-
"orm",
|
|
66
|
-
"typescript",
|
|
67
|
-
"typescript-orm",
|
|
68
|
-
"mysql",
|
|
69
|
-
"mysql-orm",
|
|
70
|
-
"postgresql",
|
|
71
|
-
"postgresql-orm",
|
|
72
|
-
"mariadb",
|
|
73
|
-
"mariadb-orm",
|
|
74
|
-
"sqlite",
|
|
75
|
-
"sqlite-orm",
|
|
76
|
-
"sql-server",
|
|
77
|
-
"sql-server-orm",
|
|
78
|
-
"oracle",
|
|
79
|
-
"oracle-orm"
|
|
80
|
-
],
|
|
81
|
-
"devDependencies": {
|
|
82
|
-
"@types/app-root-path": "^1.2.4",
|
|
83
|
-
"@types/chai": "^4.2.15",
|
|
84
|
-
"@types/chai-as-promised": "^7.1.3",
|
|
85
|
-
"@types/debug": "^4.1.5",
|
|
86
|
-
"@types/js-yaml": "^4.0.0",
|
|
87
|
-
"@types/mkdirp": "^1.0.1",
|
|
88
|
-
"@types/mocha": "^8.2.1",
|
|
89
|
-
"@types/node": "^14.14.31",
|
|
90
|
-
"@types/rimraf": "^3.0.0",
|
|
91
|
-
"@types/sha.js": "^2.4.0",
|
|
92
|
-
"@types/sinon": "^9.0.10",
|
|
93
|
-
"@types/source-map-support": "^0.5.3",
|
|
94
|
-
"@types/uuid": "^8.3.4",
|
|
95
|
-
"@types/xml2js": "^0.4.8",
|
|
96
|
-
"@types/yargs": "^17.0.2",
|
|
97
|
-
"@typescript-eslint/eslint-plugin": "^4.15.2",
|
|
98
|
-
"@typescript-eslint/parser": "^4.15.2",
|
|
99
|
-
"better-sqlite3": "^7.1.2",
|
|
100
|
-
"chai": "^4.3.0",
|
|
101
|
-
"chai-as-promised": "^7.1.1",
|
|
102
|
-
"class-transformer": "^0.4.0",
|
|
103
|
-
"conventional-changelog-angular": "^5.0.12",
|
|
104
|
-
"conventional-changelog-cli": "^2.1.1",
|
|
105
|
-
"del": "^6.0.0",
|
|
106
|
-
"eslint": "^7.20.0",
|
|
107
|
-
"gulp": "^4.0.2",
|
|
108
|
-
"gulp-eslint": "^6.0.0",
|
|
109
|
-
"gulp-istanbul": "^1.1.3",
|
|
110
|
-
"gulp-mocha": "^8.0.0",
|
|
111
|
-
"gulp-rename": "^2.0.0",
|
|
112
|
-
"gulp-replace": "^1.0.0",
|
|
113
|
-
"gulp-shell": "^0.8.0",
|
|
114
|
-
"gulp-sourcemaps": "^3.0.0",
|
|
115
|
-
"gulp-typescript": "^6.0.0-alpha.1",
|
|
116
|
-
"gulpclass": "^0.2.0",
|
|
117
|
-
"husky": "^5.1.1",
|
|
118
|
-
"lint-staged": "^10.5.4",
|
|
119
|
-
"mocha": "^8.3.0",
|
|
120
|
-
"mongodb": "^3.6.4",
|
|
121
|
-
"mssql": "^6.3.1",
|
|
122
|
-
"mysql": "^2.18.1",
|
|
123
|
-
"mysql2": "^2.2.5",
|
|
124
|
-
"oracledb": "^5.1.0",
|
|
125
|
-
"pg": "^8.5.1",
|
|
126
|
-
"pg-query-stream": "^4.0.0",
|
|
127
|
-
"redis": "^3.1.1",
|
|
128
|
-
"remap-istanbul": "^0.13.0",
|
|
129
|
-
"rimraf": "^3.0.2",
|
|
130
|
-
"sinon": "^9.2.4",
|
|
131
|
-
"sinon-chai": "^3.5.0",
|
|
132
|
-
"source-map-support": "^0.5.19",
|
|
133
|
-
"sql.js": "^1.4.0",
|
|
134
|
-
"sqlite3": "^5.0.2",
|
|
135
|
-
"ts-node": "^9.1.1",
|
|
136
|
-
"typeorm-aurora-data-api-driver": "^2.0.0",
|
|
137
|
-
"typescript": "^4.2.2"
|
|
138
|
-
},
|
|
139
|
-
"peerDependencies": {
|
|
140
|
-
"@sap/hana-client": "^2.11.14",
|
|
141
|
-
"better-sqlite3": "^7.1.2",
|
|
142
|
-
"hdb-pool": "^0.1.6",
|
|
143
|
-
"ioredis": "^4.28.3",
|
|
144
|
-
"mongodb": "^3.6.0",
|
|
145
|
-
"mssql": "^6.3.1",
|
|
146
|
-
"mysql2": "^2.2.5",
|
|
147
|
-
"oracledb": "^5.1.0",
|
|
148
|
-
"pg": "^8.5.1",
|
|
149
|
-
"pg-native": "^3.0.0",
|
|
150
|
-
"pg-query-stream": "^4.0.0",
|
|
151
|
-
"redis": "^3.1.1",
|
|
152
|
-
"sql.js": "^1.4.0",
|
|
153
|
-
"sqlite3": "^5.0.2",
|
|
154
|
-
"typeorm-aurora-data-api-driver": "^2.0.0"
|
|
155
|
-
},
|
|
156
|
-
"peerDependenciesMeta": {
|
|
157
|
-
"@sap/hana-client": {
|
|
158
|
-
"optional": true
|
|
159
|
-
},
|
|
160
|
-
"better-sqlite3": {
|
|
161
|
-
"optional": true
|
|
162
|
-
},
|
|
163
|
-
"hdb-pool": {
|
|
164
|
-
"optional": true
|
|
165
|
-
},
|
|
166
|
-
"ioredis": {
|
|
167
|
-
"optional": true
|
|
168
|
-
},
|
|
169
|
-
"mongodb": {
|
|
170
|
-
"optional": true
|
|
171
|
-
},
|
|
172
|
-
"mssql": {
|
|
173
|
-
"optional": true
|
|
174
|
-
},
|
|
175
|
-
"mysql2": {
|
|
176
|
-
"optional": true
|
|
177
|
-
},
|
|
178
|
-
"oracledb": {
|
|
179
|
-
"optional": true
|
|
180
|
-
},
|
|
181
|
-
"pg": {
|
|
182
|
-
"optional": true
|
|
183
|
-
},
|
|
184
|
-
"pg-native": {
|
|
185
|
-
"optional": true
|
|
186
|
-
},
|
|
187
|
-
"pg-query-stream": {
|
|
188
|
-
"optional": true
|
|
189
|
-
},
|
|
190
|
-
"redis": {
|
|
191
|
-
"optional": true
|
|
192
|
-
},
|
|
193
|
-
"sql.js": {
|
|
194
|
-
"optional": true
|
|
195
|
-
},
|
|
196
|
-
"sqlite3": {
|
|
197
|
-
"optional": true
|
|
198
|
-
},
|
|
199
|
-
"typeorm-aurora-data-api-driver": {
|
|
200
|
-
"optional": true
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
"dependencies": {
|
|
204
|
-
"@sqltools/formatter": "^1.2.2",
|
|
205
|
-
"app-root-path": "^3.0.0",
|
|
206
|
-
"buffer": "^6.0.3",
|
|
207
|
-
"chalk": "^4.1.0",
|
|
208
|
-
"cli-highlight": "^2.1.11",
|
|
209
|
-
"debug": "^4.3.1",
|
|
210
|
-
"dotenv": "^8.2.0",
|
|
211
|
-
"glob": "^7.1.6",
|
|
212
|
-
"js-yaml": "^4.0.0",
|
|
213
|
-
"mkdirp": "^1.0.4",
|
|
214
|
-
"reflect-metadata": "^0.1.13",
|
|
215
|
-
"sha.js": "^2.4.11",
|
|
216
|
-
"tslib": "^2.1.0",
|
|
217
|
-
"uuid": "^8.3.2",
|
|
218
|
-
"xml2js": "^0.4.23",
|
|
219
|
-
"yargs": "^17.0.1",
|
|
220
|
-
"zen-observable-ts": "^1.0.0"
|
|
221
|
-
},
|
|
222
|
-
"lint-staged": {
|
|
223
|
-
"*.ts": [
|
|
224
|
-
"eslint --fix",
|
|
225
|
-
"git add"
|
|
226
|
-
]
|
|
227
|
-
},
|
|
228
|
-
"scripts": {
|
|
229
|
-
"test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test",
|
|
230
|
-
"test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test",
|
|
231
|
-
"compile": "rimraf ./build && tsc",
|
|
232
|
-
"watch": "./node_modules/.bin/tsc -w",
|
|
233
|
-
"package": "gulp package",
|
|
234
|
-
"pack": "gulp pack",
|
|
235
|
-
"lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts",
|
|
236
|
-
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 2"
|
|
237
|
-
},
|
|
238
|
-
"bin": "./cli.js",
|
|
239
|
-
"funding": "https://opencollective.com/typeorm",
|
|
240
|
-
"collective": {
|
|
241
|
-
"type": "opencollective",
|
|
242
|
-
"url": "https://opencollective.com/typeorm",
|
|
243
|
-
"logo": "https://opencollective.com/opencollective/logo.txt"
|
|
244
|
-
},
|
|
245
|
-
"nyc": {
|
|
246
|
-
"all": true,
|
|
247
|
-
"cache": false,
|
|
248
|
-
"exclude": [
|
|
249
|
-
"**/*.d.ts"
|
|
250
|
-
],
|
|
251
|
-
"extension": [
|
|
252
|
-
".ts"
|
|
253
|
-
],
|
|
254
|
-
"include": [
|
|
255
|
-
"build/compiled/src/**",
|
|
256
|
-
"src/**"
|
|
257
|
-
],
|
|
258
|
-
"reporter": "json"
|
|
259
|
-
}
|
|
260
|
-
}
|
|
1
|
+
{ "name": "typeorm", "private": false, "version": "0.2.46-dev.486f8c5", "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.", "license": "MIT", "readmeFilename": "README.md", "author": { "name": "Umed Khudoiberdiev", "email": "pleerock.me@gmail.com" }, "exports": { ".": { "node": { "import": "./index.mjs", "require": "./index.js" }, "browser": { "require": "./index.js", "import": "./browser/index.js", "default": "./index.js" } }, "./browser": "./browser/index.js", "./*.js": "./*.js", "./*": { "require": "./*.js", "import": "./*" } }, "main": "./index.js", "module": "./index.mjs", "types": "./index.d.ts", "browser": { "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js", "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js", "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js", "./index.js": "./browser/index.js", "./index.mjs": "./browser/index.js" }, "repository": { "type": "git", "url": "https://github.com/typeorm/typeorm.git" }, "bugs": { "url": "https://github.com/typeorm/typeorm/issues" }, "tags": [ "orm", "typescript", "typescript-orm", "mysql", "mysql-orm", "postgresql", "postgresql-orm", "mariadb", "mariadb-orm", "sqlite", "sqlite-orm", "sql-server", "sql-server-orm", "oracle", "oracle-orm" ], "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/debug": "^4.1.5", "@types/js-yaml": "^4.0.0", "@types/mkdirp": "^1.0.1", "@types/mocha": "^8.2.1", "@types/node": "^14.14.31", "@types/rimraf": "^3.0.0", "@types/sha.js": "^2.4.0", "@types/sinon": "^9.0.10", "@types/source-map-support": "^0.5.3", "@types/uuid": "^8.3.4", "@types/xml2js": "^0.4.8", "@types/yargs": "^17.0.2", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "better-sqlite3": "^7.1.2", "chai": "^4.3.0", "chai-as-promised": "^7.1.1", "class-transformer": "^0.4.0", "conventional-changelog-angular": "^5.0.12", "conventional-changelog-cli": "^2.1.1", "del": "^6.0.0", "eslint": "^7.20.0", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", "gulp-istanbul": "^1.1.3", "gulp-mocha": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-replace": "^1.0.0", "gulp-shell": "^0.8.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", "gulpclass": "^0.2.0", "husky": "^5.1.1", "lint-staged": "^10.5.4", "mocha": "^8.3.0", "mongodb": "^3.6.4", "mssql": "^6.3.1", "mysql": "^2.18.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "remap-istanbul": "^0.13.0", "rimraf": "^3.0.2", "sinon": "^9.2.4", "sinon-chai": "^3.5.0", "source-map-support": "^0.5.19", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "ts-node": "^9.1.1", "typeorm-aurora-data-api-driver": "^2.0.0", "typescript": "^4.2.2" }, "peerDependencies": { "@sap/hana-client": "^2.11.14", "better-sqlite3": "^7.1.2", "hdb-pool": "^0.1.6", "ioredis": "^4.28.3", "mongodb": "^3.6.0", "mssql": "^6.3.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-native": "^3.0.0", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "typeorm-aurora-data-api-driver": "^2.0.0" }, "peerDependenciesMeta": { "@sap/hana-client": { "optional": true }, "better-sqlite3": { "optional": true }, "hdb-pool": { "optional": true }, "ioredis": { "optional": true }, "mongodb": { "optional": true }, "mssql": { "optional": true }, "mysql2": { "optional": true }, "oracledb": { "optional": true }, "pg": { "optional": true }, "pg-native": { "optional": true }, "pg-query-stream": { "optional": true }, "redis": { "optional": true }, "sql.js": { "optional": true }, "sqlite3": { "optional": true }, "typeorm-aurora-data-api-driver": { "optional": true } }, "dependencies": { "@sqltools/formatter": "^1.2.2", "app-root-path": "^3.0.0", "buffer": "^6.0.3", "chalk": "^4.1.0", "cli-highlight": "^2.1.11", "debug": "^4.3.1", "dotenv": "^8.2.0", "glob": "^7.1.6", "js-yaml": "^4.0.0", "mkdirp": "^1.0.4", "reflect-metadata": "^0.1.13", "sha.js": "^2.4.11", "tslib": "^2.1.0", "uuid": "^8.3.2", "xml2js": "^0.4.23", "yargs": "^17.0.1", "zen-observable-ts": "^1.0.0" }, "lint-staged": { "*.ts": [ "eslint --fix", "git add" ] }, "scripts": { "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "compile": "rimraf ./build && tsc", "watch": "./node_modules/.bin/tsc -w", "package": "gulp package", "pack": "gulp pack", "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 2" }, "bin": "./cli.js", "funding": "https://opencollective.com/typeorm", "collective": { "type": "opencollective", "url": "https://opencollective.com/typeorm", "logo": "https://opencollective.com/opencollective/logo.txt" }, "nyc": { "all": true, "cache": false, "exclude": [ "**/*.d.ts" ], "extension": [ ".ts" ], "include": [ "build/compiled/src/**", "src/**" ], "reporter": "json" } }
|
|
@@ -72,10 +72,10 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
72
72
|
throw new CannotAttachTreeChildrenEntityError_1.CannotAttachTreeChildrenEntityError(subject.metadata.name);
|
|
73
73
|
queryParams_1.push(parentId);
|
|
74
74
|
var parameterName = _this.queryRunner.connection.driver.createParameter("parent_entity_" + column.referencedColumn.databaseName, queryParams_1.length - 1);
|
|
75
|
-
return
|
|
75
|
+
return columnName + " = " + parameterName;
|
|
76
76
|
});
|
|
77
|
-
return [4 /*yield*/, this.queryRunner.query("INSERT INTO "
|
|
78
|
-
"SELECT "
|
|
77
|
+
return [4 /*yield*/, this.queryRunner.query("INSERT INTO " + tableName + " (" + (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames), false), (0, tslib_1.__read)(descendantColumnNames), false).join(", ") + ") " +
|
|
78
|
+
("SELECT " + ancestorColumnNames.join(", ") + ", " + childEntityIds1.join(", ") + " FROM " + tableName + " WHERE " + whereCondition.join(" AND ")), queryParams_1)];
|
|
79
79
|
case 2:
|
|
80
80
|
_a.sent();
|
|
81
81
|
_a.label = 3;
|
|
@@ -127,7 +127,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
127
127
|
});
|
|
128
128
|
createSubQuery = function (qb, alias) {
|
|
129
129
|
var e_2, _a;
|
|
130
|
-
var subAlias = "sub"
|
|
130
|
+
var subAlias = "sub" + alias;
|
|
131
131
|
var subSelect = qb.createQueryBuilder()
|
|
132
132
|
.select(descendantColumnNames.join(", "))
|
|
133
133
|
.from(closureTable.tablePath, subAlias);
|
|
@@ -135,7 +135,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
135
135
|
// Create where conditions e.g. (WHERE "subdescendant"."id_ancestor" = :value_id)
|
|
136
136
|
for (var _b = (0, tslib_1.__values)(closureTable.ancestorColumns), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
137
137
|
var column = _c.value;
|
|
138
|
-
subSelect.andWhere(
|
|
138
|
+
subSelect.andWhere(escape(subAlias) + "." + escape(column.databaseName) + " = :value_" + column.referencedColumn.databaseName);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -147,7 +147,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
147
147
|
}
|
|
148
148
|
return qb.createQueryBuilder()
|
|
149
149
|
.select(descendantColumnNames.join(", "))
|
|
150
|
-
.from("("
|
|
150
|
+
.from("(" + subSelect.getQuery() + ")", alias)
|
|
151
151
|
.setParameters(subSelect.getParameters())
|
|
152
152
|
.getQuery();
|
|
153
153
|
};
|
|
@@ -155,7 +155,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
155
155
|
try {
|
|
156
156
|
for (_a = (0, tslib_1.__values)(subject.metadata.primaryColumns), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
157
157
|
column = _b.value;
|
|
158
|
-
parameters["value_"
|
|
158
|
+
parameters["value_" + column.databaseName] = entity[column.databaseName];
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -170,8 +170,8 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
170
170
|
.createQueryBuilder()
|
|
171
171
|
.delete()
|
|
172
172
|
.from(closureTable.tablePath)
|
|
173
|
-
.where(function (qb) { return "("
|
|
174
|
-
.andWhere(function (qb) { return "("
|
|
173
|
+
.where(function (qb) { return "(" + descendantColumnNames.join(", ") + ") IN (" + createSubQuery(qb, "descendant") + ")"; })
|
|
174
|
+
.andWhere(function (qb) { return "(" + ancestorColumnNames.join(", ") + ") NOT IN (" + createSubQuery(qb, "ancestor") + ")"; })
|
|
175
175
|
.setParameters(parameters)
|
|
176
176
|
.execute()];
|
|
177
177
|
case 1:
|
|
@@ -181,13 +181,13 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
181
181
|
tableName = this.getTableName(closureTable.tablePath);
|
|
182
182
|
superAlias_1 = escape("supertree");
|
|
183
183
|
subAlias_1 = escape("subtree");
|
|
184
|
-
select = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames.map(function (columnName) { return
|
|
184
|
+
select = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames.map(function (columnName) { return superAlias_1 + "." + columnName; })), false), (0, tslib_1.__read)(descendantColumnNames.map(function (columnName) { return subAlias_1 + "." + columnName; })), false);
|
|
185
185
|
entityWhereCondition = subject.metadata.closureJunctionTable.ancestorColumns.map(function (column) {
|
|
186
186
|
var columnName = escape(column.databaseName);
|
|
187
187
|
var entityId = column.referencedColumn.getEntityValue(entity);
|
|
188
188
|
queryParams_2.push(entityId);
|
|
189
189
|
var parameterName = _this.queryRunner.connection.driver.createParameter("entity_" + column.referencedColumn.databaseName, queryParams_2.length - 1);
|
|
190
|
-
return
|
|
190
|
+
return subAlias_1 + "." + columnName + " = " + parameterName;
|
|
191
191
|
});
|
|
192
192
|
parentWhereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(function (column) {
|
|
193
193
|
var columnName = escape(column.databaseName);
|
|
@@ -196,12 +196,12 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
196
196
|
throw new CannotAttachTreeChildrenEntityError_1.CannotAttachTreeChildrenEntityError(subject.metadata.name);
|
|
197
197
|
queryParams_2.push(parentId);
|
|
198
198
|
var parameterName = _this.queryRunner.connection.driver.createParameter("parent_entity_" + column.referencedColumn.databaseName, queryParams_2.length - 1);
|
|
199
|
-
return
|
|
199
|
+
return superAlias_1 + "." + columnName + " = " + parameterName;
|
|
200
200
|
});
|
|
201
|
-
return [4 /*yield*/, this.queryRunner.query("INSERT INTO "
|
|
202
|
-
"SELECT "
|
|
203
|
-
"FROM "
|
|
204
|
-
"WHERE "
|
|
201
|
+
return [4 /*yield*/, this.queryRunner.query("INSERT INTO " + tableName + " (" + (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames), false), (0, tslib_1.__read)(descendantColumnNames), false).join(", ") + ") " +
|
|
202
|
+
("SELECT " + select.join(", ") + " ") +
|
|
203
|
+
("FROM " + tableName + " AS " + superAlias_1 + ", " + tableName + " AS " + subAlias_1 + " ") +
|
|
204
|
+
("WHERE " + (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(entityWhereCondition), false), (0, tslib_1.__read)(parentWhereCondition), false).join(" AND ")), queryParams_2)];
|
|
205
205
|
case 2:
|
|
206
206
|
_d.sent();
|
|
207
207
|
_d.label = 3;
|
|
@@ -232,7 +232,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
|
|
|
232
232
|
generateWheres = function (columns) {
|
|
233
233
|
return columns.map(function (column) {
|
|
234
234
|
var data = identifiers.map(function (identifier) { return identifier[column.referencedColumn.databaseName]; });
|
|
235
|
-
return
|
|
235
|
+
return escape(column.databaseName) + " IN (" + data.join(", ") + ")";
|
|
236
236
|
}).join(" AND ");
|
|
237
237
|
};
|
|
238
238
|
ancestorWhere = generateWheres(closureTable.ancestorColumns);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/persistence/tree/ClosureSubjectExecutor.ts"],"names":[],"mappings":"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","file":"ClosureSubjectExecutor.js","sourcesContent":["import {Subject} from \"../Subject\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {CannotAttachTreeChildrenEntityError} from \"../../error/CannotAttachTreeChildrenEntityError\";\nimport {DeleteQueryBuilder} from \"../../query-builder/DeleteQueryBuilder\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {SqlServerDriver} from \"../../driver/sqlserver/SqlServerDriver\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\n\n/**\n * Executes subject operations for closure entities.\n */\nexport class ClosureSubjectExecutor {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes operations when subject is being inserted.\n */\n async insert(subject: Subject): Promise<void> {\n\n // create values to be inserted into the closure junction\n const closureJunctionInsertMap: ObjectLiteral = {};\n subject.metadata.closureJunctionTable.ancestorColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n subject.metadata.closureJunctionTable.descendantColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n\n // insert values into the closure junction table\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .insert()\n .into(subject.metadata.closureJunctionTable.tablePath)\n .values(closureJunctionInsertMap)\n .updateEntity(false)\n .callListeners(false)\n .execute();\n\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.insertedValueSet ? subject.parentSubject.insertedValueSet : subject.parentSubject.entity;\n\n if (parent) {\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const tableName = this.getTableName(subject.metadata.closureJunctionTable.tablePath);\n const queryParams: any[] = [];\n\n const ancestorColumnNames = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n const descendantColumnNames = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n const childEntityIds1 = subject.metadata.primaryColumns.map(column => {\n queryParams.push(column.getEntityValue(subject.insertedValueSet ? subject.insertedValueSet : subject.entity!));\n return this.queryRunner.connection.driver.createParameter(\"child_entity_\" + column.databaseName, queryParams.length - 1);\n });\n\n const whereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${columnName} = ${parameterName}`;\n });\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${ancestorColumnNames.join(\", \")}, ${childEntityIds1.join(\", \")} FROM ${tableName} WHERE ${whereCondition.join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being updated.\n */\n async update(subject: Subject): Promise<void> {\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.entity;\n\n let entity = subject.databaseEntity; // if entity was attached via parent\n if (!entity && parent) // if entity was attached via children\n entity = subject.metadata.treeChildrenRelation!.getEntityValue(parent).find((child: any) => {\n return Object.entries(subject.identifier!).every(([key, value]) => child[key] === value);\n });\n\n // Exit if the parent or the entity where never set\n if (entity === undefined || parent === undefined) {\n return;\n }\n\n const oldParent = subject.metadata.treeParentRelation!.getEntityValue(entity!);\n const oldParentId = subject.metadata.getEntityIdMap(oldParent);\n const parentId = subject.metadata.getEntityIdMap(parent);\n\n // Exit if the new and old parents are the same\n if (OrmUtils.compareIds(oldParentId, parentId)) {\n return;\n }\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const closureTable = subject.metadata.closureJunctionTable;\n\n const ancestorColumnNames = closureTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n\n const descendantColumnNames = closureTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n\n // Delete logic\n const createSubQuery = (qb: DeleteQueryBuilder<any>, alias: string) => {\n const subAlias = `sub${alias}`;\n\n const subSelect = qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(closureTable.tablePath, subAlias);\n\n // Create where conditions e.g. (WHERE \"subdescendant\".\"id_ancestor\" = :value_id)\n for (const column of closureTable.ancestorColumns) {\n subSelect.andWhere(`${escape(subAlias)}.${escape(column.databaseName)} = :value_${column.referencedColumn!.databaseName}`);\n }\n\n return qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(`(${subSelect.getQuery()})`, alias)\n .setParameters(subSelect.getParameters())\n .getQuery();\n };\n\n const parameters: ObjectLiteral = {};\n for (const column of subject.metadata.primaryColumns) {\n parameters[`value_${column.databaseName}`] = entity![column.databaseName];\n }\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(qb => `(${descendantColumnNames.join(\", \")}) IN (${createSubQuery(qb, \"descendant\")})`)\n .andWhere(qb => `(${ancestorColumnNames.join(\", \")}) NOT IN (${createSubQuery(qb, \"ancestor\")})`)\n .setParameters(parameters)\n .execute();\n\n /**\n * Only insert new parent if it exits\n * \n * This only happens if the entity doesn't become a root entity\n */\n if (parent) {\n // Insert logic\n const queryParams: any[] = [];\n\n const tableName = this.getTableName(closureTable.tablePath);\n const superAlias = escape(\"supertree\");\n const subAlias = escape(\"subtree\");\n\n const select = [\n ...ancestorColumnNames.map(columnName => `${superAlias}.${columnName}`),\n ...descendantColumnNames.map(columnName => `${subAlias}.${columnName}`)\n ];\n\n const entityWhereCondition = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n const columnName = escape(column.databaseName);\n const entityId = column.referencedColumn!.getEntityValue(entity!);\n\n queryParams.push(entityId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${subAlias}.${columnName} = ${parameterName}`;\n });\n\n const parentWhereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${superAlias}.${columnName} = ${parameterName}`;\n });\n\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${select.join(\", \")} ` +\n `FROM ${tableName} AS ${superAlias}, ${tableName} AS ${subAlias} ` +\n `WHERE ${[...entityWhereCondition, ...parentWhereCondition].join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being removed.\n */\n async remove(subjects: Subject|Subject[]): Promise<void> {\n // Only mssql need to execute deletes for the juntion table as it doesn't support multi cascade paths.\n if (!(this.queryRunner.connection.driver instanceof SqlServerDriver)) {\n return;\n }\n\n if (!Array.isArray(subjects))\n subjects = [subjects];\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const identifiers = subjects.map(subject => subject.identifier);\n const closureTable = subjects[0].metadata.closureJunctionTable;\n\n const generateWheres = (columns: ColumnMetadata[]) => {\n return columns.map(column => {\n const data = identifiers.map(identifier => identifier![column.referencedColumn!.databaseName]);\n return `${escape(column.databaseName)} IN (${data.join(\", \")})`;\n }).join(\" AND \");\n };\n\n const ancestorWhere = generateWheres(closureTable.ancestorColumns);\n const descendantWhere = generateWheres(closureTable.descendantColumns);\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(ancestorWhere)\n .orWhere(descendantWhere)\n .execute();\n }\n\n /**\n * Gets escaped table name with schema name if SqlServer or Postgres driver used with custom\n * schema name, otherwise returns escaped table name.\n */\n protected getTableName(tablePath: string): string {\n return tablePath.split(\".\")\n .map(i => {\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\n return i === \"\" ? i : this.queryRunner.connection.driver.escape(i);\n }).join(\".\");\n }\n}"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../../src/persistence/tree/ClosureSubjectExecutor.ts"],"names":[],"mappings":"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","file":"ClosureSubjectExecutor.js","sourcesContent":["import {Subject} from \"../Subject\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {CannotAttachTreeChildrenEntityError} from \"../../error/CannotAttachTreeChildrenEntityError\";\nimport {DeleteQueryBuilder} from \"../../query-builder/DeleteQueryBuilder\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {SqlServerDriver} from \"../../driver/sqlserver/SqlServerDriver\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\n\n/**\n * Executes subject operations for closure entities.\n */\nexport class ClosureSubjectExecutor {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes operations when subject is being inserted.\n */\n async insert(subject: Subject): Promise<void> {\n\n // create values to be inserted into the closure junction\n const closureJunctionInsertMap: ObjectLiteral = {};\n subject.metadata.closureJunctionTable.ancestorColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n subject.metadata.closureJunctionTable.descendantColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n\n // insert values into the closure junction table\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .insert()\n .into(subject.metadata.closureJunctionTable.tablePath)\n .values(closureJunctionInsertMap)\n .updateEntity(false)\n .callListeners(false)\n .execute();\n\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.insertedValueSet ? subject.parentSubject.insertedValueSet : subject.parentSubject.entity;\n\n if (parent) {\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const tableName = this.getTableName(subject.metadata.closureJunctionTable.tablePath);\n const queryParams: any[] = [];\n\n const ancestorColumnNames = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n const descendantColumnNames = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n const childEntityIds1 = subject.metadata.primaryColumns.map(column => {\n queryParams.push(column.getEntityValue(subject.insertedValueSet ? subject.insertedValueSet : subject.entity!));\n return this.queryRunner.connection.driver.createParameter(\"child_entity_\" + column.databaseName, queryParams.length - 1);\n });\n\n const whereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${columnName} = ${parameterName}`;\n });\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${ancestorColumnNames.join(\", \")}, ${childEntityIds1.join(\", \")} FROM ${tableName} WHERE ${whereCondition.join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being updated.\n */\n async update(subject: Subject): Promise<void> {\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.entity;\n\n let entity = subject.databaseEntity; // if entity was attached via parent\n if (!entity && parent) // if entity was attached via children\n entity = subject.metadata.treeChildrenRelation!.getEntityValue(parent).find((child: any) => {\n return Object.entries(subject.identifier!).every(([key, value]) => child[key] === value);\n });\n\n // Exit if the parent or the entity where never set\n if (entity === undefined || parent === undefined) {\n return;\n }\n\n const oldParent = subject.metadata.treeParentRelation!.getEntityValue(entity!);\n const oldParentId = subject.metadata.getEntityIdMap(oldParent);\n const parentId = subject.metadata.getEntityIdMap(parent);\n\n // Exit if the new and old parents are the same\n if (OrmUtils.compareIds(oldParentId, parentId)) {\n return;\n }\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const closureTable = subject.metadata.closureJunctionTable;\n\n const ancestorColumnNames = closureTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n\n const descendantColumnNames = closureTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n\n // Delete logic\n const createSubQuery = (qb: DeleteQueryBuilder<any>, alias: string) => {\n const subAlias = `sub${alias}`;\n\n const subSelect = qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(closureTable.tablePath, subAlias);\n\n // Create where conditions e.g. (WHERE \"subdescendant\".\"id_ancestor\" = :value_id)\n for (const column of closureTable.ancestorColumns) {\n subSelect.andWhere(`${escape(subAlias)}.${escape(column.databaseName)} = :value_${column.referencedColumn!.databaseName}`);\n }\n\n return qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(`(${subSelect.getQuery()})`, alias)\n .setParameters(subSelect.getParameters())\n .getQuery();\n };\n\n const parameters: ObjectLiteral = {};\n for (const column of subject.metadata.primaryColumns) {\n parameters[`value_${column.databaseName}`] = entity![column.databaseName];\n }\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(qb => `(${descendantColumnNames.join(\", \")}) IN (${createSubQuery(qb, \"descendant\")})`)\n .andWhere(qb => `(${ancestorColumnNames.join(\", \")}) NOT IN (${createSubQuery(qb, \"ancestor\")})`)\n .setParameters(parameters)\n .execute();\n\n /**\n * Only insert new parent if it exits\n * \n * This only happens if the entity doesn't become a root entity\n */\n if (parent) {\n // Insert logic\n const queryParams: any[] = [];\n\n const tableName = this.getTableName(closureTable.tablePath);\n const superAlias = escape(\"supertree\");\n const subAlias = escape(\"subtree\");\n\n const select = [\n ...ancestorColumnNames.map(columnName => `${superAlias}.${columnName}`),\n ...descendantColumnNames.map(columnName => `${subAlias}.${columnName}`)\n ];\n\n const entityWhereCondition = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n const columnName = escape(column.databaseName);\n const entityId = column.referencedColumn!.getEntityValue(entity!);\n\n queryParams.push(entityId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${subAlias}.${columnName} = ${parameterName}`;\n });\n\n const parentWhereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${superAlias}.${columnName} = ${parameterName}`;\n });\n\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${select.join(\", \")} ` +\n `FROM ${tableName} AS ${superAlias}, ${tableName} AS ${subAlias} ` +\n `WHERE ${[...entityWhereCondition, ...parentWhereCondition].join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being removed.\n */\n async remove(subjects: Subject|Subject[]): Promise<void> {\n // Only mssql need to execute deletes for the juntion table as it doesn't support multi cascade paths.\n if (!(this.queryRunner.connection.driver instanceof SqlServerDriver)) {\n return;\n }\n\n if (!Array.isArray(subjects))\n subjects = [subjects];\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const identifiers = subjects.map(subject => subject.identifier);\n const closureTable = subjects[0].metadata.closureJunctionTable;\n\n const generateWheres = (columns: ColumnMetadata[]) => {\n return columns.map(column => {\n const data = identifiers.map(identifier => identifier![column.referencedColumn!.databaseName]);\n return `${escape(column.databaseName)} IN (${data.join(\", \")})`;\n }).join(\" AND \");\n };\n\n const ancestorWhere = generateWheres(closureTable.ancestorColumns);\n const descendantWhere = generateWheres(closureTable.descendantColumns);\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(ancestorWhere)\n .orWhere(descendantWhere)\n .execute();\n }\n\n /**\n * Gets escaped table name with schema name if SqlServer or Postgres driver used with custom\n * schema name, otherwise returns escaped table name.\n */\n protected getTableName(tablePath: string): string {\n return tablePath.split(\".\")\n .map(i => {\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\n return i === \"\" ? i : this.queryRunner.connection.driver.escape(i);\n }).join(\".\");\n }\n}"],"sourceRoot":"../.."}
|
|
@@ -105,9 +105,9 @@ var MaterializedPathSubjectExecutor = /** @class */ (function () {
|
|
|
105
105
|
.createQueryBuilder()
|
|
106
106
|
.update(subject.metadata.target)
|
|
107
107
|
.set((_a = {},
|
|
108
|
-
_a[propertyPath] = function () { return "REPLACE("
|
|
108
|
+
_a[propertyPath] = function () { return "REPLACE(" + propertyPath + ", '" + oldParentPath + entityPath + ".', '" + newParentPath + entityPath + ".')"; },
|
|
109
109
|
_a))
|
|
110
|
-
.where(
|
|
110
|
+
.where(propertyPath + " LIKE :path", { path: "" + oldParentPath + entityPath + ".%" })
|
|
111
111
|
.execute()];
|
|
112
112
|
case 5:
|
|
113
113
|
_b.sent();
|