backend project

This commit is contained in:
Sone
2025-11-02 10:05:02 +01:00
parent e4199f65d8
commit deb622b796
62 changed files with 12475 additions and 0 deletions
@@ -0,0 +1,110 @@
-- CreateEnum
CREATE TYPE "Athena"."TodoStatus" AS ENUM ('NEW', 'IN_PROGRESS', 'COMPLETED', 'ARCHIVED');
-- CreateEnum
CREATE TYPE "Athena"."Role" AS ENUM ('MANAGER', 'ADMIN', 'USER');
-- CreateEnum
CREATE TYPE "Athena"."RiskStatus" AS ENUM ('LOW_RISK', 'MEDIUM_RISK', 'HIGH_RISK', 'NO_RISK');
-- CreateEnum
CREATE TYPE "Athena"."PriorityStatus" AS ENUM ('LOW_PRIORITY', 'MEDIUM_PRIORITY', 'HIGH_PRIORITY');
-- CreateTable
CREATE TABLE "Athena"."User" (
"id" TEXT NOT NULL,
"firstName" TEXT NOT NULL,
"lastName" TEXT NOT NULL,
"email" TEXT NOT NULL,
"password" TEXT NOT NULL,
"riskStatus" "Athena"."RiskStatus" NOT NULL,
"imageUrl" TEXT,
"title" TEXT NOT NULL,
"isLocked" BOOLEAN NOT NULL DEFAULT false,
"isActivated" BOOLEAN NOT NULL DEFAULT false,
"role" "Athena"."Role" NOT NULL,
"managerId" TEXT,
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "Athena"."Todo" (
"id" TEXT NOT NULL,
"title" TEXT NOT NULL,
"task" TEXT NOT NULL,
"status" "Athena"."TodoStatus" NOT NULL,
"priority" "Athena"."PriorityStatus" NOT NULL,
"dueDate" TIMESTAMP(3) NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"createdById" TEXT NOT NULL,
CONSTRAINT "Todo_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "Athena"."Comment" (
"id" TEXT NOT NULL,
"content" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"todoId" TEXT NOT NULL,
"userId" TEXT NOT NULL,
CONSTRAINT "Comment_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "Athena"."PasswordResetToken" (
"id" TEXT NOT NULL,
"userId" TEXT NOT NULL,
"tokenHash" TEXT NOT NULL,
"expiresAt" TIMESTAMP(3) NOT NULL,
"usedAt" TIMESTAMP(3),
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "PasswordResetToken_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "Athena"."_AssignedTodos" (
"A" TEXT NOT NULL,
"B" TEXT NOT NULL,
CONSTRAINT "_AssignedTodos_AB_pkey" PRIMARY KEY ("A","B")
);
-- CreateIndex
CREATE UNIQUE INDEX "User_email_key" ON "Athena"."User"("email");
-- CreateIndex
CREATE UNIQUE INDEX "PasswordResetToken_tokenHash_key" ON "Athena"."PasswordResetToken"("tokenHash");
-- CreateIndex
CREATE INDEX "PasswordResetToken_userId_idx" ON "Athena"."PasswordResetToken"("userId");
-- CreateIndex
CREATE INDEX "PasswordResetToken_expiresAt_idx" ON "Athena"."PasswordResetToken"("expiresAt");
-- CreateIndex
CREATE INDEX "_AssignedTodos_B_index" ON "Athena"."_AssignedTodos"("B");
-- AddForeignKey
ALTER TABLE "Athena"."User" ADD CONSTRAINT "User_managerId_fkey" FOREIGN KEY ("managerId") REFERENCES "Athena"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Athena"."Todo" ADD CONSTRAINT "Todo_createdById_fkey" FOREIGN KEY ("createdById") REFERENCES "Athena"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Athena"."Comment" ADD CONSTRAINT "Comment_todoId_fkey" FOREIGN KEY ("todoId") REFERENCES "Athena"."Todo"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Athena"."Comment" ADD CONSTRAINT "Comment_userId_fkey" FOREIGN KEY ("userId") REFERENCES "Athena"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Athena"."PasswordResetToken" ADD CONSTRAINT "PasswordResetToken_userId_fkey" FOREIGN KEY ("userId") REFERENCES "Athena"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Athena"."_AssignedTodos" ADD CONSTRAINT "_AssignedTodos_A_fkey" FOREIGN KEY ("A") REFERENCES "Athena"."Todo"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Athena"."_AssignedTodos" ADD CONSTRAINT "_AssignedTodos_B_fkey" FOREIGN KEY ("B") REFERENCES "Athena"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
@@ -0,0 +1,4 @@
-- AlterTable
ALTER TABLE "Athena"."User" ADD COLUMN "department" TEXT,
ADD COLUMN "middleName" TEXT,
ADD COLUMN "phoneNumber" TEXT;
@@ -0,0 +1,14 @@
/*
Warnings:
- The values [MEDIUM_RISK] on the enum `RiskStatus` will be removed. If these variants are still used in the database, this will fail.
*/
-- AlterEnum
BEGIN;
CREATE TYPE "Athena"."RiskStatus_new" AS ENUM ('LOW_RISK', 'MODERATE_RISK', 'HIGH_RISK', 'NO_RISK');
ALTER TABLE "Athena"."User" ALTER COLUMN "riskStatus" TYPE "Athena"."RiskStatus_new" USING ("riskStatus"::text::"Athena"."RiskStatus_new");
ALTER TYPE "Athena"."RiskStatus" RENAME TO "RiskStatus_old";
ALTER TYPE "Athena"."RiskStatus_new" RENAME TO "RiskStatus";
DROP TYPE "Athena"."RiskStatus_old";
COMMIT;
@@ -0,0 +1,14 @@
/*
Warnings:
- The values [MEDIUM_PRIORITY] on the enum `PriorityStatus` will be removed. If these variants are still used in the database, this will fail.
*/
-- AlterEnum
BEGIN;
CREATE TYPE "Athena"."PriorityStatus_new" AS ENUM ('LOW_PRIORITY', 'MODERATE_PRIORITY', 'HIGH_PRIORITY');
ALTER TABLE "Athena"."Todo" ALTER COLUMN "priority" TYPE "Athena"."PriorityStatus_new" USING ("priority"::text::"Athena"."PriorityStatus_new");
ALTER TYPE "Athena"."PriorityStatus" RENAME TO "PriorityStatus_old";
ALTER TYPE "Athena"."PriorityStatus_new" RENAME TO "PriorityStatus";
DROP TYPE "Athena"."PriorityStatus_old";
COMMIT;
@@ -0,0 +1,5 @@
-- CreateEnum
CREATE TYPE "Athena"."SecurityType" AS ENUM ('BASIC', 'ASSISTANCE', 'MAXIMUM');
-- AlterTable
ALTER TABLE "Athena"."User" ADD COLUMN "securityType" "Athena"."SecurityType" NOT NULL DEFAULT 'BASIC';
+3
View 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"