UNPKG

@nestjs-mod/flyway

Version:

Flyway - utility for working with database migrations (official site: https://flywaydb.org, preview version only for Postgres)

66 lines 3.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Flyway = void 0; const common_1 = require("@nestjs-mod/common"); const flyway_configuration_1 = require("./flyway.configuration"); const flyway_constants_1 = require("./flyway.constants"); const flyway_environments_1 = require("./flyway.environments"); const flyway_config_file_service_1 = require("./infrastructure/flyway-config-file.service"); const flyway_infrastructure_updater_service_1 = require("./infrastructure/flyway-infrastructure-updater.service"); exports.Flyway = (0, common_1.createNestModule)({ moduleName: flyway_constants_1.FLYWAY_MODULE_NAME, moduleCategory: common_1.NestModuleCategory.infrastructure, moduleDescription: 'Flyway - utility for working with database migrations (official site: https://flywaydb.org, preview version only for Postgres)', staticConfigurationModel: flyway_configuration_1.FlywayConfiguration, environmentsModel: flyway_environments_1.FlywayEnvironments, wrapForRootAsync: (asyncModuleOptions) => { if (!asyncModuleOptions) { asyncModuleOptions = {}; } if (asyncModuleOptions.staticConfiguration?.featureName) { const FomatterClass = (0, common_1.getFeatureDotEnvPropertyNameFormatter)(asyncModuleOptions.staticConfiguration.featureName); Object.assign(asyncModuleOptions, { environmentsOptions: { propertyNameFormatters: [new FomatterClass()], name: asyncModuleOptions.staticConfiguration?.featureName, }, }); } return { asyncModuleOptions }; }, preWrapApplication: async ({ project, modules, current }) => { if (!modules[common_1.NestModuleCategory.infrastructure]) { modules[common_1.NestModuleCategory.infrastructure] = []; } modules[common_1.NestModuleCategory.infrastructure].push((0, common_1.createNestModule)({ project, moduleName: flyway_constants_1.FLYWAY_MODULE_NAME, moduleDescription: 'Flyway - utility for working with database migrations (official site: https://flywaydb.org, preview version only for Postgres)', staticConfigurationModel: flyway_configuration_1.FlywayConfiguration, environmentsModel: flyway_environments_1.FlywayEnvironments, wrapForRootAsync: (asyncModuleOptions) => { if (!asyncModuleOptions) { asyncModuleOptions = {}; } if (asyncModuleOptions.staticConfiguration?.featureName) { const FomatterClass = (0, common_1.getFeatureDotEnvPropertyNameFormatter)(asyncModuleOptions.staticConfiguration.featureName); Object.assign(asyncModuleOptions, { environmentsOptions: { propertyNameFormatters: [new FomatterClass()], name: asyncModuleOptions.staticConfiguration?.featureName, }, }); } return { asyncModuleOptions }; }, imports: [ common_1.ProjectUtils.forFeature({ featureModuleName: flyway_constants_1.FLYWAY_MODULE_NAME, contextName: current.asyncModuleOptions.contextName, }), ], providers: [flyway_config_file_service_1.FlywayConfigFileService, flyway_infrastructure_updater_service_1.FlywayInfrastructureUpdaterService], }).Flyway.forRootAsync(current.asyncModuleOptions)); }, }).Flyway; //# sourceMappingURL=flyway.module.js.map