9ed7d8acec
- 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
24 lines
814 B
TypeScript
24 lines
814 B
TypeScript
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)
|
|
}
|
|
}
|