62 lines
2.0 KiB
TypeScript
62 lines
2.0 KiB
TypeScript
import { get, post, patch, del } from '../api/http';
|
|
|
|
export interface Disease {
|
|
id: string;
|
|
name: string;
|
|
category: string;
|
|
pathogen?: string;
|
|
transmission?: string;
|
|
medium?: string;
|
|
incubation?: string;
|
|
symptoms?: string;
|
|
highRiskStage?: string;
|
|
highRiskCondition?: string;
|
|
lethalTime?: string;
|
|
spreadTrend?: string;
|
|
recurrence?: string;
|
|
detection?: string;
|
|
prevention?: string;
|
|
imageUrl?: string;
|
|
status?: string;
|
|
source?: string;
|
|
sourceDate?: string;
|
|
expertConfirmedBy?: string;
|
|
sortOrder?: number;
|
|
enabled?: boolean;
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
}
|
|
|
|
export interface KnowledgeArticle {
|
|
id: string;
|
|
kind: string;
|
|
title: string;
|
|
summary?: string;
|
|
content?: string;
|
|
status?: string;
|
|
source?: string;
|
|
sourceDate?: string;
|
|
expertConfirmedBy?: string;
|
|
sortOrder?: number;
|
|
enabled?: boolean;
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
}
|
|
|
|
export const listDiseases = (params?: any) => get<Disease[]>('/knowledge/diseases', { params });
|
|
export const getDisease = (id: string) => get<Disease>(`/knowledge/diseases/${id}`);
|
|
export const createDisease = (data: Partial<Disease>) => post<Disease>('/knowledge/diseases', data);
|
|
export const updateDisease = (id: string, data: Partial<Disease>) => patch<Disease>(`/knowledge/diseases/${id}`, data);
|
|
export const deleteDisease = (id: string) => del(`/knowledge/diseases/${id}`);
|
|
|
|
export const listArticles = (params?: any) => get<KnowledgeArticle[]>('/knowledge/articles', { params });
|
|
export const createArticle = (data: Partial<KnowledgeArticle>) => post<KnowledgeArticle>('/knowledge/articles', data);
|
|
export const updateArticle = (id: string, data: Partial<KnowledgeArticle>) => patch<KnowledgeArticle>(`/knowledge/articles/${id}`, data);
|
|
export const deleteArticle = (id: string) => del(`/knowledge/articles/${id}`);
|
|
|
|
export const uploadKnowledgeImage = (file: File) => {
|
|
const fd = new FormData();
|
|
fd.append('file', file);
|
|
return post<{ url: string; name: string; size: number }>('/knowledge/images', fd);
|
|
};
|