|
@@ -4,7 +4,9 @@ import {
|
|
|
getSceneByType,
|
|
|
getToken,
|
|
|
uploadModelScene as uploadModelSceneApi,
|
|
|
- deleteModelScene as deleteModelSceneApi
|
|
|
+ deleteModelScene as deleteModelSceneApi,
|
|
|
+ getModelSceneStatus,
|
|
|
+ ModelScene
|
|
|
} from 'api'
|
|
|
import {
|
|
|
ModelSceneStatus,
|
|
@@ -30,6 +32,9 @@ const sceneSlice = createSlice({
|
|
|
name: 'scene',
|
|
|
initialState,
|
|
|
reducers: {
|
|
|
+ checkSceneStatus() {
|
|
|
+
|
|
|
+ }
|
|
|
},
|
|
|
extraReducers(builder) {
|
|
|
thunkStatusAutoSet(
|
|
@@ -42,6 +47,16 @@ const sceneSlice = createSlice({
|
|
|
]
|
|
|
}
|
|
|
)
|
|
|
+
|
|
|
+ builder.addCase(checkSceneStatus.fulfilled, (state, data) => {
|
|
|
+ const scene = state.value.find(scene => scene.id === data.payload.id) as ModelScene
|
|
|
+ if (scene) {
|
|
|
+ state.value[state.value.indexOf(scene)] = {
|
|
|
+ ...scene,
|
|
|
+ status: data.payload.status
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -59,7 +74,7 @@ export const {
|
|
|
export const fetchScenes = createAsyncThunk('fetch/scenes', getSceneByType)
|
|
|
export const uploadModelScene = createAsyncThunk('upload/modelScene', uploadModelSceneApi)
|
|
|
export const deleteModelScene = createAsyncThunk('delete/modelScene', deleteModelSceneApi)
|
|
|
-
|
|
|
+export const checkSceneStatus = createAsyncThunk('fetch/scene', getModelSceneStatus)
|
|
|
|
|
|
export enum SceneLinkFlag { query, edit }
|
|
|
export const getSceneLink = (scene: Scene, flag: SceneLinkFlag): URL => {
|