From a8f55c540d660bae869826cf7d9ed973b5f55731 Mon Sep 17 00:00:00 2001 From: TBS093A Date: Wed, 17 Feb 2021 10:58:17 +0100 Subject: [PATCH] Redux -> simple fixes in async thunks & add model & render crud slicers --- src/redux/asyncThunks/abstractAddress.js | 1 + src/redux/asyncThunks/abstractService.js | 4 ++-- src/redux/slices/modelCrudSlice.js | 30 ++++++++++++++++++++++++ src/redux/slices/renderCrudSlice.js | 25 ++++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/redux/asyncThunks/abstractAddress.js diff --git a/src/redux/asyncThunks/abstractAddress.js b/src/redux/asyncThunks/abstractAddress.js new file mode 100644 index 0000000..0353f78 --- /dev/null +++ b/src/redux/asyncThunks/abstractAddress.js @@ -0,0 +1 @@ +export const GeneralAddress = 'localhost:9090' \ No newline at end of file diff --git a/src/redux/asyncThunks/abstractService.js b/src/redux/asyncThunks/abstractService.js index 5063c49..61375ea 100644 --- a/src/redux/asyncThunks/abstractService.js +++ b/src/redux/asyncThunks/abstractService.js @@ -1,7 +1,7 @@ import axios from 'axios' +import { GeneralAddress } from './abstractAddress' - -const APIAddress = 'http://localhost:9090' +const APIAddress = 'http://' + GeneralAddress let defaultBody = '' diff --git a/src/redux/slices/modelCrudSlice.js b/src/redux/slices/modelCrudSlice.js index e69de29..1f76bbc 100644 --- a/src/redux/slices/modelCrudSlice.js +++ b/src/redux/slices/modelCrudSlice.js @@ -0,0 +1,30 @@ +import { createSlice } from '@reduxjs/toolkit' +import modelCrudAsyncThunk from '../asyncThunks/modelCrudAsyncThunk' + +const modelCrudSlice = createSlice( + { + name: 'model', + initialState: { + models_list: [], + download_blend_file: '', + upload_blend_file_status: '' + + }, + reducers: {}, + extraReducers: { + [modelCrudAsyncThunk.fetchGetAllModels.fulfilled.type]: (state, action) => { + state.models_list = action.payload.data + }, + [modelCrudAsyncThunk.fetchGetOneModelAndDownload.fulfilled.type]: (state, action) => { + state.download_blend_file = action.payload.data + }, + [modelCrudAsyncThunk.fetchUploadModel.fulfilled.type]: (state, action) => { + state.upload_blend_file_status = action.payload.data + } + } + } +) + +export const modelCrudReducer = modelCrudSlice.reducer + +export const modelCrudSelector = state => state.modelCrudReducer \ No newline at end of file diff --git a/src/redux/slices/renderCrudSlice.js b/src/redux/slices/renderCrudSlice.js index e69de29..d9d92d2 100644 --- a/src/redux/slices/renderCrudSlice.js +++ b/src/redux/slices/renderCrudSlice.js @@ -0,0 +1,25 @@ +import { createSlice } from '@reduxjs/toolkit' +import renderCrudAsyncThunk from '../asyncThunks/renderCrudAsyncThunk' + +const renderCrudSlice = createSlice( + { + name: 'render', + initialState: { + models_list: [], + download_zip_file: '' + }, + reducers: {}, + extraReducers: { + [renderCrudAsyncThunk.fetchGetAllRenders.fulfilled.type]: (state, action) => { + state.renders_list = action.payload.data + }, + [renderCrudAsyncThunk.fetchGetOneRenderAndDownload.fulfilled.type]: (state, action) => { + state.download_zip_file = action.payload.data + } + } + } +) + +export const renderCrudReducer = renderCrudSlice.reducer + +export const renderCrudSelector = state => state.renderCrudReducer \ No newline at end of file