improve bookmarks

This commit is contained in:
2023-09-04 21:09:53 +02:00
parent ff57b1353b
commit b839c17cca
4 changed files with 102 additions and 3 deletions

View File

@@ -0,0 +1,23 @@
-- CreateEnum
CREATE TYPE "CategoryType" AS ENUM ('TALENT', 'BOOKMARK');
-- AlterTable
ALTER TABLE "Category" ADD COLUMN "type" "CategoryType" NOT NULL DEFAULT 'TALENT';
-- CreateTable
CREATE TABLE "Bookmark" (
"id" SERIAL NOT NULL,
"createdAd" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"name" TEXT NOT NULL,
"description" TEXT NOT NULL,
"link" TEXT NOT NULL,
"categoryId" INTEGER NOT NULL,
CONSTRAINT "Bookmark_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "Bookmark_categoryId_key" ON "Bookmark"("categoryId");
-- AddForeignKey
ALTER TABLE "Bookmark" ADD CONSTRAINT "Bookmark_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "Category"("id") ON DELETE RESTRICT ON UPDATE CASCADE;

View File

@@ -0,0 +1,45 @@
/*
Warnings:
- You are about to drop the `Bookmark` table. If the table is not empty, all the data it contains will be lost.
*/
-- DropForeignKey
ALTER TABLE "Bookmark" DROP CONSTRAINT "Bookmark_categoryId_fkey";
-- AlterTable
ALTER TABLE "Category" ALTER COLUMN "type" DROP DEFAULT;
-- DropTable
DROP TABLE "Bookmark";
-- CreateTable
CREATE TABLE "BookMark" (
"id" SERIAL NOT NULL,
"createdAd" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"name" TEXT NOT NULL,
"description" TEXT NOT NULL,
"link" TEXT NOT NULL,
CONSTRAINT "BookMark_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "CategoriesOnBookMarks" (
"bookmarkId" INTEGER NOT NULL,
"categoryId" INTEGER NOT NULL,
CONSTRAINT "CategoriesOnBookMarks_pkey" PRIMARY KEY ("bookmarkId","categoryId")
);
-- CreateIndex
CREATE INDEX "CategoriesOnBookMarks_bookmarkId_idx" ON "CategoriesOnBookMarks"("bookmarkId");
-- CreateIndex
CREATE INDEX "CategoriesOnBookMarks_categoryId_idx" ON "CategoriesOnBookMarks"("categoryId");
-- AddForeignKey
ALTER TABLE "CategoriesOnBookMarks" ADD CONSTRAINT "CategoriesOnBookMarks_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "Category"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "CategoriesOnBookMarks" ADD CONSTRAINT "CategoriesOnBookMarks_bookmarkId_fkey" FOREIGN KEY ("bookmarkId") REFERENCES "BookMark"("id") ON DELETE RESTRICT ON UPDATE CASCADE;

View File

@@ -25,10 +25,12 @@ model Announcement {
}
model Category {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
slug String
name String
type CategoryType
bookmarks CategoriesOnBookMarks[]
talents CategoriesOnTalents[]
}
@@ -54,6 +56,26 @@ model CategoriesOnTalents {
@@index([categoryId])
}
model BookMark {
id Int @id @default(autoincrement())
createdAd DateTime @default(now())
name String
description String
link String
CategoriesOnBookMarks CategoriesOnBookMarks[]
}
model CategoriesOnBookMarks {
bookmarkId Int
categoryId Int
bookmark BookMark @relation(fields: [bookmarkId], references: [id])
category Category @relation(fields: [categoryId], references: [id])
@@id([bookmarkId, categoryId])
@@index([bookmarkId])
@@index([categoryId])
}
model Post {
id Int @id @default(autoincrement())
slug String @unique
@@ -69,3 +91,8 @@ model Form {
content String
createdAt DateTime @default(now())
}
enum CategoryType {
TALENT
BOOKMARK
}

View File

@@ -103,6 +103,10 @@ export default router({
}),
getCategories: publicProcedure
.query(async ({ ctx }) => {
return await ctx.prisma.category.findMany()
return await ctx.prisma.category.findMany({
where: {
type: 'TALENT',
},
})
}),
})