Files
maaz519 a7aa8bf5a9 feat(schema): Account model with AccountStatus enum, optional Group.accountId
Adds Account model (platform, jid, sessionPath, displayName, status) with
AccountStatus enum (ACTIVE/DISCONNECTED/BANNED) and optional accountId FK
on Group for multi-account WhatsApp session tracking.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 17:07:39 +05:30

26 lines
809 B
SQL

-- CreateEnum
CREATE TYPE "AccountStatus" AS ENUM ('ACTIVE', 'DISCONNECTED', 'BANNED');
-- AlterTable
ALTER TABLE "Group" ADD COLUMN "accountId" TEXT;
-- CreateTable
CREATE TABLE "Account" (
"id" TEXT NOT NULL,
"platform" TEXT NOT NULL,
"jid" TEXT NOT NULL,
"sessionPath" TEXT NOT NULL,
"displayName" TEXT,
"status" "AccountStatus" NOT NULL DEFAULT 'ACTIVE',
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "Account_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "Account_platform_jid_key" ON "Account"("platform", "jid");
-- AddForeignKey
ALTER TABLE "Group" ADD CONSTRAINT "Group_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account"("id") ON DELETE SET NULL ON UPDATE CASCADE;