Merge pull request #754 from linkwarden/feat/customizable-links

Feat/customizable links
This commit is contained in:
Daniel
2024-09-04 22:20:16 -04:00
committed by GitHub
50 changed files with 1843 additions and 1200 deletions
@@ -18,8 +18,6 @@ export default async function updateCollection(
if (!(collectionIsAccessible?.ownerId === userId))
return { response: "Collection is not accessible.", status: 401 };
console.log(data);
if (data.parentId) {
if (data.parentId !== ("root" as any)) {
const findParentCollection = await prisma.collection.findUnique({
@@ -61,6 +59,8 @@ export default async function updateCollection(
name: data.name.trim(),
description: data.description,
color: data.color,
icon: data.icon,
iconWeight: data.iconWeight,
isPublic: data.isPublic,
parent:
data.parentId && data.parentId !== ("root" as any)
@@ -42,6 +42,8 @@ export default async function postCollection(
name: collection.name.trim(),
description: collection.description,
color: collection.color,
icon: collection.icon,
iconWeight: collection.iconWeight,
parent: collection.parentId
? {
connect: {
@@ -25,15 +25,15 @@ export default async function updateLinkById(
(e: UsersAndCollections) => e.userId === userId
);
// If the user is able to create a link, they can pin it to their dashboard only.
if (canPinPermission) {
// If the user is part of a collection, they can pin it to their dashboard
if (canPinPermission && data.pinnedBy && data.pinnedBy[0]) {
const updatedLink = await prisma.link.update({
where: {
id: linkId,
},
data: {
pinnedBy:
data?.pinnedBy && data.pinnedBy[0]
data?.pinnedBy && data.pinnedBy[0].id === userId
? { connect: { id: userId } }
: { disconnect: { id: userId } },
},
@@ -48,7 +48,7 @@ export default async function updateLinkById(
},
});
// return { response: updatedLink, status: 200 };
return { response: updatedLink, status: 200 };
}
const targetCollectionIsAccessible = await getPermission({
@@ -96,6 +96,9 @@ export default async function updateLinkById(
data: {
name: data.name,
description: data.description,
icon: data.icon,
iconWeight: data.iconWeight,
color: data.color,
collection: {
connect: {
id: data.collection.id,