typeorm 0.2.42-dev.cefddd9 → 0.2.42-dev.d0f32b3
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/README.md +38 -0
- package/browser/common/DeepPartial.d.ts +3 -3
- package/browser/common/DeepPartial.js.map +1 -1
- package/browser/common/RelationType.d.ts +14 -0
- package/browser/common/RelationType.js +3 -0
- package/browser/common/RelationType.js.map +1 -0
- package/browser/connection/BaseConnectionOptions.d.ts +5 -0
- package/browser/connection/BaseConnectionOptions.js.map +1 -1
- package/browser/connection/Connection.d.ts +5 -1
- package/browser/connection/Connection.js +46 -30
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
- package/browser/connection/ConnectionMetadataBuilder.js +54 -22
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.js +33 -28
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/decorator/listeners/AfterRecover.d.ts +4 -0
- package/browser/decorator/listeners/AfterRecover.js +16 -0
- package/browser/decorator/listeners/AfterRecover.js.map +1 -0
- package/browser/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/browser/decorator/listeners/AfterSoftRemove.js +16 -0
- package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/browser/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/browser/decorator/listeners/BeforeRecover.js +16 -0
- package/browser/decorator/listeners/BeforeRecover.js.map +1 -0
- package/browser/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/browser/decorator/listeners/BeforeSoftRemove.js +16 -0
- package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +39 -15
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +1 -1
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js +11 -10
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +3 -3
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/entity-manager/EntityManager.js +1 -11
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +2 -0
- package/browser/entity-manager/MongoEntityManager.js +35 -4
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +1 -0
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/find-options/FindOneOptions.d.ts +6 -0
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +4 -0
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/operator/Like.d.ts +1 -1
- package/browser/find-options/operator/Like.js +1 -1
- package/browser/find-options/operator/Like.js.map +1 -1
- package/browser/find-options/operator/Not.d.ts +1 -1
- package/browser/find-options/operator/Not.js +1 -1
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/globals.js +34 -7
- package/browser/globals.js.map +1 -1
- package/browser/index.d.ts +6 -0
- package/browser/index.js +6 -0
- package/browser/index.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +16 -0
- package/browser/metadata/EntityMetadata.js +16 -0
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/types/EventListenerTypes.d.ts +5 -1
- package/browser/metadata/types/EventListenerTypes.js +4 -0
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +4 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +2 -1
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +1 -1
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/persistence/SubjectExecutor.d.ts +4 -2
- package/browser/persistence/SubjectExecutor.js +105 -13
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/platform/PlatformTools.d.ts +1 -0
- package/browser/platform/PlatformTools.js +5 -0
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.d.ts +3 -1
- package/browser/query-builder/DeleteQueryBuilder.js +3 -1
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +2 -2
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/NotBrackets.d.ts +7 -0
- package/browser/query-builder/NotBrackets.js +16 -0
- package/browser/query-builder/NotBrackets.js.map +1 -0
- package/browser/query-builder/QueryBuilder.d.ts +2 -1
- package/browser/query-builder/QueryBuilder.js +2 -1
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationLoader.js +11 -6
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +9 -0
- package/browser/query-builder/SelectQueryBuilder.js +27 -20
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js +44 -30
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.d.ts +3 -1
- package/browser/query-builder/UpdateQueryBuilder.js +3 -1
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
- package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
- package/browser/query-runner/BaseQueryRunner.js +3 -3
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/repository/TreeRepository.js +3 -2
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +40 -0
- package/browser/subscriber/Broadcaster.js +156 -0
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +18 -0
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/RecoverEvent.d.ts +6 -0
- package/browser/subscriber/event/RecoverEvent.js +3 -0
- package/browser/subscriber/event/RecoverEvent.js.map +1 -0
- package/browser/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/browser/subscriber/event/SoftRemoveEvent.js +3 -0
- package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js +55 -31
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ImportUtils.d.ts +1 -0
- package/browser/util/ImportUtils.js +90 -0
- package/browser/util/ImportUtils.js.map +1 -0
- package/browser/util/RandomGenerator.d.ts +0 -4
- package/browser/util/RandomGenerator.js +0 -9
- package/browser/util/RandomGenerator.js.map +1 -1
- package/commands/CacheClearCommand.js +3 -3
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.d.ts +4 -0
- package/commands/CommandUtils.js +10 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +2 -2
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +9 -7
- package/commands/InitCommand.js +74 -45
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +2 -0
- package/commands/MigrationCreateCommand.js +9 -3
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +2 -0
- package/commands/MigrationGenerateCommand.js +9 -3
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +2 -3
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +2 -3
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +5 -7
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.js +1 -2
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +2 -2
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +2 -2
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +2 -2
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +3 -3
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/common/DeepPartial.d.ts +3 -3
- package/common/DeepPartial.js.map +1 -1
- package/common/RelationType.d.ts +14 -0
- package/common/RelationType.js +4 -0
- package/common/RelationType.js.map +1 -0
- package/connection/BaseConnectionOptions.d.ts +5 -0
- package/connection/BaseConnectionOptions.js.map +1 -1
- package/connection/Connection.d.ts +5 -1
- package/connection/Connection.js +46 -30
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.d.ts +3 -3
- package/connection/ConnectionMetadataBuilder.js +53 -21
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.js +32 -27
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/decorator/listeners/AfterRecover.d.ts +4 -0
- package/decorator/listeners/AfterRecover.js +20 -0
- package/decorator/listeners/AfterRecover.js.map +1 -0
- package/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/decorator/listeners/AfterSoftRemove.js +20 -0
- package/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/decorator/listeners/BeforeRecover.js +20 -0
- package/decorator/listeners/BeforeRecover.js.map +1 -0
- package/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/decorator/listeners/BeforeSoftRemove.js +20 -0
- package/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +1 -1
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +1 -1
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +39 -15
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +1 -1
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js +11 -10
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +3 -3
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/entity-manager/EntityManager.js +1 -11
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +2 -0
- package/entity-manager/MongoEntityManager.js +35 -4
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +1 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/find-options/FindOneOptions.d.ts +6 -0
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOptionsUtils.js +4 -0
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/operator/Like.d.ts +1 -1
- package/find-options/operator/Like.js +1 -1
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/Not.d.ts +1 -1
- package/find-options/operator/Not.js +1 -1
- package/find-options/operator/Not.js.map +1 -1
- package/globals.js +33 -6
- package/globals.js.map +1 -1
- package/index.d.ts +6 -0
- package/index.js +8 -1
- package/index.js.map +1 -1
- package/index.mjs +360 -0
- package/metadata/EntityMetadata.d.ts +16 -0
- package/metadata/EntityMetadata.js +16 -0
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/types/EventListenerTypes.d.ts +5 -1
- package/metadata/types/EventListenerTypes.js +4 -0
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +4 -0
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +2 -1
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/migration/MigrationExecutor.js +1 -1
- package/migration/MigrationExecutor.js.map +1 -1
- package/package.json +1 -1
- package/persistence/SubjectExecutor.d.ts +4 -2
- package/persistence/SubjectExecutor.js +105 -13
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.d.ts +1 -0
- package/platform/PlatformTools.js +5 -0
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.d.ts +3 -1
- package/query-builder/DeleteQueryBuilder.js +3 -1
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +2 -2
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/NotBrackets.d.ts +7 -0
- package/query-builder/NotBrackets.js +19 -0
- package/query-builder/NotBrackets.js.map +1 -0
- package/query-builder/QueryBuilder.d.ts +2 -1
- package/query-builder/QueryBuilder.js +2 -1
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/RelationLoader.js +11 -6
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +9 -0
- package/query-builder/SelectQueryBuilder.js +27 -20
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +44 -30
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.d.ts +3 -1
- package/query-builder/UpdateQueryBuilder.js +3 -1
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/WhereExpressionBuilder.d.ts +3 -1
- package/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +2 -2
- package/query-runner/BaseQueryRunner.js +3 -3
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/repository/TreeRepository.js +3 -2
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +40 -0
- package/subscriber/Broadcaster.js +156 -0
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +18 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/RecoverEvent.d.ts +6 -0
- package/subscriber/event/RecoverEvent.js +4 -0
- package/subscriber/event/RecoverEvent.js.map +1 -0
- package/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/subscriber/event/SoftRemoveEvent.js +4 -0
- package/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/typeorm-class-transformer-shim.js +20 -0
- package/typeorm-model-shim.js +20 -0
- package/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/util/DirectoryExportedClassesLoader.js +54 -31
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ImportUtils.d.ts +1 -0
- package/util/ImportUtils.js +94 -0
- package/util/ImportUtils.js.map +1 -0
- package/util/RandomGenerator.d.ts +0 -4
- package/util/RandomGenerator.js +0 -9
- package/util/RandomGenerator.js.map +1 -1
|
@@ -26,38 +26,70 @@ var ConnectionMetadataBuilder = /** @class */ (function () {
|
|
|
26
26
|
* Builds migration instances for the given classes or directories.
|
|
27
27
|
*/
|
|
28
28
|
ConnectionMetadataBuilder.prototype.buildMigrations = function (migrations) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
30
|
+
var _a, migrationClasses, migrationDirectories, allMigrationClasses, _b;
|
|
31
|
+
return (0, tslib_1.__generator)(this, function (_c) {
|
|
32
|
+
switch (_c.label) {
|
|
33
|
+
case 0:
|
|
34
|
+
_a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(migrations), 2), migrationClasses = _a[0], migrationDirectories = _a[1];
|
|
35
|
+
_b = [(0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(migrationClasses), false)];
|
|
36
|
+
return [4 /*yield*/, (0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, migrationDirectories)];
|
|
37
|
+
case 1:
|
|
38
|
+
allMigrationClasses = tslib_1.__spreadArray.apply(void 0, _b.concat([tslib_1.__read.apply(void 0, [(_c.sent())]), false]));
|
|
39
|
+
return [2 /*return*/, allMigrationClasses.map(function (migrationClass) { return (0, container_1.getFromContainer)(migrationClass); })];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
32
43
|
};
|
|
33
44
|
/**
|
|
34
45
|
* Builds subscriber instances for the given classes or directories.
|
|
35
46
|
*/
|
|
36
47
|
ConnectionMetadataBuilder.prototype.buildSubscribers = function (subscribers) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
49
|
+
var _a, subscriberClasses, subscriberDirectories, allSubscriberClasses, _b;
|
|
50
|
+
return (0, tslib_1.__generator)(this, function (_c) {
|
|
51
|
+
switch (_c.label) {
|
|
52
|
+
case 0:
|
|
53
|
+
_a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(subscribers || []), 2), subscriberClasses = _a[0], subscriberDirectories = _a[1];
|
|
54
|
+
_b = [(0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(subscriberClasses), false)];
|
|
55
|
+
return [4 /*yield*/, (0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, subscriberDirectories)];
|
|
56
|
+
case 1:
|
|
57
|
+
allSubscriberClasses = tslib_1.__spreadArray.apply(void 0, _b.concat([tslib_1.__read.apply(void 0, [(_c.sent())]), false]));
|
|
58
|
+
return [2 /*return*/, (0, globals_1.getMetadataArgsStorage)()
|
|
59
|
+
.filterSubscribers(allSubscriberClasses)
|
|
60
|
+
.map(function (metadata) { return (0, container_1.getFromContainer)(metadata.target); })];
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
42
64
|
};
|
|
43
65
|
/**
|
|
44
66
|
* Builds entity metadatas for the given classes or directories.
|
|
45
67
|
*/
|
|
46
68
|
ConnectionMetadataBuilder.prototype.buildEntityMetadatas = function (entities) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
69
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
70
|
+
var _a, entityClassesOrSchemas, entityDirectories, entityClasses, entitySchemas, allEntityClasses, _b, decoratorEntityMetadatas, metadataArgsStorageFromSchema, schemaEntityMetadatas;
|
|
71
|
+
return (0, tslib_1.__generator)(this, function (_c) {
|
|
72
|
+
switch (_c.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
_a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(entities || []), 2), entityClassesOrSchemas = _a[0], entityDirectories = _a[1];
|
|
75
|
+
entityClasses = entityClassesOrSchemas.filter(function (entityClass) { return (entityClass instanceof EntitySchema_1.EntitySchema) === false; });
|
|
76
|
+
entitySchemas = entityClassesOrSchemas.filter(function (entityClass) { return entityClass instanceof EntitySchema_1.EntitySchema; });
|
|
77
|
+
_b = [(0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(entityClasses), false)];
|
|
78
|
+
return [4 /*yield*/, (0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, entityDirectories)];
|
|
79
|
+
case 1:
|
|
80
|
+
allEntityClasses = tslib_1.__spreadArray.apply(void 0, _b.concat([tslib_1.__read.apply(void 0, [(_c.sent())]), false]));
|
|
81
|
+
allEntityClasses.forEach(function (entityClass) {
|
|
82
|
+
if (entityClass instanceof EntitySchema_1.EntitySchema) {
|
|
83
|
+
entitySchemas.push(entityClass);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
decoratorEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, (0, globals_1.getMetadataArgsStorage)()).build(allEntityClasses);
|
|
87
|
+
metadataArgsStorageFromSchema = new EntitySchemaTransformer_1.EntitySchemaTransformer().transform(entitySchemas);
|
|
88
|
+
schemaEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();
|
|
89
|
+
return [2 /*return*/, (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(decoratorEntityMetadatas), false), (0, tslib_1.__read)(schemaEntityMetadatas), false)];
|
|
90
|
+
}
|
|
91
|
+
});
|
|
56
92
|
});
|
|
57
|
-
var decoratorEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, (0, globals_1.getMetadataArgsStorage)()).build(allEntityClasses);
|
|
58
|
-
var metadataArgsStorageFromSchema = new EntitySchemaTransformer_1.EntitySchemaTransformer().transform(entitySchemas);
|
|
59
|
-
var schemaEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();
|
|
60
|
-
return (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(decoratorEntityMetadatas), false), (0, tslib_1.__read)(schemaEntityMetadatas), false);
|
|
61
93
|
};
|
|
62
94
|
return ConnectionMetadataBuilder;
|
|
63
95
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":";;;;AAAA,yFAAoF;AACpF,6CAA0C;AAC1C,0CAA8C;AAE9C,sCAAkD;AAClD,mFAAgF;AAChF,oFAAiF;AAEjF,8DAA2D;AAI3D;;GAEG;AACH;IAEI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,mCAAsB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAC5C,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;
|
|
1
|
+
{"version":3,"sources":["../../src/connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":"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","file":"ConnectionMetadataBuilder.js","sourcesContent":["import {importClassesFromDirectories} from \"../util/DirectoryExportedClassesLoader\";\nimport {OrmUtils} from \"../util/OrmUtils\";\nimport {getFromContainer} from \"../container\";\nimport {MigrationInterface} from \"../migration/MigrationInterface\";\nimport {getMetadataArgsStorage} from \"../globals\";\nimport {EntityMetadataBuilder} from \"../metadata-builder/EntityMetadataBuilder\";\nimport {EntitySchemaTransformer} from \"../entity-schema/EntitySchemaTransformer\";\nimport {Connection} from \"./Connection\";\nimport {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {EntitySubscriberInterface} from \"../subscriber/EntitySubscriberInterface\";\n\n/**\n * Builds migration instances, subscriber instances and entity metadatas for the given classes.\n */\nexport class ConnectionMetadataBuilder {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds migration instances for the given classes or directories.\n */\n async buildMigrations(migrations: (Function|string)[]): Promise<MigrationInterface[]> {\n const [migrationClasses, migrationDirectories] = OrmUtils.splitClassesAndStrings(migrations);\n const allMigrationClasses = [...migrationClasses, ...(await importClassesFromDirectories(this.connection.logger, migrationDirectories))];\n return allMigrationClasses.map(migrationClass => getFromContainer<MigrationInterface>(migrationClass));\n }\n\n /**\n * Builds subscriber instances for the given classes or directories.\n */\n async buildSubscribers(subscribers: (Function|string)[]): Promise<EntitySubscriberInterface<any>[]> {\n const [subscriberClasses, subscriberDirectories] = OrmUtils.splitClassesAndStrings(subscribers || []);\n const allSubscriberClasses = [...subscriberClasses, ...(await importClassesFromDirectories(this.connection.logger, subscriberDirectories))];\n return getMetadataArgsStorage()\n .filterSubscribers(allSubscriberClasses)\n .map(metadata => getFromContainer<EntitySubscriberInterface<any>>(metadata.target));\n }\n\n /**\n * Builds entity metadatas for the given classes or directories.\n */\n async buildEntityMetadatas(entities: (Function|EntitySchema<any>|string)[]): Promise<EntityMetadata[]> {\n // todo: instead we need to merge multiple metadata args storages\n\n const [entityClassesOrSchemas, entityDirectories] = OrmUtils.splitClassesAndStrings(entities || []);\n const entityClasses: Function[] = entityClassesOrSchemas.filter(entityClass => (entityClass instanceof EntitySchema) === false) as any;\n const entitySchemas: EntitySchema<any>[] = entityClassesOrSchemas.filter(entityClass => entityClass instanceof EntitySchema) as any;\n\n const allEntityClasses = [...entityClasses, ...(await importClassesFromDirectories(this.connection.logger, entityDirectories))];\n allEntityClasses.forEach(entityClass => { // if we have entity schemas loaded from directories\n if (entityClass instanceof EntitySchema) {\n entitySchemas.push(entityClass);\n }\n });\n const decoratorEntityMetadatas = new EntityMetadataBuilder(this.connection, getMetadataArgsStorage()).build(allEntityClasses);\n\n const metadataArgsStorageFromSchema = new EntitySchemaTransformer().transform(entitySchemas);\n const schemaEntityMetadatas = new EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();\n\n return [...decoratorEntityMetadatas, ...schemaEntityMetadatas];\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -9,6 +9,7 @@ var ConnectionOptionsEnvReader_1 = require("./options-reader/ConnectionOptionsEn
|
|
|
9
9
|
var ConnectionOptionsYmlReader_1 = require("./options-reader/ConnectionOptionsYmlReader");
|
|
10
10
|
var ConnectionOptionsXmlReader_1 = require("./options-reader/ConnectionOptionsXmlReader");
|
|
11
11
|
var error_1 = require("../error");
|
|
12
|
+
var ImportUtils_1 = require("../util/ImportUtils");
|
|
12
13
|
/**
|
|
13
14
|
* Reads connection options from the ormconfig.
|
|
14
15
|
* Can read from multiple file extensions including env, json, js, xml and yml.
|
|
@@ -90,13 +91,13 @@ var ConnectionOptionsReader = /** @class */ (function () {
|
|
|
90
91
|
*/
|
|
91
92
|
ConnectionOptionsReader.prototype.load = function () {
|
|
92
93
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
93
|
-
var connectionOptions, fileFormats, possibleExtension, fileExtension, foundFileFormat, configFile, configModule;
|
|
94
|
+
var connectionOptions, fileFormats, possibleExtension, fileExtension, foundFileFormat, configFile, _a, importOrRequireResult, moduleSystem, configModule;
|
|
94
95
|
var _this = this;
|
|
95
|
-
return (0, tslib_1.__generator)(this, function (
|
|
96
|
-
switch (
|
|
96
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
97
|
+
switch (_b.label) {
|
|
97
98
|
case 0:
|
|
98
99
|
connectionOptions = undefined;
|
|
99
|
-
fileFormats = ["env", "js", "cjs", "ts", "json", "yml", "yaml", "xml"];
|
|
100
|
+
fileFormats = ["env", "js", "mjs", "cjs", "ts", "mts", "cts", "json", "yml", "yaml", "xml"];
|
|
100
101
|
possibleExtension = this.baseFilePath.substr(this.baseFilePath.lastIndexOf("."));
|
|
101
102
|
fileExtension = fileFormats.find(function (extension) { return "." + extension === possibleExtension; });
|
|
102
103
|
foundFileFormat = fileExtension || fileFormats.find(function (format) {
|
|
@@ -113,43 +114,47 @@ var ConnectionOptionsReader = /** @class */ (function () {
|
|
|
113
114
|
if (!(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_CONNECTION") || PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_URL"))) return [3 /*break*/, 2];
|
|
114
115
|
return [4 /*yield*/, new ConnectionOptionsEnvReader_1.ConnectionOptionsEnvReader().read()];
|
|
115
116
|
case 1:
|
|
116
|
-
connectionOptions =
|
|
117
|
-
return [3 /*break*/,
|
|
117
|
+
connectionOptions = _b.sent();
|
|
118
|
+
return [3 /*break*/, 12];
|
|
118
119
|
case 2:
|
|
119
|
-
if (!(foundFileFormat === "js" || foundFileFormat === "
|
|
120
|
-
|
|
120
|
+
if (!(foundFileFormat === "js" || foundFileFormat === "mjs" || foundFileFormat === "cjs" ||
|
|
121
|
+
foundFileFormat === "ts" || foundFileFormat === "mts" || foundFileFormat === "cts")) return [3 /*break*/, 5];
|
|
122
|
+
return [4 /*yield*/, (0, ImportUtils_1.importOrRequireFile)(configFile)];
|
|
121
123
|
case 3:
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
_a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), importOrRequireResult = _a[0], moduleSystem = _a[1];
|
|
125
|
+
return [4 /*yield*/, importOrRequireResult];
|
|
126
|
+
case 4:
|
|
127
|
+
configModule = _b.sent();
|
|
128
|
+
if (moduleSystem === "esm" || (configModule && "__esModule" in configModule && "default" in configModule)) {
|
|
124
129
|
connectionOptions = configModule.default;
|
|
125
130
|
}
|
|
126
131
|
else {
|
|
127
132
|
connectionOptions = configModule;
|
|
128
133
|
}
|
|
129
|
-
return [3 /*break*/,
|
|
130
|
-
case 4:
|
|
131
|
-
if (!(foundFileFormat === "json")) return [3 /*break*/, 5];
|
|
132
|
-
connectionOptions = require(configFile);
|
|
133
|
-
return [3 /*break*/, 11];
|
|
134
|
+
return [3 /*break*/, 12];
|
|
134
135
|
case 5:
|
|
135
|
-
if (!(foundFileFormat === "
|
|
136
|
-
|
|
136
|
+
if (!(foundFileFormat === "json")) return [3 /*break*/, 6];
|
|
137
|
+
connectionOptions = require(configFile);
|
|
138
|
+
return [3 /*break*/, 12];
|
|
137
139
|
case 6:
|
|
138
|
-
|
|
139
|
-
return [3 /*break*/, 11];
|
|
140
|
-
case 7:
|
|
141
|
-
if (!(foundFileFormat === "yaml")) return [3 /*break*/, 9];
|
|
140
|
+
if (!(foundFileFormat === "yml")) return [3 /*break*/, 8];
|
|
142
141
|
return [4 /*yield*/, new ConnectionOptionsYmlReader_1.ConnectionOptionsYmlReader().read(configFile)];
|
|
142
|
+
case 7:
|
|
143
|
+
connectionOptions = _b.sent();
|
|
144
|
+
return [3 /*break*/, 12];
|
|
143
145
|
case 8:
|
|
144
|
-
|
|
145
|
-
return [
|
|
146
|
+
if (!(foundFileFormat === "yaml")) return [3 /*break*/, 10];
|
|
147
|
+
return [4 /*yield*/, new ConnectionOptionsYmlReader_1.ConnectionOptionsYmlReader().read(configFile)];
|
|
146
148
|
case 9:
|
|
147
|
-
|
|
148
|
-
return [
|
|
149
|
+
connectionOptions = _b.sent();
|
|
150
|
+
return [3 /*break*/, 12];
|
|
149
151
|
case 10:
|
|
150
|
-
|
|
151
|
-
|
|
152
|
+
if (!(foundFileFormat === "xml")) return [3 /*break*/, 12];
|
|
153
|
+
return [4 /*yield*/, new ConnectionOptionsXmlReader_1.ConnectionOptionsXmlReader().read(configFile)];
|
|
152
154
|
case 11:
|
|
155
|
+
connectionOptions = _b.sent();
|
|
156
|
+
_b.label = 12;
|
|
157
|
+
case 12:
|
|
153
158
|
// normalize and return connection options
|
|
154
159
|
if (connectionOptions) {
|
|
155
160
|
return [2 /*return*/, this.normalizeConnectionOptions(connectionOptions)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/connection/ConnectionOptionsReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsReader.js","sourcesContent":["import appRootPath from \"app-root-path\";\nimport path from \"path\";\nimport {ConnectionOptions} from \"./ConnectionOptions\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport {ConnectionOptionsEnvReader} from \"./options-reader/ConnectionOptionsEnvReader\";\nimport {ConnectionOptionsYmlReader} from \"./options-reader/ConnectionOptionsYmlReader\";\nimport {ConnectionOptionsXmlReader} from \"./options-reader/ConnectionOptionsXmlReader\";\nimport { TypeORMError } from \"../error\";\n\n/**\n * Reads connection options from the ormconfig.\n * Can read from multiple file extensions including env, json, js, xml and yml.\n */\nexport class ConnectionOptionsReader {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: {\n /**\n * Directory where ormconfig should be read from.\n * By default its your application root (where your app package.json is located).\n */\n root?: string,\n\n /**\n * Filename of the ormconfig configuration. By default its equal to \"ormconfig\".\n */\n configName?: string\n }) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns all connection options read from the ormconfig.\n */\n async all(): Promise<ConnectionOptions[]> {\n const options = await this.load();\n if (!options)\n throw new TypeORMError(`No connection options were found in any orm configuration files.`);\n\n return options;\n }\n\n /**\n * Gets a connection with a given name read from ormconfig.\n * If connection with such name would not be found then it throw error.\n */\n async get(name: string): Promise<ConnectionOptions> {\n const allOptions = await this.all();\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n if (!targetOptions)\n throw new TypeORMError(`Cannot find connection ${name} because its not defined in any orm configuration files.`);\n\n return targetOptions;\n }\n\n /**\n * Checks if there is a TypeORM configuration file.\n */\n async has(name: string): Promise<boolean> {\n const allOptions = await this.load();\n if (!allOptions)\n return false;\n\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n return !!targetOptions;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all connection options from a configuration file.\n *\n * todo: get in count NODE_ENV somehow\n */\n protected async load(): Promise<ConnectionOptions[]|undefined> {\n let connectionOptions: ConnectionOptions|ConnectionOptions[]|undefined = undefined;\n\n const fileFormats = [\"env\", \"js\", \"cjs\", \"ts\", \"json\", \"yml\", \"yaml\", \"xml\"];\n\n // Detect if baseFilePath contains file extension\n const possibleExtension = this.baseFilePath.substr(this.baseFilePath.lastIndexOf(\".\"));\n const fileExtension = fileFormats.find(extension => `.${extension}` === possibleExtension);\n\n // try to find any of following configuration formats\n const foundFileFormat = fileExtension || fileFormats.find(format => {\n return PlatformTools.fileExist(this.baseFilePath + \".\" + format);\n });\n\n // Determine config file name\n const configFile = fileExtension ? this.baseFilePath : this.baseFilePath + \".\" + foundFileFormat;\n\n // if .env file found then load all its variables into process.env using dotenv package\n if (foundFileFormat === \"env\") {\n PlatformTools.dotenv(configFile);\n } else if (PlatformTools.fileExist(this.baseDirectory + \"/.env\")) {\n PlatformTools.dotenv(this.baseDirectory + \"/.env\");\n }\n\n // try to find connection options from any of available sources of configuration\n if (PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") || PlatformTools.getEnvVariable(\"TYPEORM_URL\")) {\n connectionOptions = await new ConnectionOptionsEnvReader().read();\n\n } else if (foundFileFormat === \"js\" || foundFileFormat === \"cjs\" || foundFileFormat === \"ts\") {\n const configModule = await require(configFile);\n\n if (configModule && \"__esModule\" in configModule && \"default\" in configModule) {\n connectionOptions = configModule.default;\n } else {\n connectionOptions = configModule;\n }\n\n } else if (foundFileFormat === \"json\") {\n connectionOptions = require(configFile);\n\n } else if (foundFileFormat === \"yml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"yaml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"xml\") {\n connectionOptions = await new ConnectionOptionsXmlReader().read(configFile);\n }\n\n // normalize and return connection options\n if (connectionOptions) {\n return this.normalizeConnectionOptions(connectionOptions);\n }\n\n return undefined;\n }\n\n /**\n * Normalize connection options.\n */\n protected normalizeConnectionOptions(connectionOptions: ConnectionOptions|ConnectionOptions[]): ConnectionOptions[] {\n if (!(Array.isArray(connectionOptions)))\n connectionOptions = [connectionOptions];\n\n connectionOptions.forEach(options => {\n if (options.entities) {\n const entities = (options.entities as any[]).map(entity => {\n if (typeof entity === \"string\" && entity.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + entity;\n\n return entity;\n });\n Object.assign(connectionOptions, { entities: entities });\n }\n if (options.subscribers) {\n const subscribers = (options.subscribers as any[]).map(subscriber => {\n if (typeof subscriber === \"string\" && subscriber.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + subscriber;\n\n return subscriber;\n });\n Object.assign(connectionOptions, { subscribers: subscribers });\n }\n if (options.migrations) {\n const migrations = (options.migrations as any[]).map(migration => {\n if (typeof migration === \"string\" && migration.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + migration;\n\n return migration;\n });\n Object.assign(connectionOptions, { migrations: migrations });\n }\n\n // make database path file in sqlite relative to package.json\n if (options.type === \"sqlite\" || options.type === \"better-sqlite3\") {\n if (typeof options.database === \"string\" &&\n options.database.substr(0, 1) !== \"/\" && // unix absolute\n options.database.substr(1, 2) !== \":\\\\\" && // windows absolute\n options.database !== \":memory:\") {\n Object.assign(options, {\n database: this.baseDirectory + \"/\" + options.database\n });\n }\n }\n });\n\n return connectionOptions;\n }\n\n /**\n * Gets directory where configuration file should be located and configuration file name.\n */\n protected get baseFilePath(): string {\n return path.resolve(this.baseDirectory, this.baseConfigName);\n }\n\n /**\n * Gets directory where configuration file should be located.\n */\n protected get baseDirectory(): string {\n if (this.options && this.options.root)\n return this.options.root;\n\n return appRootPath.path;\n }\n\n /**\n * Gets configuration file name.\n */\n protected get baseConfigName(): string {\n if (this.options && this.options.configName)\n return this.options.configName;\n\n return \"ormconfig\";\n }\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/connection/ConnectionOptionsReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsReader.js","sourcesContent":["import appRootPath from \"app-root-path\";\nimport path from \"path\";\nimport {ConnectionOptions} from \"./ConnectionOptions\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport {ConnectionOptionsEnvReader} from \"./options-reader/ConnectionOptionsEnvReader\";\nimport {ConnectionOptionsYmlReader} from \"./options-reader/ConnectionOptionsYmlReader\";\nimport {ConnectionOptionsXmlReader} from \"./options-reader/ConnectionOptionsXmlReader\";\nimport { TypeORMError } from \"../error\";\nimport {importOrRequireFile} from \"../util/ImportUtils\";\n\n/**\n * Reads connection options from the ormconfig.\n * Can read from multiple file extensions including env, json, js, xml and yml.\n */\nexport class ConnectionOptionsReader {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: {\n /**\n * Directory where ormconfig should be read from.\n * By default its your application root (where your app package.json is located).\n */\n root?: string,\n\n /**\n * Filename of the ormconfig configuration. By default its equal to \"ormconfig\".\n */\n configName?: string\n }) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns all connection options read from the ormconfig.\n */\n async all(): Promise<ConnectionOptions[]> {\n const options = await this.load();\n if (!options)\n throw new TypeORMError(`No connection options were found in any orm configuration files.`);\n\n return options;\n }\n\n /**\n * Gets a connection with a given name read from ormconfig.\n * If connection with such name would not be found then it throw error.\n */\n async get(name: string): Promise<ConnectionOptions> {\n const allOptions = await this.all();\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n if (!targetOptions)\n throw new TypeORMError(`Cannot find connection ${name} because its not defined in any orm configuration files.`);\n\n return targetOptions;\n }\n\n /**\n * Checks if there is a TypeORM configuration file.\n */\n async has(name: string): Promise<boolean> {\n const allOptions = await this.load();\n if (!allOptions)\n return false;\n\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n return !!targetOptions;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all connection options from a configuration file.\n *\n * todo: get in count NODE_ENV somehow\n */\n protected async load(): Promise<ConnectionOptions[]|undefined> {\n let connectionOptions: ConnectionOptions|ConnectionOptions[]|undefined = undefined;\n\n const fileFormats = [\"env\", \"js\", \"mjs\", \"cjs\", \"ts\", \"mts\", \"cts\", \"json\", \"yml\", \"yaml\", \"xml\"];\n\n // Detect if baseFilePath contains file extension\n const possibleExtension = this.baseFilePath.substr(this.baseFilePath.lastIndexOf(\".\"));\n const fileExtension = fileFormats.find(extension => `.${extension}` === possibleExtension);\n\n // try to find any of following configuration formats\n const foundFileFormat = fileExtension || fileFormats.find(format => {\n return PlatformTools.fileExist(this.baseFilePath + \".\" + format);\n });\n\n // Determine config file name\n const configFile = fileExtension ? this.baseFilePath : this.baseFilePath + \".\" + foundFileFormat;\n\n // if .env file found then load all its variables into process.env using dotenv package\n if (foundFileFormat === \"env\") {\n PlatformTools.dotenv(configFile);\n } else if (PlatformTools.fileExist(this.baseDirectory + \"/.env\")) {\n PlatformTools.dotenv(this.baseDirectory + \"/.env\");\n }\n\n // try to find connection options from any of available sources of configuration\n if (PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") || PlatformTools.getEnvVariable(\"TYPEORM_URL\")) {\n connectionOptions = await new ConnectionOptionsEnvReader().read();\n\n } else if (\n foundFileFormat === \"js\" || foundFileFormat === \"mjs\" || foundFileFormat === \"cjs\" ||\n foundFileFormat === \"ts\" || foundFileFormat === \"mts\" || foundFileFormat === \"cts\"\n ) {\n const [importOrRequireResult, moduleSystem] = await importOrRequireFile(configFile);\n const configModule = await importOrRequireResult;\n\n if (moduleSystem === \"esm\" || (configModule && \"__esModule\" in configModule && \"default\" in configModule)) {\n connectionOptions = configModule.default;\n } else {\n connectionOptions = configModule;\n }\n\n } else if (foundFileFormat === \"json\") {\n connectionOptions = require(configFile);\n\n } else if (foundFileFormat === \"yml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"yaml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"xml\") {\n connectionOptions = await new ConnectionOptionsXmlReader().read(configFile);\n }\n\n // normalize and return connection options\n if (connectionOptions) {\n return this.normalizeConnectionOptions(connectionOptions);\n }\n\n return undefined;\n }\n\n /**\n * Normalize connection options.\n */\n protected normalizeConnectionOptions(connectionOptions: ConnectionOptions|ConnectionOptions[]): ConnectionOptions[] {\n if (!(Array.isArray(connectionOptions)))\n connectionOptions = [connectionOptions];\n\n connectionOptions.forEach(options => {\n if (options.entities) {\n const entities = (options.entities as any[]).map(entity => {\n if (typeof entity === \"string\" && entity.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + entity;\n\n return entity;\n });\n Object.assign(connectionOptions, { entities: entities });\n }\n if (options.subscribers) {\n const subscribers = (options.subscribers as any[]).map(subscriber => {\n if (typeof subscriber === \"string\" && subscriber.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + subscriber;\n\n return subscriber;\n });\n Object.assign(connectionOptions, { subscribers: subscribers });\n }\n if (options.migrations) {\n const migrations = (options.migrations as any[]).map(migration => {\n if (typeof migration === \"string\" && migration.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + migration;\n\n return migration;\n });\n Object.assign(connectionOptions, { migrations: migrations });\n }\n\n // make database path file in sqlite relative to package.json\n if (options.type === \"sqlite\" || options.type === \"better-sqlite3\") {\n if (typeof options.database === \"string\" &&\n options.database.substr(0, 1) !== \"/\" && // unix absolute\n options.database.substr(1, 2) !== \":\\\\\" && // windows absolute\n options.database !== \":memory:\") {\n Object.assign(options, {\n database: this.baseDirectory + \"/\" + options.database\n });\n }\n }\n });\n\n return connectionOptions;\n }\n\n /**\n * Gets directory where configuration file should be located and configuration file name.\n */\n protected get baseFilePath(): string {\n return path.resolve(this.baseDirectory, this.baseConfigName);\n }\n\n /**\n * Gets directory where configuration file should be located.\n */\n protected get baseDirectory(): string {\n if (this.options && this.options.root)\n return this.options.root;\n\n return appRootPath.path;\n }\n\n /**\n * Gets configuration file name.\n */\n protected get baseConfigName(): string {\n if (this.options && this.options.configName)\n return this.options.configName;\n\n return \"ormconfig\";\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -38,6 +38,7 @@ var ConnectionOptionsEnvReader = /** @class */ (function () {
|
|
|
38
38
|
entities: this.stringToArray(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_ENTITIES")),
|
|
39
39
|
migrations: this.stringToArray(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_MIGRATIONS")),
|
|
40
40
|
migrationsTableName: PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_MIGRATIONS_TABLE_NAME"),
|
|
41
|
+
metadataTableName: PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_METADATA_TABLE_NAME"),
|
|
41
42
|
subscribers: this.stringToArray(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_SUBSCRIBERS")),
|
|
42
43
|
logging: this.transformLogging(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_LOGGING")),
|
|
43
44
|
logger: PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_LOGGER"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/connection/options-reader/ConnectionOptionsEnvReader.ts"],"names":[],"mappings":";;;;AACA,8DAA2D;AAC3D,gDAA6C;AAE7C;;;;GAIG;AACH;IAAA;
|
|
1
|
+
{"version":3,"sources":["../../src/connection/options-reader/ConnectionOptionsEnvReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsEnvReader.js","sourcesContent":["import {ConnectionOptions} from \"../ConnectionOptions\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\n\n/**\n * Reads connection options from environment variables.\n * Environment variables can have only a single connection.\n * Its strongly required to define TYPEORM_CONNECTION env variable.\n */\nexport class ConnectionOptionsEnvReader {\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Reads connection options from environment variables.\n */\n async read(): Promise<ConnectionOptions[]> {\n return [{\n type: PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") || (PlatformTools.getEnvVariable(\"TYPEORM_URL\") ? PlatformTools.getEnvVariable(\"TYPEORM_URL\").split(\"://\")[0] : undefined),\n url: PlatformTools.getEnvVariable(\"TYPEORM_URL\"),\n host: PlatformTools.getEnvVariable(\"TYPEORM_HOST\"),\n port: this.stringToNumber(PlatformTools.getEnvVariable(\"TYPEORM_PORT\")),\n username: PlatformTools.getEnvVariable(\"TYPEORM_USERNAME\"),\n password: PlatformTools.getEnvVariable(\"TYPEORM_PASSWORD\"),\n database: PlatformTools.getEnvVariable(\"TYPEORM_DATABASE\"),\n sid: PlatformTools.getEnvVariable(\"TYPEORM_SID\"),\n schema: PlatformTools.getEnvVariable(\"TYPEORM_SCHEMA\"),\n extra: PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\") ? JSON.parse(PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\")) : undefined,\n synchronize: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_SYNCHRONIZE\")),\n dropSchema: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_DROP_SCHEMA\")),\n migrationsRun: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_RUN\")),\n entities: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES\")),\n migrations: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS\")),\n migrationsTableName: PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_TABLE_NAME\"),\n metadataTableName: PlatformTools.getEnvVariable(\"TYPEORM_METADATA_TABLE_NAME\"),\n subscribers: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS\")),\n logging: this.transformLogging(PlatformTools.getEnvVariable(\"TYPEORM_LOGGING\")),\n logger: PlatformTools.getEnvVariable(\"TYPEORM_LOGGER\"),\n entityPrefix: PlatformTools.getEnvVariable(\"TYPEORM_ENTITY_PREFIX\"),\n maxQueryExecutionTime: PlatformTools.getEnvVariable(\"TYPEORM_MAX_QUERY_EXECUTION_TIME\"),\n debug: PlatformTools.getEnvVariable(\"TYPEORM_DEBUG\"),\n cli: {\n entitiesDir: PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES_DIR\"),\n migrationsDir: PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_DIR\"),\n subscribersDir: PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS_DIR\"),\n },\n cache: this.transformCaching(),\n uuidExtension: PlatformTools.getEnvVariable(\"TYPEORM_UUID_EXTENSION\")\n }];\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Transforms logging string into real logging value connection requires.\n */\n protected transformLogging(logging: string): any {\n if (logging === \"true\" || logging === \"TRUE\" || logging === \"1\")\n return true;\n if (logging === \"all\")\n return \"all\";\n\n return this.stringToArray(logging);\n }\n\n /**\n * Transforms caching option into real caching value option requires.\n */\n protected transformCaching(): boolean | object | undefined {\n const caching = PlatformTools.getEnvVariable(\"TYPEORM_CACHE\");\n if (caching === \"true\" || caching === \"TRUE\" || caching === \"1\")\n return true;\n if (caching === \"false\" || caching === \"FALSE\" || caching === \"0\")\n return false;\n if (caching === \"redis\" || caching === \"ioredis\" || caching === \"database\")\n return {\n type: caching,\n options: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\") ? JSON.parse(PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\")) : undefined,\n alwaysEnabled: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_ALWAYS_ENABLED\"),\n duration: parseInt(PlatformTools.getEnvVariable(\"TYPEORM_CACHE_DURATION\"))\n };\n\n return undefined;\n }\n\n /**\n * Converts a string which contains multiple elements split by comma into a string array of strings.\n */\n protected stringToArray(variable?: string) {\n if (!variable)\n return [];\n return variable.split(\",\").map(str => str.trim());\n }\n\n /**\n * Converts a string which contains a number into a javascript number\n */\n private stringToNumber(value: any): number|undefined {\n if (!value) {\n return undefined;\n }\n\n return parseInt(value);\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AfterRecover = void 0;
|
|
4
|
+
var globals_1 = require("../../globals");
|
|
5
|
+
var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
|
|
6
|
+
/**
|
|
7
|
+
* Calls a method on which this decorator is applied before this entity soft removal.
|
|
8
|
+
*/
|
|
9
|
+
function AfterRecover() {
|
|
10
|
+
return function (object, propertyName) {
|
|
11
|
+
(0, globals_1.getMetadataArgsStorage)().entityListeners.push({
|
|
12
|
+
target: object.constructor,
|
|
13
|
+
propertyName: propertyName,
|
|
14
|
+
type: EventListenerTypes_1.EventListenerTypes.AFTER_RECOVER
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.AfterRecover = AfterRecover;
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=AfterRecover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/decorator/listeners/AfterRecover.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,YAAY;IACxB,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,aAAa;SACX,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,oCASC","file":"AfterRecover.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function AfterRecover(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.AFTER_RECOVER\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AfterSoftRemove = void 0;
|
|
4
|
+
var globals_1 = require("../../globals");
|
|
5
|
+
var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
|
|
6
|
+
/**
|
|
7
|
+
* Calls a method on which this decorator is applied before this entity soft removal.
|
|
8
|
+
*/
|
|
9
|
+
function AfterSoftRemove() {
|
|
10
|
+
return function (object, propertyName) {
|
|
11
|
+
(0, globals_1.getMetadataArgsStorage)().entityListeners.push({
|
|
12
|
+
target: object.constructor,
|
|
13
|
+
propertyName: propertyName,
|
|
14
|
+
type: EventListenerTypes_1.EventListenerTypes.AFTER_SOFT_REMOVE
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.AfterSoftRemove = AfterSoftRemove;
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=AfterSoftRemove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/decorator/listeners/AfterSoftRemove.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,eAAe;IAC3B,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,iBAAiB;SACf,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,0CASC","file":"AfterSoftRemove.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function AfterSoftRemove(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.AFTER_SOFT_REMOVE\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BeforeRecover = void 0;
|
|
4
|
+
var globals_1 = require("../../globals");
|
|
5
|
+
var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
|
|
6
|
+
/**
|
|
7
|
+
* Calls a method on which this decorator is applied before this entity soft removal.
|
|
8
|
+
*/
|
|
9
|
+
function BeforeRecover() {
|
|
10
|
+
return function (object, propertyName) {
|
|
11
|
+
(0, globals_1.getMetadataArgsStorage)().entityListeners.push({
|
|
12
|
+
target: object.constructor,
|
|
13
|
+
propertyName: propertyName,
|
|
14
|
+
type: EventListenerTypes_1.EventListenerTypes.BEFORE_RECOVER
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.BeforeRecover = BeforeRecover;
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=BeforeRecover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/decorator/listeners/BeforeRecover.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,aAAa;IACzB,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,cAAc;SACZ,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,sCASC","file":"BeforeRecover.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function BeforeRecover(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.BEFORE_RECOVER\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BeforeSoftRemove = void 0;
|
|
4
|
+
var globals_1 = require("../../globals");
|
|
5
|
+
var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
|
|
6
|
+
/**
|
|
7
|
+
* Calls a method on which this decorator is applied before this entity soft removal.
|
|
8
|
+
*/
|
|
9
|
+
function BeforeSoftRemove() {
|
|
10
|
+
return function (object, propertyName) {
|
|
11
|
+
(0, globals_1.getMetadataArgsStorage)().entityListeners.push({
|
|
12
|
+
target: object.constructor,
|
|
13
|
+
propertyName: propertyName,
|
|
14
|
+
type: EventListenerTypes_1.EventListenerTypes.BEFORE_SOFT_REMOVE
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.BeforeSoftRemove = BeforeSoftRemove;
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=BeforeSoftRemove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/decorator/listeners/BeforeSoftRemove.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,gBAAgB;IAC5B,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,kBAAkB;SAChB,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,4CASC","file":"BeforeSoftRemove.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function BeforeSoftRemove(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.BEFORE_SOFT_REMOVE\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
|
|
@@ -1512,7 +1512,7 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
|
|
|
1512
1512
|
table = _a;
|
|
1513
1513
|
index = indexOrName instanceof TableIndex_1.TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
|
|
1514
1514
|
if (!index)
|
|
1515
|
-
throw new error_1.TypeORMError("Supplied index was not found in table " + table.name);
|
|
1515
|
+
throw new error_1.TypeORMError("Supplied index " + indexOrName + " was not found in table " + table.name);
|
|
1516
1516
|
up = this.dropIndexSql(table, index);
|
|
1517
1517
|
down = this.createIndexSql(table, index);
|
|
1518
1518
|
return [4 /*yield*/, this.executeQueries(up, down)];
|
|
@@ -1821,7 +1821,7 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
|
|
|
1821
1821
|
tableColumn.isGenerated = dbColumn["EXTRA"].indexOf("auto_increment") !== -1;
|
|
1822
1822
|
if (tableColumn.isGenerated)
|
|
1823
1823
|
tableColumn.generationStrategy = "increment";
|
|
1824
|
-
tableColumn.comment = dbColumn["COLUMN_COMMENT"];
|
|
1824
|
+
tableColumn.comment = (typeof dbColumn["COLUMN_COMMENT"] === "string" && dbColumn["COLUMN_COMMENT"].length === 0) ? undefined : dbColumn["COLUMN_COMMENT"];
|
|
1825
1825
|
if (dbColumn["CHARACTER_SET_NAME"])
|
|
1826
1826
|
tableColumn.charset = dbColumn["CHARACTER_SET_NAME"] === defaultCharset ? undefined : dbColumn["CHARACTER_SET_NAME"];
|
|
1827
1827
|
if (dbColumn["COLLATION_NAME"])
|