import axios from './instance' import { EXAMPLE_FILE_TYPE_LIST, EXAMPLE_FILE_LIST, INSERT_EXAMPLE_FILE, DELETE_EXAMPLE_FILE, UPLOAD_HEADS } from 'constant' import type { Example } from './example' import type { BoardType } from './board' import { jsonToForm } from 'utils' export interface ExampleFileType { filesTypeId: number, filesTypeName: string, tbStatus: number, createTime: string, updateTime: string, } export type ExampleFileTypes = ExampleFileType[] export interface ExampleFile { filesId: number, caseId: string, filesTypeId: number, filesTitle: string, filesUrl: string, tbStatus: number, createTime: string, updateTime: string, imgType?: BoardType } export type ExampleFiles = ExampleFile[] export const getExampleFileTypes = () => axios.get(EXAMPLE_FILE_TYPE_LIST) export type GetExampleFilesProps = { caseId: Example['caseId'], filesTypeId?: ExampleFileType['filesTypeId'] } export const getExampleFiles = (props: GetExampleFilesProps) => axios.get(EXAMPLE_FILE_LIST, { params: props }) export type AddExampleFilesProps = Pick & { file: File } export const addExampleFile = (props: AddExampleFilesProps) => axios({ url: INSERT_EXAMPLE_FILE, method: 'POST', headers: UPLOAD_HEADS, data: jsonToForm(props), }) export type DeleteExampleFileProps = Pick export const deleteExampleFile = (props: DeleteExampleFileProps) => axios.post(DELETE_EXAMPLE_FILE, props)