|
|
|
@ -2,7 +2,9 @@ import axios from '../../../../utils/axiosInterceptor';
|
|
|
|
|
import qs from 'qs'; |
|
|
|
|
|
|
|
|
|
import { createAsyncThunk } from '@reduxjs/toolkit'; |
|
|
|
|
import { DroneData } from './droneState'; |
|
|
|
|
|
|
|
|
|
// 드론 목록 조회
|
|
|
|
|
export const getDroneList = createAsyncThunk( |
|
|
|
|
'basis/getDroneList', |
|
|
|
|
async (data: any) => { |
|
|
|
@ -11,20 +13,132 @@ export const getDroneList = createAsyncThunk(
|
|
|
|
|
addQueryPrefix: true, |
|
|
|
|
arrayFormat: 'repeat' |
|
|
|
|
}); |
|
|
|
|
const response = await axios.get(`api/bas/dron/list${queryString}`); |
|
|
|
|
return response.data; |
|
|
|
|
const res = await axios.get(`api/bas/dron/list${queryString}`); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 드론 상세 조회
|
|
|
|
|
export const getDroneDetail = createAsyncThunk( |
|
|
|
|
'basis/getDroneDetail', |
|
|
|
|
async (id: number) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.get(`api/bas/dron/detail/${id}`); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 드론 생성
|
|
|
|
|
export const createDrone = createAsyncThunk( |
|
|
|
|
'basis/createDrone', |
|
|
|
|
async (data: DroneData) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.post('api/bas/dron/create', data); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 드론 수정
|
|
|
|
|
export const updateDrone = createAsyncThunk( |
|
|
|
|
'basis/updateDrone', |
|
|
|
|
async (data: DroneData) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.put('api/bas/dron/update', data); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 드론 삭제
|
|
|
|
|
export const deleteDrone = createAsyncThunk( |
|
|
|
|
'basis/deleteDrone', |
|
|
|
|
async (id: number) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.delete(`api/bas/dron/delete/${id}`); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 식별장치 목록 조회
|
|
|
|
|
export const getIdntfList = createAsyncThunk( |
|
|
|
|
'basis/getIdntfList', |
|
|
|
|
async (id: number) => { |
|
|
|
|
try { |
|
|
|
|
const response = await axios.get(`api/bas/dron/idntf/list/${id}`); |
|
|
|
|
return response.data; |
|
|
|
|
const res = await axios.get(`api/bas/dron/idntf/list/${id}`); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 식별장치 수정
|
|
|
|
|
export const updateIdntf = createAsyncThunk( |
|
|
|
|
'basis/updateIdntf', |
|
|
|
|
async (item: { id: number; data: any[] }) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.put(`/api/bas/dron/idntf/update/${item.id}`, { |
|
|
|
|
idntfNum: item.data[0].idntfNum, |
|
|
|
|
ownerNm: item.data[0].ownerNm, |
|
|
|
|
hpno: item.data[0].hpno |
|
|
|
|
}); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 식별장치 삭제
|
|
|
|
|
export const deleteIdntf = createAsyncThunk( |
|
|
|
|
'basis/deleteIdntf', |
|
|
|
|
async (id: string) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.delete(`api/bas/dron/idntf/delete/${id}`); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 식별장치 생성
|
|
|
|
|
export const createIdntf = createAsyncThunk( |
|
|
|
|
'basis/createIdntf', |
|
|
|
|
async (item: { data: any[]; arcrftSno: number }) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.post('api/bas/dron/idntf/create', item); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// 파일 업로드
|
|
|
|
|
export const fileUpload = createAsyncThunk( |
|
|
|
|
'basis/fileUpload', |
|
|
|
|
async (file: any) => { |
|
|
|
|
try { |
|
|
|
|
let form = new FormData(); |
|
|
|
|
form.append('file', file); |
|
|
|
|
|
|
|
|
|
const res = await axios.post('api/file/upload', form); |
|
|
|
|
return res.data; |
|
|
|
|
} catch (error) { |
|
|
|
|
console.error(error); |
|
|
|
|
} |
|
|
|
|