From 569d76d90d93f474a1f98ea43deb4d2dff829e8e Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Thu, 15 Apr 2021 23:15:41 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=96=87=20Wiring=20up=20calls=20for=20comi?= =?UTF-8?q?c=20book=20import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/route/routes/importComics.routes.ts | 2 +- src/server/utils/fs.utils.ts | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/server/route/routes/importComics.routes.ts b/src/server/route/routes/importComics.routes.ts index 8beb466..ae63f0a 100644 --- a/src/server/route/routes/importComics.routes.ts +++ b/src/server/route/routes/importComics.routes.ts @@ -1,7 +1,7 @@ import router from "../router"; import { walkFolder, extractArchive } from "../../utils/fs.utils"; import { Request, Response } from "express"; -import { ParsedQs } from "qs"; + router.route("/getComicCovers").get((req: Request, res: Response) => { res.json({ jagan: "trupti", diff --git a/src/server/utils/fs.utils.ts b/src/server/utils/fs.utils.ts index ca576b7..99fd049 100644 --- a/src/server/utils/fs.utils.ts +++ b/src/server/utils/fs.utils.ts @@ -32,8 +32,13 @@ export const unzip = () => { }); }; -export const extractArchive = async (pathName) => { +export const extractArchive = async (fileObject: IFolderData) => { const extractedFile = await unrar("./comics"); + + switch(fileObject.extension) { + case '.cbz': + break; + } const myBuffer = extractedFile.extraction; logger.info(`Attempting to write ${extractedFile.fileHeader.name}`); fs.writeFile(pathName + extractedFile.fileHeader.name, myBuffer, (err) => { @@ -47,13 +52,9 @@ export const extractArchive = async (pathName) => { }); }; -export const walkFolder = async (folder: string): Promise<[IFolderData]> => { +export const walkFolder = async (folder: string): Promise => { const result: IFolderData[] = []; - return await Walk.walk(folder, async (err, pathname, dirent) => { - // err is failure to lstat a file or directory - // pathname is relative path, including the file or folder name - // dirent = { name, isDirectory(), isFile(), isSymbolicLink(), ... } - + await Walk.walk(folder, async (err, pathname, dirent) => { if (err) { logger.error("Failed to lstat directory", { error: err }); return false; @@ -70,4 +71,5 @@ export const walkFolder = async (folder: string): Promise<[IFolderData]> => { ); result.push(walkResult); }); + return result; };