Ein Zustand je Quelle haelt fest, wie weit gelesen wurde und ob es klappt. Der Merker ist bewusst ein freier Text: Zammad braucht darin einen Zeitstempel, Telegram den Zaehler der zuletzt geholten Nachricht. Dazu die gespiegelte Belegung ohne Titel, das Adressbuch der erlaubten Telegram-Chats und der Einmalcode, mit dem sich ein Chat anmeldet. Welche Integration eine Instanz darf, entscheidet weiterhin INSTANZ. Ein Zammad-Token in der Instanz daheim bleibt wirkungslos — das steht in den Faehigkeiten, nicht in einer Einstellung, die sich verstellen liesse. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
63 lines
1.9 KiB
SQL
63 lines
1.9 KiB
SQL
-- AlterTable
|
|
ALTER TABLE "aufgabe" ADD COLUMN "spiegeln" BOOLEAN NOT NULL DEFAULT false;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "benachrichtigungseinstellung" ADD COLUMN "perTelegram" BOOLEAN NOT NULL DEFAULT false;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "integrationszustand" (
|
|
"id" TEXT NOT NULL,
|
|
"quelle" "Quelle" NOT NULL,
|
|
"merker" TEXT,
|
|
"letzterLauf" TIMESTAMP(3),
|
|
"letzterErfolg" TIMESTAMP(3),
|
|
"letzterFehler" TEXT,
|
|
"fehlversuche" INTEGER NOT NULL DEFAULT 0,
|
|
"erstelltAm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"aktualisiertAm" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "integrationszustand_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "spiegelbelegung" (
|
|
"id" TEXT NOT NULL,
|
|
"quelleRef" TEXT NOT NULL,
|
|
"beginn" TIMESTAMP(3) NOT NULL,
|
|
"ende" TIMESTAMP(3) NOT NULL,
|
|
"empfangenAm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "spiegelbelegung_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "telegram_chat" (
|
|
"id" TEXT NOT NULL,
|
|
"chatId" BIGINT NOT NULL,
|
|
"bezeichnung" TEXT,
|
|
"benutzerId" TEXT,
|
|
"meldungen" BOOLEAN NOT NULL DEFAULT true,
|
|
"erstelltAm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"zuletztBenutzt" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "telegram_chat_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "integrationszustand_quelle_key" ON "integrationszustand"("quelle");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "spiegelbelegung_quelleRef_key" ON "spiegelbelegung"("quelleRef");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "spiegelbelegung_beginn_idx" ON "spiegelbelegung"("beginn");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "telegram_chat_chatId_key" ON "telegram_chat"("chatId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "telegram_chat_benutzerId_idx" ON "telegram_chat"("benutzerId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "telegram_chat" ADD CONSTRAINT "telegram_chat_benutzerId_fkey" FOREIGN KEY ("benutzerId") REFERENCES "benutzer"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|