feat: MVP-4 Sprint 3 - Version history

- Add NoteVersion model for storing note snapshots
- Add versions API (list, create, get, restore)
- Add version history UI dialog in note detail page
- Create version snapshot before each note update
This commit is contained in:
2026-03-22 17:42:47 -03:00
parent e57927e37d
commit 9ed7d8acec
7 changed files with 315 additions and 0 deletions
@@ -0,0 +1,23 @@
import { NextRequest } from 'next/server'
import { getVersion, restoreVersion } from '@/lib/versions'
import { createErrorResponse, createSuccessResponse } from '@/lib/errors'
export async function GET(req: NextRequest, { params }: { params: Promise<{ id: string; versionId: string }> }) {
try {
const { versionId } = await params
const version = await getVersion(versionId)
return createSuccessResponse(version)
} catch (error) {
return createErrorResponse(error)
}
}
export async function PUT(req: NextRequest, { params }: { params: Promise<{ id: string; versionId: string }> }) {
try {
const { id, versionId } = await params
const note = await restoreVersion(id, versionId)
return createSuccessResponse(note)
} catch (error) {
return createErrorResponse(error)
}
}