From 2ec4f829c26fee8e801e216dddc1409821bae1c5 Mon Sep 17 00:00:00 2001 From: Andrei Jiroh Halili Date: Fri, 19 Jul 2024 02:57:35 +0800 Subject: [PATCH] feat(golinks): add wikilinks db table and its needed migrations Coming soon: GitHub PAT-based token generation API Signed-off-by: Andrei Jiroh Halili --- .../migrations/0004_add-wikilinks-table.sql | 12 ++++ apps/golinks-v2/prisma/schema.prisma | 56 +++++++++++++------ 2 files changed, 52 insertions(+), 16 deletions(-) create mode 100644 apps/golinks-v2/migrations/0004_add-wikilinks-table.sql diff --git a/apps/golinks-v2/migrations/0004_add-wikilinks-table.sql b/apps/golinks-v2/migrations/0004_add-wikilinks-table.sql new file mode 100644 index 0000000..f223d98 --- /dev/null +++ b/apps/golinks-v2/migrations/0004_add-wikilinks-table.sql @@ -0,0 +1,12 @@ +-- CreateTable +CREATE TABLE "WikiLinks" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "slug" TEXT NOT NULL, + "targetUrl" TEXT NOT NULL, + "is_active" BOOLEAN NOT NULL DEFAULT true, + "created_on" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_on" DATETIME NOT NULL +); + +-- CreateIndex +CREATE UNIQUE INDEX "WikiLinks_slug_key" ON "WikiLinks"("slug"); diff --git a/apps/golinks-v2/prisma/schema.prisma b/apps/golinks-v2/prisma/schema.prisma index 69b307e..567df98 100644 --- a/apps/golinks-v2/prisma/schema.prisma +++ b/apps/golinks-v2/prisma/schema.prisma @@ -3,7 +3,7 @@ generator client { provider = "prisma-client-js" - previewFeatures = ["driverAdapters"] + previewFeatures = ["driverAdapters"] } datasource db { @@ -12,22 +12,46 @@ datasource db { } model GoLink { - id Int @id @default(autoincrement()) - slug String @unique - targetUrl String @default("https://wiki.andreijiroh.xyz/golinks") - is_active Boolean @default(true) - created_on DateTime @default(now()) - updated_on DateTime @updatedAt() + id Int @id @default(autoincrement()) + slug String @unique + targetUrl String @default("https://wiki.andreijiroh.xyz/golinks") + is_active Boolean @default(true) + created_on DateTime @default(now()) + updated_on DateTime @updatedAt() } model DiscordInviteLink { - id Int @id @default(autoincrement()) - slug String @unique - inviteCode String - name String - description String - nsfw Boolean @default(false) - is_active Boolean @default(true) - created_on DateTime @default(now()) - updated_on DateTime @updatedAt() + id Int @id @default(autoincrement()) + slug String @unique + inviteCode String + name String + description String + nsfw Boolean @default(false) + is_active Boolean @default(true) + created_on DateTime @default(now()) + updated_on DateTime @updatedAt() } + +model WikiLinks { + id Int @id @default(autoincrement()) + slug String @unique + targetUrl String + is_active Boolean @default(true) + created_on DateTime @default(now()) + updated_on DateTime @updatedAt() +} + +//model ApiToken { +// id String @id @default(uuid()) +// token String @unique +// user User @relation(fields: [userId], references: [id]) +// userId Int +//} + +//model User { +// id Int @id @default(autoincrement()) +// username String @unique +// githubUid String @unique // extract from github api +// site_admin Boolean @default(false) +// ApiToken ApiToken[] +//} -- 2.51.2