sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
/**
|
||||
* Shared mock application rows for council list + admin review when API is unavailable.
|
||||
*/
|
||||
|
||||
export type ApplicationStatus =
|
||||
| "pending"
|
||||
| "approved"
|
||||
| "rejected"
|
||||
| "transferred"
|
||||
| "under_review"
|
||||
| "reviewed";
|
||||
|
||||
export type ReviewStatus = "not_reviewed" | "under_review" | "reviewed";
|
||||
|
||||
export interface Person {
|
||||
id: string;
|
||||
name: string;
|
||||
email?: string;
|
||||
phone?: string;
|
||||
}
|
||||
|
||||
export interface ApplicationFile {
|
||||
/** Local/API path or relative URL */
|
||||
url?: string;
|
||||
/** Signed GET (e.g. MinIO full PDF) — prefer when present */
|
||||
viewUrl?: string;
|
||||
/** Object key when stored in object storage (opaque; for diagnostics) */
|
||||
storageKey?: string;
|
||||
type?: "pdf" | "docx" | "image" | string;
|
||||
}
|
||||
|
||||
export interface ApplicationItem {
|
||||
id: string;
|
||||
/** Same as `draft_case_id` from API — Initiative.case_code for loading `/api/v1/application-drafts/…` */
|
||||
draftCaseId?: string;
|
||||
/** Set by API; mapped to `draftCaseId` in `normalizeApplicationItem` (submission `id` is often `sub-…` instead) */
|
||||
draft_case_id?: string;
|
||||
submittedDate: string;
|
||||
name: string;
|
||||
author: Person;
|
||||
/** Calendar year of submission (set by API `/api/applications/mine`) */
|
||||
calendarYear?: number;
|
||||
/** Value key for `DEPARTMENT_OPTIONS` / filter `subjectId` (Đơn vị) */
|
||||
subjectId?: string;
|
||||
/** Value key for `GROUP_OPTIONS` / filter `topicTypeId` (Nhóm sáng kiến) */
|
||||
groupId?: string;
|
||||
conference?: { id: string; name: string; subCategory?: string };
|
||||
supervisor?: Person | null;
|
||||
reviewer?: Person | null;
|
||||
reviewDeadline?: string | null;
|
||||
/** Legacy display fallback if `groupId` missing */
|
||||
topicType?: string;
|
||||
/** From draft tab `application` — drives approved-row merit label (2.1.1 / 2.1.2 → Xuất sắc). */
|
||||
initiativeClassification?: "technical" | "research" | "textbook" | null;
|
||||
/** From draft tab `application` — nhóm 2.2 (sách / tài liệu tham khảo). */
|
||||
textbookEvidenceKind?: "" | "book" | "reference";
|
||||
status: ApplicationStatus;
|
||||
reviewStatus?: ReviewStatus;
|
||||
/** Cột «Đủ và Đúng» (danh sách quản trị); API có thể gửi `du_va_dung` */
|
||||
duVaDung?: string | null;
|
||||
/** Cột «Nhận xét» (thẩm định minh chứng); API có thể gửi `nhan_xet` */
|
||||
nhanXet?: string | null;
|
||||
files?: {
|
||||
abstract?: ApplicationFile | null;
|
||||
poster?: ApplicationFile | null;
|
||||
fullText?: ApplicationFile | null;
|
||||
};
|
||||
}
|
||||
|
||||
export const MOCK_APPLICATIONS: ApplicationItem[] = [
|
||||
{
|
||||
id: "app-001",
|
||||
submittedDate: "2026-03-23T22:23:00Z",
|
||||
name: "KHẢO SÁT TÁC DỤNG KHÁNG VIÊM TỪ DƯỢC LIỆU",
|
||||
author: { id: "user-042", name: "Lê Thị Kim Ngân", email: "kimngaan1294@gmail.com", phone: "0778093364" },
|
||||
subjectId: "khoa_y_te_cong_cong",
|
||||
groupId: "innovation_from_research",
|
||||
conference: { id: "conf-006", name: "SÁNG THỨ 6", subCategory: "Bệnh không lây nhiễm" },
|
||||
supervisor: { id: "user-055", name: "Ngô Văn Hùng" },
|
||||
reviewer: { id: "user-101", name: "Phạm Thị Quỳnh" },
|
||||
reviewDeadline: "2026-03-31",
|
||||
topicType: "Tóm tắt báo cáo khoa học",
|
||||
status: "pending",
|
||||
reviewStatus: "not_reviewed",
|
||||
files: {
|
||||
abstract: { url: "/files/app-001/abstract.pdf", type: "pdf" },
|
||||
poster: { url: "/files/app-001/poster.docx", type: "docx" },
|
||||
fullText: null,
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "app-002",
|
||||
submittedDate: "2026-03-20T09:10:00Z",
|
||||
name: "ỨNG DỤNG AI TRONG DỰ BÁO DỊCH TỄ",
|
||||
author: { id: "user-077", name: "Nguyễn Văn Minh", email: "minh@example.com", phone: "0909555000" },
|
||||
subjectId: "phong_khoa_hoc_cong_nghe",
|
||||
groupId: "internal_technical_management",
|
||||
conference: { id: "conf-004", name: "CHIỀU THỨ 5", subCategory: "Dịch tễ học" },
|
||||
supervisor: null,
|
||||
reviewer: { id: "user-102", name: "Trần Thanh Huyền" },
|
||||
reviewDeadline: "2026-03-22",
|
||||
topicType: "Nghiên cứu khoa học",
|
||||
status: "approved",
|
||||
reviewStatus: "reviewed",
|
||||
files: {
|
||||
abstract: { url: "/files/app-002/abstract.pdf", type: "pdf" },
|
||||
poster: null,
|
||||
fullText: { url: "/files/app-002/full-text", type: "link" },
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export function getMockApplicationById(id: string): ApplicationItem | undefined {
|
||||
return MOCK_APPLICATIONS.find((a) => a.id === id);
|
||||
}
|
||||
Reference in New Issue
Block a user