fix: Improve handling of invalid file type passed to documents.import API endpoint

This commit is contained in:
Tom Moor
2020-09-21 00:34:13 -07:00
parent 292afd774d
commit d9b7384853
2 changed files with 27 additions and 0 deletions

View File

@ -5,6 +5,7 @@ import mammoth from "mammoth";
import TurndownService from "turndown";
import uuid from "uuid";
import parseTitle from "../../shared/utils/parseTitle";
import { InvalidRequestError } from "../errors";
import { Attachment, Event, User } from "../models";
import dataURItoBuffer from "../utils/dataURItoBuffer";
import parseImages from "../utils/parseImages";
@ -66,6 +67,9 @@ export default async function documentImporter({
ip: string,
}): Promise<{ text: string, title: string }> {
const fileInfo = importMapping.filter((item) => item.type === file.type)[0];
if (!fileInfo) {
throw new InvalidRequestError(`File type ${file.type} not supported`);
}
let title = file.name.replace(/\.[^/.]+$/, "");
let text = await fileInfo.getMarkdown(file);