mirror of
https://github.com/ArthurDanjou/website.git
synced 2026-01-14 12:14:42 +01:00
improve bookmarks
This commit is contained in:
@@ -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;
|
||||
@@ -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;
|
||||
@@ -29,6 +29,8 @@ model Category {
|
||||
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
|
||||
}
|
||||
|
||||
@@ -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',
|
||||
},
|
||||
})
|
||||
}),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user