mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 20:51:18 +00:00
added crud feature for rooms
This commit is contained in:
parent
eab6b672bc
commit
a61ba54d08
23 changed files with 1018 additions and 5 deletions
137
prisma/migrations/20251217161022_init/migration.sql
Normal file
137
prisma/migrations/20251217161022_init/migration.sql
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
-- CreateTable
|
||||
CREATE TABLE "User" (
|
||||
"id" TEXT NOT NULL,
|
||||
"name" TEXT,
|
||||
"complaints" TEXT,
|
||||
"birthday" TIMESTAMP(3),
|
||||
"plz" TEXT,
|
||||
"city" TEXT,
|
||||
"street" TEXT,
|
||||
"houseNumber" TEXT,
|
||||
"email" TEXT NOT NULL,
|
||||
"tel" TEXT,
|
||||
"gender" TEXT,
|
||||
"is2FA" BOOLEAN NOT NULL DEFAULT false,
|
||||
"isSendingMail" BOOLEAN NOT NULL DEFAULT false,
|
||||
"isNewsletter" BOOLEAN NOT NULL DEFAULT false,
|
||||
"pbSrc" TEXT,
|
||||
"isValid" BOOLEAN NOT NULL DEFAULT false,
|
||||
"createdAt" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3),
|
||||
|
||||
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Employee" (
|
||||
"id" TEXT NOT NULL,
|
||||
"firstName" TEXT NOT NULL,
|
||||
"lastName" TEXT NOT NULL,
|
||||
"email" TEXT NOT NULL,
|
||||
"is2FA" BOOLEAN NOT NULL DEFAULT false,
|
||||
"isSendingMail" BOOLEAN NOT NULL DEFAULT false,
|
||||
"pbSrc" TEXT,
|
||||
"status" TEXT,
|
||||
"affiliation" TEXT,
|
||||
"label" TEXT,
|
||||
"qualification" TEXT,
|
||||
"authorization" JSONB,
|
||||
"createdAt" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3),
|
||||
|
||||
CONSTRAINT "Employee_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "UserTraining" (
|
||||
"userId" TEXT NOT NULL,
|
||||
"employeeId" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "UserTraining_pkey" PRIMARY KEY ("userId","employeeId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Manager" (
|
||||
"id" TEXT NOT NULL,
|
||||
"firstName" TEXT NOT NULL,
|
||||
"lastName" TEXT NOT NULL,
|
||||
"tel" TEXT,
|
||||
"email" TEXT NOT NULL,
|
||||
"is2FA" BOOLEAN NOT NULL DEFAULT false,
|
||||
"isSendingMail" BOOLEAN NOT NULL DEFAULT false,
|
||||
"pbSrc" TEXT,
|
||||
"createdAt" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3),
|
||||
|
||||
CONSTRAINT "Manager_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Business" (
|
||||
"id" TEXT NOT NULL,
|
||||
"managerId" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"address" TEXT NOT NULL,
|
||||
"email" TEXT NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"ustId" TEXT,
|
||||
"banking" TEXT,
|
||||
"plan" TEXT,
|
||||
"subscription" JSONB,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "Business_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Course" (
|
||||
"id" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"sport" TEXT NOT NULL,
|
||||
"date" TIMESTAMP(3) NOT NULL,
|
||||
"time" TEXT NOT NULL,
|
||||
"trainers" TEXT[],
|
||||
"room" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"maxParticipants" INTEGER NOT NULL,
|
||||
"isStandingOrder" BOOLEAN NOT NULL DEFAULT false,
|
||||
"frequency" TEXT,
|
||||
"weekdays" TEXT[],
|
||||
"status" TEXT NOT NULL DEFAULT 'draft',
|
||||
"createdBy" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "Course_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Room" (
|
||||
"id" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"status" TEXT NOT NULL DEFAULT 'draft',
|
||||
"createdBy" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "Room_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Employee_email_key" ON "Employee"("email");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Manager_email_key" ON "Manager"("email");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "UserTraining" ADD CONSTRAINT "UserTraining_employeeId_fkey" FOREIGN KEY ("employeeId") REFERENCES "Employee"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "UserTraining" ADD CONSTRAINT "UserTraining_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Business" ADD CONSTRAINT "Business_managerId_fkey" FOREIGN KEY ("managerId") REFERENCES "Manager"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `status` on the `Room` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "Room" DROP COLUMN "status";
|
||||
3
prisma/migrations/migration_lock.toml
Normal file
3
prisma/migrations/migration_lock.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (e.g., Git)
|
||||
provider = "postgresql"
|
||||
|
|
@ -109,4 +109,12 @@ model Course {
|
|||
createdBy String // Manager ID who created the course
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model Room {
|
||||
id String @id @default(uuid())
|
||||
name String
|
||||
createdBy String // Manager ID who created the room
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue