diff --git a/src/app/test/page.tsx b/src/app/test/page.tsx
index 3b4f3dd..6f151b4 100644
--- a/src/app/test/page.tsx
+++ b/src/app/test/page.tsx
@@ -1,12 +1,11 @@
-'use Client';
+'use client';
import Drone from './drone';
export default function Home() {
return (
<>
-
main
- {/* */}
+
>
);
}
diff --git a/src/redux/features/basis/drone/droneThunk.ts b/src/redux/features/basis/drone/droneThunk.ts
index 2085c61..0a1c6eb 100644
--- a/src/redux/features/basis/drone/droneThunk.ts
+++ b/src/redux/features/basis/drone/droneThunk.ts
@@ -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);
}