- tambah model ProjectTaskApproval dan DivisionProjectTaskApproval di schema prisma - tambah field isApprover pada model User - tambah API approval project task: GET riwayat, POST ajukan, PUT setujui/tolak - tambah API approval division task: GET riwayat, POST ajukan, PUT setujui/tolak - notifikasi dikirim ke approver, admin divisi, dan submitter via FCM, web push, dan in-app - tambah PATCH endpoint untuk toggle isApprover pada mobile user API - perbaiki pengecekan role approver menggunakan UserRole.id
49 lines
2.0 KiB
SQL
49 lines
2.0 KiB
SQL
-- AlterTable
|
|
ALTER TABLE "User" ADD COLUMN "isApprover" BOOLEAN NOT NULL DEFAULT false;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "ProjectTaskApproval" (
|
|
"id" TEXT NOT NULL,
|
|
"idTask" TEXT NOT NULL,
|
|
"idUser" TEXT NOT NULL,
|
|
"idApprover" TEXT,
|
|
"status" INTEGER NOT NULL DEFAULT 0,
|
|
"note" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "ProjectTaskApproval_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "DivisionProjectTaskApproval" (
|
|
"id" TEXT NOT NULL,
|
|
"idTask" TEXT NOT NULL,
|
|
"idUser" TEXT NOT NULL,
|
|
"idApprover" TEXT,
|
|
"status" INTEGER NOT NULL DEFAULT 0,
|
|
"note" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "DivisionProjectTaskApproval_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "ProjectTaskApproval" ADD CONSTRAINT "ProjectTaskApproval_idTask_fkey" FOREIGN KEY ("idTask") REFERENCES "ProjectTask"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "ProjectTaskApproval" ADD CONSTRAINT "ProjectTaskApproval_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "ProjectTaskApproval" ADD CONSTRAINT "ProjectTaskApproval_idApprover_fkey" FOREIGN KEY ("idApprover") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "DivisionProjectTaskApproval" ADD CONSTRAINT "DivisionProjectTaskApproval_idTask_fkey" FOREIGN KEY ("idTask") REFERENCES "DivisionProjectTask"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "DivisionProjectTaskApproval" ADD CONSTRAINT "DivisionProjectTaskApproval_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "DivisionProjectTaskApproval" ADD CONSTRAINT "DivisionProjectTaskApproval_idApprover_fkey" FOREIGN KEY ("idApprover") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|