Merge branch 'feat/handle-files' into dev

This commit is contained in:
Daniel
2023-12-02 21:58:23 +03:30
committed by GitHub
19 changed files with 179 additions and 29 deletions
+3 -1
View File
@@ -10,7 +10,8 @@ export default async function Index(req: NextApiRequest, res: NextApiResponse) {
let suffix;
if (format === ArchivedFormat.screenshot) suffix = ".png";
if (format === ArchivedFormat.png) suffix = ".png";
else if (format === ArchivedFormat.jpeg) suffix = ".jpeg";
else if (format === ArchivedFormat.pdf) suffix = ".pdf";
else if (format === ArchivedFormat.readability) suffix = "_readability.json";
@@ -43,6 +44,7 @@ export default async function Index(req: NextApiRequest, res: NextApiResponse) {
const { file, contentType, status } = await readFile(
`archives/${collectionIsAccessible.id}/${linkId + suffix}`
);
res.setHeader("Content-Type", contentType).status(status as number);
return res.send(file);
+9 -2
View File
@@ -1,7 +1,8 @@
import type { NextApiRequest, NextApiResponse } from "next";
import archive from "@/lib/api/archive";
import urlHandler from "@/lib/api/urlHandler";
import { prisma } from "@/lib/api/db";
import verifyUser from "@/lib/api/verifyUser";
import isValidUrl from "@/lib/shared/isValidUrl";
const RE_ARCHIVE_LIMIT = Number(process.env.RE_ARCHIVE_LIMIT) || 5;
@@ -41,7 +42,13 @@ export default async function links(req: NextApiRequest, res: NextApiResponse) {
} minutes or create a new one.`,
});
archive(link.id, link.url, user.id);
if (link.url && isValidUrl(link.url)) {
urlHandler(link.id, link.url, user.id);
return res.status(200).json({
response: "Link is not a webpage to be archived.",
});
}
return res.status(200).json({
response: "Link is being archived.",
});
+1 -1
View File
@@ -10,7 +10,7 @@ import {
import Image from "next/image";
import ColorThief, { RGBColor } from "colorthief";
import unescapeString from "@/lib/client/unescapeString";
import isValidUrl from "@/lib/client/isValidUrl";
import isValidUrl from "@/lib/shared/isValidUrl";
import DOMPurify from "dompurify";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faBoxesStacked, faFolder } from "@fortawesome/free-solid-svg-icons";
+1 -1
View File
@@ -10,7 +10,7 @@ import {
import Image from "next/image";
import ColorThief, { RGBColor } from "colorthief";
import unescapeString from "@/lib/client/unescapeString";
import isValidUrl from "@/lib/client/isValidUrl";
import isValidUrl from "@/lib/shared/isValidUrl";
import DOMPurify from "dompurify";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faBoxesStacked, faFolder } from "@fortawesome/free-solid-svg-icons";