final touch
This commit is contained in:
parent
750aa294d0
commit
f26cd31694
|
@ -93,16 +93,17 @@ export default async function postLink(
|
|||
},
|
||||
});
|
||||
|
||||
if (user?.preventDuplicateLinks) {
|
||||
const existingLink = await prisma.link.findFirst({
|
||||
where: {
|
||||
url: link.url,
|
||||
url: link.url?.trim(),
|
||||
collection: {
|
||||
ownerId: userId,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (existingLink && user?.mergeDuplicateLinks) {
|
||||
if (existingLink)
|
||||
return {
|
||||
response: "Link already exists",
|
||||
status: 409,
|
||||
|
@ -148,7 +149,7 @@ export default async function postLink(
|
|||
|
||||
const newLink = await prisma.link.create({
|
||||
data: {
|
||||
url: link.url,
|
||||
url: link.url?.trim(),
|
||||
name: link.name,
|
||||
description,
|
||||
type: linkType,
|
||||
|
|
|
@ -190,7 +190,7 @@ export default async function updateUserById(
|
|||
archiveAsPDF: data.archiveAsPDF,
|
||||
archiveAsWaybackMachine: data.archiveAsWaybackMachine,
|
||||
linksRouteTo: data.linksRouteTo,
|
||||
mergeDuplicateLinks: data.mergeDuplicateLinks,
|
||||
preventDuplicateLinks: data.preventDuplicateLinks,
|
||||
password:
|
||||
data.newPassword && data.newPassword !== ""
|
||||
? newHashedPassword
|
||||
|
|
|
@ -16,7 +16,7 @@ export default function Appearance() {
|
|||
const { account, updateAccount } = useAccountStore();
|
||||
const [user, setUser] = useState<AccountSettings>(account);
|
||||
|
||||
const [mergeDuplicateLinks, setMergeDuplicateLinks] =
|
||||
const [preventDuplicateLinks, setPreventDuplicateLinks] =
|
||||
useState<boolean>(false);
|
||||
const [archiveAsScreenshot, setArchiveAsScreenshot] =
|
||||
useState<boolean>(false);
|
||||
|
@ -34,7 +34,7 @@ export default function Appearance() {
|
|||
archiveAsPDF,
|
||||
archiveAsWaybackMachine,
|
||||
linksRouteTo,
|
||||
mergeDuplicateLinks,
|
||||
preventDuplicateLinks,
|
||||
});
|
||||
}, [
|
||||
account,
|
||||
|
@ -42,7 +42,7 @@ export default function Appearance() {
|
|||
archiveAsPDF,
|
||||
archiveAsWaybackMachine,
|
||||
linksRouteTo,
|
||||
mergeDuplicateLinks,
|
||||
preventDuplicateLinks,
|
||||
]);
|
||||
|
||||
function objectIsEmpty(obj: object) {
|
||||
|
@ -55,7 +55,7 @@ export default function Appearance() {
|
|||
setArchiveAsPDF(account.archiveAsPDF);
|
||||
setArchiveAsWaybackMachine(account.archiveAsWaybackMachine);
|
||||
setLinksRouteTo(account.linksRouteTo);
|
||||
setMergeDuplicateLinks(account.mergeDuplicateLinks);
|
||||
setPreventDuplicateLinks(account.preventDuplicateLinks);
|
||||
}
|
||||
}, [account]);
|
||||
|
||||
|
@ -151,9 +151,9 @@ export default function Appearance() {
|
|||
<div className="divider my-3"></div>
|
||||
<div className="mb-3">
|
||||
<Checkbox
|
||||
label="Merge duplicate links"
|
||||
state={mergeDuplicateLinks}
|
||||
onClick={() => setMergeDuplicateLinks(!mergeDuplicateLinks)}
|
||||
label="Prevent duplicate links"
|
||||
state={preventDuplicateLinks}
|
||||
onClick={() => setPreventDuplicateLinks(!preventDuplicateLinks)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
-- AlterTable
|
||||
ALTER TABLE "User" ADD COLUMN "mergeDuplicateLinks" BOOLEAN NOT NULL DEFAULT false;
|
||||
ALTER TABLE "User" ADD COLUMN "preventDuplicateLinks" BOOLEAN NOT NULL DEFAULT false;
|
||||
|
|
|
@ -43,7 +43,7 @@ model User {
|
|||
accessTokens AccessToken[]
|
||||
subscriptions Subscription?
|
||||
linksRouteTo LinksRouteTo @default(ORIGINAL)
|
||||
mergeDuplicateLinks Boolean @default(false)
|
||||
preventDuplicateLinks Boolean @default(false)
|
||||
archiveAsScreenshot Boolean @default(true)
|
||||
archiveAsPDF Boolean @default(true)
|
||||
archiveAsWaybackMachine Boolean @default(false)
|
||||
|
|
Ŝarĝante…
Reference in New Issue