Add personal/team note visibility and edit history.
Notes can be marked personal or team, with revision snapshots and restore from the notes UI.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Note" ADD COLUMN "visibility" TEXT NOT NULL DEFAULT 'team';
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Note_organizationId_visibility_idx" ON "Note"("organizationId", "visibility");
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "NoteRevision" (
|
||||
"id" TEXT NOT NULL,
|
||||
"organizationId" TEXT NOT NULL,
|
||||
"noteId" TEXT NOT NULL,
|
||||
"editorId" TEXT,
|
||||
"title" TEXT,
|
||||
"body" TEXT NOT NULL,
|
||||
"noteType" TEXT NOT NULL,
|
||||
"visibility" TEXT NOT NULL DEFAULT 'team',
|
||||
"tags" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
||||
"checklist" JSONB,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "NoteRevision_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "NoteRevision_noteId_createdAt_idx" ON "NoteRevision"("noteId", "createdAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "NoteRevision_organizationId_idx" ON "NoteRevision"("organizationId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "NoteRevision_editorId_idx" ON "NoteRevision"("editorId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "NoteRevision" ADD CONSTRAINT "NoteRevision_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "NoteRevision" ADD CONSTRAINT "NoteRevision_noteId_fkey" FOREIGN KEY ("noteId") REFERENCES "Note"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "NoteRevision" ADD CONSTRAINT "NoteRevision_editorId_fkey" FOREIGN KEY ("editorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
Reference in New Issue
Block a user