| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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<ExampleFileTypes>(EXAMPLE_FILE_TYPE_LIST)
- export type GetExampleFilesProps = { caseId: Example['caseId'], filesTypeId?: ExampleFileType['filesTypeId'] }
- export const getExampleFiles = (props: GetExampleFilesProps) =>
- axios.get<ExampleFiles>(EXAMPLE_FILE_LIST, { params: props })
- export type AddExampleFilesProps = Pick<ExampleFile, 'caseId' | 'filesTitle' | 'filesTypeId'> & { file: File }
- export const addExampleFile = (props: AddExampleFilesProps) =>
- axios<ExampleFiles>({
- url: INSERT_EXAMPLE_FILE,
- method: 'POST',
- headers: UPLOAD_HEADS,
- data: jsonToForm(props),
- })
- export type DeleteExampleFileProps = Pick<ExampleFile, 'caseId' | 'filesId'>
- export const deleteExampleFile = (props: DeleteExampleFileProps) =>
- axios.post<ExampleFiles>(DELETE_EXAMPLE_FILE, props)
|