- Added EntryVersion model with author relation - Implemented automatic versioning on entry create/update - Added API endpoints for version history: - GET /api/knowledge/entries/:slug/versions - list versions - GET /api/knowledge/entries/:slug/versions/:version - get specific - POST /api/knowledge/entries/:slug/restore/:version - restore version - Created VersionHistory.tsx component with timeline view - Added History tab to entry detail page - Supports version viewing and restoring - Includes comprehensive tests for version operations - All TypeScript types are explicit and type-safe
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Knowledge Entry Version entity
|
||||
* Represents a historical version of a knowledge entry
|
||||
*/
|
||||
export interface KnowledgeEntryVersionEntity {
|
||||
id: string;
|
||||
entryId: string;
|
||||
version: number;
|
||||
title: string;
|
||||
content: string;
|
||||
summary: string | null;
|
||||
createdAt: Date;
|
||||
createdBy: string;
|
||||
changeNote: string | null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Version list item with author information
|
||||
*/
|
||||
export interface KnowledgeEntryVersionWithAuthor extends KnowledgeEntryVersionEntity {
|
||||
author: {
|
||||
id: string;
|
||||
name: string;
|
||||
email: string;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Paginated version list response
|
||||
*/
|
||||
export interface PaginatedVersions {
|
||||
data: KnowledgeEntryVersionWithAuthor[];
|
||||
pagination: {
|
||||
page: number;
|
||||
limit: number;
|
||||
total: number;
|
||||
totalPages: number;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user