feat(review): 支持多候选稿验收轮次

- 支持每轮提交 1–5 个候选稿并按指定稿验收
- 保留历史轮次只读并兼容单候选稿版本接口
- 同步 SQLite/PostgreSQL schema、迁移验证、测试与项目文档
This commit is contained in:
yuzhe
2026-07-21 20:25:52 +08:00
parent 721e971dd8
commit 6091d61612
26 changed files with 586 additions and 97 deletions

View File

@@ -1,4 +1,6 @@
export type ReviewStatus = 'draft' | 'pending' | 'changes_requested' | 'approved';
export type CandidateStatus = 'draft' | 'pending' | 'changes_requested' | 'selected' | 'not_selected';
export type ReviewRoundStatus = 'draft' | 'reviewing' | 'completed';
export type CollectionStatus = 'draft' | 'reviewing' | 'completed' | 'archived';
export type UserRole = 'platform_admin' | 'group_admin' | 'operator';
@@ -132,6 +134,8 @@ export interface Note {
tags: string[];
review_status: ReviewStatus;
version_number: number;
active_round_id: number | null;
approved_version_number: number | null;
cover_image: string;
image_count: number;
annotation_count: number;
@@ -198,6 +202,12 @@ export interface NoteDetail extends Note {
export interface WorkVersion {
version_number: number;
review_round_id: number;
round_number: number;
candidate_name: string;
candidate_status: CandidateStatus;
round_status: ReviewRoundStatus;
selected_version_number: number | null;
title: string;
description: string;
tags: string[];
@@ -205,6 +215,16 @@ export interface WorkVersion {
created_at: string;
}
export interface ReviewRound {
id: number;
note_id: number;
round_number: number;
status: ReviewRoundStatus;
selected_version_number: number | null;
completed_at: string | null;
created_at: string;
}
export interface ReviewEvent {
id: number;
version_number: number;