@nestjs-mod/flyway
Version:
Flyway - utility for working with database migrations (official site: https://flywaydb.org, preview version only for Postgres)
56 lines • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlywayConfigFileService = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const fs_1 = require("fs");
const path_1 = require("path");
const flyway_errors_1 = require("../flyway-errors");
const flyway_configuration_1 = require("../flyway.configuration");
let FlywayConfigFileService = class FlywayConfigFileService {
constructor(flywayConfiguration) {
this.flywayConfiguration = flywayConfiguration;
}
getFlywayConfigFilePath() {
if (!this.flywayConfiguration.configFile) {
throw new flyway_errors_1.FlywayError('flywayConfigFile not set');
}
return this.flywayConfiguration.configFile;
}
read() {
const flywayConfigFile = this.getFlywayConfigFilePath();
if (!flywayConfigFile) {
return undefined;
}
try {
return (0, fs_1.readFileSync)(flywayConfigFile).toString();
}
catch (err) {
return undefined;
}
}
write(data) {
const flywayConfigFile = this.getFlywayConfigFilePath();
if (!flywayConfigFile) {
return;
}
try {
const fileDir = (0, path_1.dirname)(flywayConfigFile);
if (fileDir) {
if (!(0, fs_1.existsSync)(fileDir)) {
(0, fs_1.mkdirSync)(fileDir, { recursive: true });
}
(0, fs_1.writeFileSync)(flywayConfigFile, data);
}
}
catch (err) {
//
}
}
};
exports.FlywayConfigFileService = FlywayConfigFileService;
exports.FlywayConfigFileService = FlywayConfigFileService = tslib_1.__decorate([
(0, common_1.Injectable)(),
tslib_1.__metadata("design:paramtypes", [flyway_configuration_1.FlywayConfiguration])
], FlywayConfigFileService);
//# sourceMappingURL=flyway-config-file.service.js.map