nestjs-file-system
Version:
File manipulator for nestjs
71 lines • 2.79 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NfsService = void 0;
const common_1 = require("@nestjs/common");
const AdmZip = require("adm-zip");
const _path = require("node:path");
const fs = require("node:fs");
let NfsService = class NfsService {
constructor() {
this.logger = new common_1.Logger('NestJs-File-System', { timestamp: true });
this.logger.log('Starting module', 'NfsService initialized');
}
async deflateZip(entry, targetPath, overWrite, keepOriginalPermission) {
try {
this.logger.debug(`Starting deflate ${entry}`);
const file2UnZip = new AdmZip(_path.resolve(entry));
file2UnZip.extractAllToAsync(targetPath, overWrite, keepOriginalPermission);
}
catch (e) {
this.logger.error(`Unable to deflate ${entry}`);
throw new common_1.ServiceUnavailableException(e);
}
}
async deleteFile(entry) {
try {
this.logger.debug(`Deleting ${entry}`);
fs.unlinkSync(entry);
}
catch (e) {
this.logger.error(JSON.stringify(e));
throw new common_1.ServiceUnavailableException(e);
}
}
async listFile(folder) {
try {
return fs.readdirSync(_path.resolve(folder), {
withFileTypes: true,
});
}
catch (e) {
this.logger.error(JSON.stringify(e));
throw new common_1.ServiceUnavailableException(e);
}
}
async makeDirectory(path) {
try {
if (!fs.existsSync(path)) {
fs.mkdirSync(path, 0o766);
}
}
catch (e) {
this.logger.error(JSON.stringify(e));
throw new common_1.ServiceUnavailableException(e);
}
}
};
NfsService = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [])
], NfsService);
exports.NfsService = NfsService;
//# sourceMappingURL=nfs.service.js.map