updated migration file

This commit is contained in:
Daniel 2023-08-04 19:26:57 -04:00
parent 2177f12b9b
commit a56b8e24da
2 changed files with 68 additions and 44 deletions

View File

@ -1,5 +1,5 @@
import {prisma} from "@/lib/api/db"; import { prisma } from "@/lib/api/db";
import {LinkRequestQuery, Sort} from "@/types/global"; import { LinkRequestQuery, Sort } from "@/types/global";
export default async function getLink(userId: number, body: string) { export default async function getLink(userId: number, body: string) {
const query: LinkRequestQuery = JSON.parse(decodeURIComponent(body)); const query: LinkRequestQuery = JSON.parse(decodeURIComponent(body));
@ -59,7 +59,7 @@ export default async function getLink(userId: number, body: string) {
}, },
[query.searchQuery ? "OR" : "AND"]: [ [query.searchQuery ? "OR" : "AND"]: [
{ {
pinnedBy: query.pinnedOnly ? {some: {id: userId}} : undefined, pinnedBy: query.pinnedOnly ? { some: { id: userId } } : undefined,
}, },
{ {
name: { name: {
@ -67,7 +67,7 @@ export default async function getLink(userId: number, body: string) {
query.searchQuery && query.searchFilter?.name query.searchQuery && query.searchFilter?.name
? query.searchQuery ? query.searchQuery
: undefined, : undefined,
mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined,
}, },
}, },
{ {
@ -76,7 +76,7 @@ export default async function getLink(userId: number, body: string) {
query.searchQuery && query.searchFilter?.url query.searchQuery && query.searchFilter?.url
? query.searchQuery ? query.searchQuery
: undefined, : undefined,
mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined,
}, },
}, },
{ {
@ -85,7 +85,7 @@ export default async function getLink(userId: number, body: string) {
query.searchQuery && query.searchFilter?.description query.searchQuery && query.searchFilter?.description
? query.searchQuery ? query.searchQuery
: undefined, : undefined,
mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined,
}, },
}, },
{ {
@ -101,11 +101,13 @@ export default async function getLink(userId: number, body: string) {
query.searchQuery && query.searchFilter?.tags query.searchQuery && query.searchFilter?.tags
? { ? {
contains: query.searchQuery, contains: query.searchQuery,
mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined mode: POSTGRES_IS_ENABLED
? "insensitive"
: undefined,
} }
: undefined, : undefined,
OR: [ OR: [
{ownerId: userId}, // Tags owned by the user { ownerId: userId }, // Tags owned by the user
{ {
links: { links: {
some: { some: {
@ -115,7 +117,9 @@ export default async function getLink(userId: number, body: string) {
query.searchFilter?.tags query.searchFilter?.tags
? query.searchQuery ? query.searchQuery
: undefined, : undefined,
mode: POSTGRES_IS_ENABLED ? "insensitive" : undefined mode: POSTGRES_IS_ENABLED
? "insensitive"
: undefined,
}, },
collection: { collection: {
members: { members: {
@ -138,8 +142,8 @@ export default async function getLink(userId: number, body: string) {
tags: true, tags: true,
collection: true, collection: true,
pinnedBy: { pinnedBy: {
where: {id: userId}, where: { id: userId },
select: {id: true}, select: { id: true },
}, },
}, },
orderBy: order || { orderBy: order || {
@ -147,5 +151,5 @@ export default async function getLink(userId: number, body: string) {
}, },
}); });
return {response: links, status: 200}; return { response: links, status: 200 };
} }

View File

@ -0,0 +1,20 @@
/*
Warnings:
- You are about to drop the column `whitelistedUsers` on the `User` table. All the data in the column will be lost.
*/
-- AlterTable
ALTER TABLE "User" DROP COLUMN "whitelistedUsers";
-- CreateTable
CREATE TABLE "WhitelistedUser" (
"id" SERIAL NOT NULL,
"username" TEXT NOT NULL DEFAULT '',
"userId" INTEGER,
CONSTRAINT "WhitelistedUser_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "WhitelistedUser" ADD CONSTRAINT "WhitelistedUser_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;