diff --git a/src/server/route/routes/importComics.routes.ts b/src/server/route/routes/importComics.routes.ts index 461cda2..25519d5 100644 --- a/src/server/route/routes/importComics.routes.ts +++ b/src/server/route/routes/importComics.routes.ts @@ -12,9 +12,9 @@ import { Request, Response } from "express"; router.route("/getComicCovers").get(async (req: Request, res: Response) => { const foo = await extractArchive({ - name: "Hellboy - The Chained Coffin and Others Ch3.cbr", + name: "Dollar Bill 001.cbr", extension: ".cbr", - containedIn: "comics/Hellboy. The Chained Coffin and Others (1998) (of 1)", + containedIn: "comics/(2012) Before Watchmen - Dollar Bill", isFile: true, isLink: false, }); diff --git a/src/server/utils/fs.utils.ts b/src/server/utils/fs.utils.ts index 82fa9cd..35c5ff8 100644 --- a/src/server/utils/fs.utils.ts +++ b/src/server/utils/fs.utils.ts @@ -25,15 +25,15 @@ export const unrar = async ( > => { const comicCoversTargetPath = extractionOptions.sourceFolder + extractionOptions.targetComicCoversFolder; - - const buf = Uint8Array.from( - fs.readFile( + const fileBuffer = await fs + .readFile( extractionOptions.folderDetails.containedIn + "/" + extractionOptions.folderDetails.name, - ), - ).buffer; - const extractor = await unrarer.createExtractorFromData({ data: buf }); + ) + .catch((err) => console.error("Failed to read file", err)); + // const buf = Uint8Array.from(fs.readFile(fileBuffer); + const extractor = await unrarer.createExtractorFromData({ data: fileBuffer }); switch (extractionOptions.extractTarget) { // extract the first file only case "cover": @@ -84,19 +84,24 @@ export const unrar = async ( comicCoversTargetPath + "/" + pathFragments.exploded.join("/"); try { await fse.ensureDir(targetPath, options); - console.log("success!"); + logger.info(`${targetPath} was created or already exists.`); try { - await fs.writeFile(file.fileHeader.name, fileBuffer); // need to be in an async function + await fs.writeFile( + targetPath + "/" + pathFragments.fileName, + fileBuffer, + ); comicBookCoverFiles.push({ name: `${file.fileHeader.name}`, path: targetPath, fileSize: file.fileHeader.packSize, }); } catch (error) { - console.log(error); + logger.error(error); + reject(error); } } catch (err) { - console.error(err); + logger.error(err); + reject(err); } } resolve(comicBookCoverFiles);