@nestjs-mod/pg-flyway
Version:
PgFlyway - utility for working with database migrations (site: https://www.npmjs.com/package/pg-flyway, preview version only for Postgres)
65 lines • 3.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PgFlyway = void 0;
const common_1 = require("@nestjs-mod/common");
const pg_flyway_infrastructure_updater_service_1 = require("./infrastructure/pg-flyway-infrastructure-updater.service");
const pg_flyway_configuration_1 = require("./pg-flyway.configuration");
const pg_flyway_constants_1 = require("./pg-flyway.constants");
const pg_flyway_environments_1 = require("./pg-flyway.environments");
exports.PgFlyway = (0, common_1.createNestModule)({
moduleName: pg_flyway_constants_1.PG_FLYWAY_MODULE_NAME,
moduleCategory: common_1.NestModuleCategory.infrastructure,
moduleDescription: 'PgFlyway - utility for working with database migrations (site: https://www.npmjs.com/package/pg-flyway, preview version only for Postgres)',
staticConfigurationModel: pg_flyway_configuration_1.PgFlywayConfiguration,
environmentsModel: pg_flyway_environments_1.PgFlywayEnvironments,
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: pg_flyway_constants_1.PG_FLYWAY_MODULE_NAME,
moduleDescription: 'PgFlyway - utility for working with database migrations (site: https://www.npmjs.com/package/pg-flyway, preview version only for Postgres)',
staticConfigurationModel: pg_flyway_configuration_1.PgFlywayConfiguration,
environmentsModel: pg_flyway_environments_1.PgFlywayEnvironments,
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: pg_flyway_constants_1.PG_FLYWAY_MODULE_NAME,
contextName: current.asyncModuleOptions.contextName,
}),
],
providers: [pg_flyway_infrastructure_updater_service_1.PgFlywayInfrastructureUpdaterService],
}).PgFlyway.forRootAsync(current.asyncModuleOptions));
},
}).PgFlyway;
//# sourceMappingURL=pg-flyway.module.js.map