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())
|
createdAt DateTime @default(now())
|
||||||
slug String
|
slug String
|
||||||
name String
|
name String
|
||||||
|
type CategoryType
|
||||||
|
bookmarks CategoriesOnBookMarks[]
|
||||||
talents CategoriesOnTalents[]
|
talents CategoriesOnTalents[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,6 +56,26 @@ model CategoriesOnTalents {
|
|||||||
@@index([categoryId])
|
@@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 {
|
model Post {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
slug String @unique
|
slug String @unique
|
||||||
@@ -69,3 +91,8 @@ model Form {
|
|||||||
content String
|
content String
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum CategoryType {
|
||||||
|
TALENT
|
||||||
|
BOOKMARK
|
||||||
|
}
|
||||||
|
|||||||
@@ -103,6 +103,10 @@ export default router({
|
|||||||
}),
|
}),
|
||||||
getCategories: publicProcedure
|
getCategories: publicProcedure
|
||||||
.query(async ({ ctx }) => {
|
.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