Vierter Anlass: seit laengerem kein Commit. Er haengt an keinem Ereignis - es passiert ja gerade nichts - und braucht deshalb einen eigenen Durchlauf im Zeitgeber, hoechstens einmal am Tag und unabhaengig vom Abgleich. Hoert niemand auf den Anlass, laeuft die Pruefung gar nicht erst. Massstab ist ausschliesslich der letzte Commit im verknuepften Repository. Das Aenderungsdatum des Projekts taugt nicht: jeder Abgleich fasst es an und wuerde den Stillstand immer wieder zuruecksetzen. Projekte ohne Repository bleiben deshalb aussen vor, ebenso fertige und archivierte. Gemeldet wird je Projekt einmal. Erneut erst, wenn danach wieder ein Commit kam und es seitdem wieder still wurde - ein Projekt, das aufwacht und wieder einschlaeft, meldet sich also ein zweites Mal. Beim Testen kam heraus, dass ich den neuen Anlass zwar ins Prisma-Schema und in die Oberflaeche eingetragen hatte, nicht aber ins Zod-Schema - die API lehnte ihn mit 422 ab. Behoben, und ein Test haelt beide Listen kuenftig zusammen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
10 lines
305 B
SQL
10 lines
305 B
SQL
-- AlterEnum
|
|
ALTER TYPE "NotificationEvent" ADD VALUE 'PROJECT_STALE';
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "AppSettings" ADD COLUMN "lastStaleCheckAt" TIMESTAMP(3),
|
|
ADD COLUMN "staleAfterDays" INTEGER NOT NULL DEFAULT 60;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "Project" ADD COLUMN "notifiedStaleAt" TIMESTAMP(3);
|