12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import axios from './instance'
- import { params } from '@/env'
- import {
- GUIDE_LIST,
- INSERT_GUIDE,
- UPDATE_GUIDE,
- DELETE_GUIDE,
- } from './constant'
- interface ServiceGuide {
- fusionGuideId: number
- cover: string
- title: string
- recoveryContent?: string
- }
- export interface Guide {
- id: string
- cover: string
- title: string
- recoveryContent?: string
- }
- export type Guides = Guide[]
- const serviceToLocal = (serviceGuide: ServiceGuide): Guide => ({
- ...serviceGuide,
- id: serviceGuide.fusionGuideId.toString(),
- })
- const localToService = (guide: Guide): ServiceGuide => ({
- ...guide,
- fusionGuideId: Number(guide.id),
- })
- export const fetchGuides = async () => {
- const guides = await axios.get<ServiceGuide[]>(GUIDE_LIST, { params: { caseId: params.caseId } })
- return guides.map(serviceToLocal)
- }
- export const postAddGuide = async (guide: Guide) => {
- const addData = { ...localToService(guide), caseId: params.caseId, fusionGuideId: undefined }
- const serviceData = await axios.post<ServiceGuide>(INSERT_GUIDE, addData)
- return serviceToLocal(serviceData)
- }
- export const postUpdateGuide = async (guide: Guide) => {
- return axios.post<undefined>(UPDATE_GUIDE, { ...localToService(guide)})
- }
- export const postDeleteGuide = (id: Guide['id']) => {
- return axios.post<undefined>(DELETE_GUIDE, { fusionGuideId: Number(id) })
- }
-
|