Add code resolver, sync conflict handling, and user isolation

Introduce a CodeResolverService to classify user login codes, complete with detailed resolution logic and usability checks. Extend the sync system to handle conflicts via last-write-wins arbitration, with detailed conflict tracking for review. Update file permissions and runtime isolation in Docker to enhance security.
This commit is contained in:
2026-09-12 15:40:42 +02:00
parent 858c43a6aa
commit 5fd2d47a64
19 changed files with 950 additions and 131 deletions
@@ -0,0 +1,31 @@
-- AlterTable
ALTER TABLE "SyncLogEntry" ADD COLUMN "occurredAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;
-- CreateTable
CREATE TABLE "SyncRecordVersion" (
"id" TEXT NOT NULL,
"model" TEXT NOT NULL,
"recordId" TEXT NOT NULL,
"lastWriteAt" TIMESTAMP(3) NOT NULL,
"lastWriteOrigin" TEXT NOT NULL,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "SyncRecordVersion_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "SyncConflict" (
"id" TEXT NOT NULL,
"model" TEXT NOT NULL,
"recordId" TEXT NOT NULL,
"winningOrigin" TEXT NOT NULL,
"losingOrigin" TEXT NOT NULL,
"winningPayload" JSONB NOT NULL,
"losingPayload" JSONB NOT NULL,
"detectedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "SyncConflict_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "SyncRecordVersion_model_recordId_key" ON "SyncRecordVersion"("model", "recordId");