From 7fabb02bfe5672380f3ebdfea7b3bd5c32a54149 Mon Sep 17 00:00:00 2001 From: HampusM Date: Thu, 22 Jul 2021 20:23:02 +0200 Subject: Improved error handling in some misc functions --- packages/server/src/git/misc.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'packages/server/src/git/misc.ts') diff --git a/packages/server/src/git/misc.ts b/packages/server/src/git/misc.ts index 637cb8c..bd18322 100644 --- a/packages/server/src/git/misc.ts +++ b/packages/server/src/git/misc.ts @@ -1,4 +1,5 @@ import { readFile, readdir } from "fs"; +import { createError, MiscError } from "./error"; export async function findAsync(arr: T[], callback: (t: T) => Promise): Promise { const results = await Promise.all(arr.map(callback)); @@ -6,23 +7,25 @@ export async function findAsync(arr: T[], callback: (t: T) => Promise { - return new Promise(resolve => { +export function getFile(base_dir: string, repository: string, file: string): Promise { + return new Promise((resolve, reject) => { readFile(`${base_dir}/${repository}/${file}`, (err, content) => { if(err) { - resolve(null); + reject(createError(MiscError, 500, "Failed to open repository file " + file)); return; } + resolve(content.toString().replace(/\n/gu, "")); }); }); } export function getDirectory(directory: string): Promise { - return new Promise(resolve => { + return new Promise((resolve, reject) => { readdir(directory, (err, dir_content) => { if(err) { - resolve([]); + reject(createError(MiscError, 500, "Failed to open directory " + directory)); + return; } resolve(dir_content); -- cgit v1.2.3-18-g5258