diff --git a/lib/api/controllers/links/linkId/deleteLinkById.ts b/lib/api/controllers/links/linkId/deleteLinkById.ts index dba90cb..abff6f0 100644 --- a/lib/api/controllers/links/linkId/deleteLinkById.ts +++ b/lib/api/controllers/links/linkId/deleteLinkById.ts @@ -1,7 +1,6 @@ import { prisma } from "@/lib/api/db"; import { Link, UsersAndCollections } from "@prisma/client"; import getPermission from "@/lib/api/getPermission"; -import removeFile from "@/lib/api/storage/removeFile"; import { removeFiles } from "@/lib/api/manageLinkFiles"; export default async function deleteLink(userId: number, linkId: number) { diff --git a/lib/api/controllers/links/postLink.ts b/lib/api/controllers/links/postLink.ts index 7f77aeb..d046f54 100644 --- a/lib/api/controllers/links/postLink.ts +++ b/lib/api/controllers/links/postLink.ts @@ -152,7 +152,7 @@ export default async function postLink( }, }); - if (numberOfLinksTheUserHas + 1 > MAX_LINKS_PER_USER) + if (numberOfLinksTheUserHas > MAX_LINKS_PER_USER) return { response: `Error: Each user can only have a maximum of ${MAX_LINKS_PER_USER} Links.`, status: 400, diff --git a/pages/api/v1/archives/[linkId].ts b/pages/api/v1/archives/[linkId].ts index 2a6fe50..4a56e90 100644 --- a/pages/api/v1/archives/[linkId].ts +++ b/pages/api/v1/archives/[linkId].ts @@ -94,6 +94,22 @@ export default async function Index(req: NextApiRequest, res: NextApiResponse) { // await uploadHandler(linkId, ) + const MAX_LINKS_PER_USER = Number(process.env.MAX_LINKS_PER_USER || 30000); + + const numberOfLinksTheUserHas = await prisma.link.count({ + where: { + collection: { + ownerId: user.id, + }, + }, + }); + + if (numberOfLinksTheUserHas > MAX_LINKS_PER_USER) + return { + response: `Error: Each user can only have a maximum of ${MAX_LINKS_PER_USER} Links.`, + status: 400, + }; + const MAX_UPLOAD_SIZE = Number( process.env.NEXT_PUBLIC_MAX_FILE_BUFFER || 10 );