diff --git a/src/_redux/control/gp/gpSlice.ts b/src/_redux/control/gp/gpSlice.ts deleted file mode 100644 index 7464bfbc..00000000 --- a/src/_redux/control/gp/gpSlice.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { createSlice } from '@reduxjs/toolkit'; -import { initiaControlGp } from './gpState'; -import { - getHistory, - getWarnLog, - apiweather, - checkPlanContains, - getArcrftWarn, - getDetail, - getFlightPlan, - getGroupAuth -} from './gpThunk'; -// import { rescontrolweatherData } from './gpState'; - -const controlGpSlice = createSlice({ - name: 'controlGpSlice', - initialState: initiaControlGp, - reducers: { - ClientcontrolGpFlightPlanInit: (state, action) => { - state.controlGpFltPlanList = undefined; - } - }, - extraReducers: builder => { - // builder.addCase(getHistory.fulfilled, (state, action) => { - // state.controlGpHistory = action.payload; - // }); - // builder.addCase(getWarnLog.fulfilled, (state, action) => { - // state.controlGpWarnLog = action.payload; - // }); - // builder.addCase(apiweather.fulfilled, (state, action) => { - // const data: rescontrolweatherData = action.payload; - // state.controlWheather = action.payload; - // }); - // builder.addCase(checkPlanContains.fulfilled, (state, action) => { - // state.controlGpContains = action.payload; - // }); - // builder.addCase(getArcrftWarn.fulfilled, (state, action) => { - // state.controlGpArcrftWarn = action.payload; - // }); - // builder.addCase(getDetail.fulfilled, (state, action) => { - // state.controlGpDetail = action.payload; - // }); - // builder.addCase(getFlightPlan.fulfilled, (state, action) => { - // state.controlGpFltPlanList = action.payload; - // }); - // builder.addCase(getGroupAuth.fulfilled, (state, action) => { - // state.controlGpGroupAuth = action.payload; - // }); - } -}); diff --git a/src/_redux/features/control/gp/gpSlice.ts b/src/_redux/features/control/gp/gpSlice.ts new file mode 100644 index 00000000..9a9f07ed --- /dev/null +++ b/src/_redux/features/control/gp/gpSlice.ts @@ -0,0 +1,93 @@ +import { createSlice } from '@reduxjs/toolkit'; +import { + initiaControlGp, + ControlGpLogState, + IControlweatherRs +} from './gpState'; +import { + getHistory, + getWarnLog, + apiweather, + checkPlanContains, + getArcrftWarn, + getDetail, + getFlightPlan, + getGroupAuth +} from './gpThunk'; + +const controlGpFlightPlanSlice = createSlice({ + name: 'controlGpFlightPlanSlice', + initialState: initiaControlGp, + reducers: { + ClientcontrolGpFlightPlanInit: (state, action) => { + state.controlGpFltPlanList = undefined; + } + }, + extraReducers: builder => { + // builder.addCase(getHistory.fulfilled, (state, action) => { + // state.controlGpHistory = action.payload; + // }); + + builder.addCase(checkPlanContains.fulfilled, (state, action) => { + const data = action.payload; + state.controlGpContains = data; + }); + + builder.addCase(getFlightPlan.fulfilled, (state, action) => { + const list = action.payload; + state.controlGpFltPlanList = list; + }); + // builder.addCase(getGroupAuth.fulfilled, (state, action) => { + // state.controlGpList = controlGpList; + // state.controlGroupAuthInfo = controlGroupAuthInfo; + // }); + } +}); + +const controlGpLogReducer = createSlice({ + name: 'controlGpLogSlice', + initialState: initiaControlGp, + reducers: {}, + extraReducers: builder => { + builder.addCase(getWarnLog.fulfilled, (state, action) => { + const data = action.payload; + // state.controlGpWarnLog = data; + }); + builder.addCase(getArcrftWarn.fulfilled, (state, action) => { + const list = action.payload; + state.controlGpArcrftWarnList = list; + }); + } +}); + +const controlGpHisReducer = createSlice({ + name: 'controlGpHisSlice', + initialState: initiaControlGp, + reducers: {}, + extraReducers: builder => { + builder.addCase(getHistory.fulfilled, (state, action) => { + // const { controlGpHistory } = action.payload; + // state.controlGpHistory = controlGpHistory; + }); + } +}); + +const controlGpDtlReducer = createSlice({ + name: 'controlGpDtlSlice', + initialState: initiaControlGp, + reducers: {}, + extraReducers: builder => { + builder.addCase(getDetail.fulfilled, (state, action) => { + const { controlGpDetail } = action.payload; + state.controlGpDetail = controlGpDetail; + }); + builder.addCase(apiweather.fulfilled, (state, action) => { + state.controlWheather = action.payload; + }); + } +}); + +export const { ClientcontrolGpFlightPlanInit } = + controlGpFlightPlanSlice.actions; + +export const controlGpFltPlanReducer = controlGpFlightPlanSlice.reducer; diff --git a/src/_redux/control/gp/gpState.ts b/src/_redux/features/control/gp/gpState.ts similarity index 88% rename from src/_redux/control/gp/gpState.ts rename to src/_redux/features/control/gp/gpState.ts index a365bf28..bae254d3 100644 --- a/src/_redux/control/gp/gpState.ts +++ b/src/_redux/features/control/gp/gpState.ts @@ -1,8 +1,37 @@ export interface IControlGpState { controlGpList: IControlGpRq[] | undefined; controlGroupAuthInfo: IControlGroupAuthData[] | undefined; + // controlGpDetail: IControlGpDtlData | undefined; + // controlGpHistory: IControlGpHistoryData[] | undefined; + // controlGpWarnLog: ControlGpWarnLogList | undefined; + // controlDetail: IControlDetailRs | undefined; + // controlGpFltPlanList: IControlGpFlightPlanDataListRs | undefined; + // controlGpWarnLogList: IControlGpWarnLogData[] | undefined; + // controlGpContains: IControlGpPlanContainsRS | undefined; + // controlGpArcrftWarnList: IControlGpArcrftWarnListRs | undefined; + // rescontrolweatherData: IControlweatherRs | undefined; + // controlWheather: IControlweatherRs | undefined; + // controlGpCountDrone: ControlGpCountData[] | undefined; + // controlGpCountFlight: ControlGpCountData[] | undefined; } +export const initiaControlGp = { + controlGpList: undefined, + controlGpDetail: undefined, + controlGpHistory: undefined, + controlGpWarnLog: undefined, + controlDetail: undefined, + controlGroupAuthInfo: undefined, + controlGpFltPlanList: undefined, + controlGpWarnLogList: undefined, + controlGpContains: undefined, + controlGpArcrftWarnList: undefined, + rescontrolweatherData: undefined, + controlWheather: undefined, + controlGpCountDrone: undefined, + controlGpCountFlight: undefined +}; + export interface ControlGpFlightPlanState { controlGpFltPlanList: IControlGpFlightPlanDataListRs | undefined; controlGpContains: IControlGpPlanContainsRS | undefined; @@ -235,20 +264,3 @@ export interface IResponseControlGpWarnLog { export interface IResponseControlGroupAuth { data: IControlGroupAuthData[]; } - -export const initiaControlGp = { - controlGpList: undefined, - controlGpDetail: undefined, - controlGpHistory: undefined, - controlGpWarnLog: undefined, - controlDetail: undefined, - controlGroupAuthInfo: undefined, - controlGpFltPlanList: undefined, - controlGpWarnLogList: undefined, - controlGpContains: undefined, - controlGpArcrftWarnList: undefined, - rescontrolweatherData: undefined, - controlWheather: undefined, - controlGpCountDrone: undefined, - controlGpCountFlight: undefined -}; diff --git a/src/_redux/control/gp/gpThunk.ts b/src/_redux/features/control/gp/gpThunk.ts similarity index 87% rename from src/_redux/control/gp/gpThunk.ts rename to src/_redux/features/control/gp/gpThunk.ts index 3fff7be3..c1925bd0 100644 --- a/src/_redux/control/gp/gpThunk.ts +++ b/src/_redux/features/control/gp/gpThunk.ts @@ -1,4 +1,4 @@ -import axios from '../../../modules/utils/customAxiosUtil'; +import axios from '../../../../modules/utils/customAxiosUtil'; import qs from 'qs'; import { IResponseControlGpHistory, @@ -9,7 +9,7 @@ import { IControlGpArcrftWarnRq } from './gpState'; import { createAsyncThunk } from '@reduxjs/toolkit'; -import { isError, isMessage } from '../../features/comn/message/messageSlice'; +import { isError, isMessage } from '../../comn/message/messageSlice'; import { ERROR_MESSAGE, DUPLATE_MESSAGE, @@ -212,3 +212,27 @@ export const getArcrftWarn = createAsyncThunk( } } ); + +export const getArcrftWarnList = createAsyncThunk( + 'control/gp/getArcrftWarnList', + async (rq: IControlGpArcrftWarnRq, thunkAPI) => { + const { rejectWithValue } = thunkAPI; + try { + if (!rq.cntrlId) return null; + + const { data } = await axios.post(`api/ctr/cntrl/arcrft/warn/list`, rq); + + return data; + } catch (error) { + thunkAPI.dispatch( + isError({ + errorCode: ERROR_MESSAGE.code, + errorMessage: ERROR_MESSAGE.message, + isHistoryBack: false, + isRefresh: false + }) + ); + return rejectWithValue(error); + } + } +);