cleanup: alte GIS-Fetch-Dateien und unnötige Service-Imports entfernt – vollständige Umstellung auf zentrale Thunks abgeschlossen

This commit is contained in:
ISA
2025-05-21 10:41:59 +02:00
parent 86f1c1feb0
commit 0b7704935f
19 changed files with 110 additions and 31 deletions

View File

@@ -4,6 +4,42 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie
--- ---
## [1.1.126] 2025-05-21
### Cleanup
- 🧼 Veraltete GIS-API-Fetch-Dateien entfernt, da nun vollständig durch zentrale Redux-Architektur ersetzt:
- `fetchGisStationsMeasurements.js`
- `fetchGisStationsStatic.js`
- `fetchGisStationsStaticDistrict.js`
- `fetchGisStationsStatusDistrict.js`
- `fetchGisSystemStatic.js`
- Ebenso entfernt:
- `fetchLocationDevices.js` aus `/redux/api/fromDB/`
### Changed
- 🔁 Neue Ordnerstruktur eingeführt:
- `redux/thunks/webservice/` für TALAS WebServices (Port 80)
- `redux/thunks/database/` für API-Zugriffe auf eigene DB (Port 3000)
- Alle GIS-Thunks liegen jetzt in `/redux/thunks/webservice/` für klare Trennung
- Thunks übernehmen den Service-Import Slices sind vollständig entkoppelt
### Fixed
- Alle GIS-Redux-Slices importieren nun ausschließlich zentrale Thunks
- `MapComponent.js`, `DataSheet.js` und andere Komponenten nutzen nur noch:
- `gisStationsMeasurements`
- `gisStationsStaticDistrict`
- `gisStationsStatusDistrict`
- `gisSystemStatic`
### Version
- 📦 Version erhöht auf **1.1.126**
---
## [1.1.125] 2025-05-21 ## [1.1.125] 2025-05-21
### Cleanup ### Cleanup

View File

@@ -4,7 +4,7 @@ import ReactDOM from "react-dom";
import { setPoiMarkers } from "../redux/slices/readPoiMarkersStoreSlice"; import { setPoiMarkers } from "../redux/slices/readPoiMarkersStoreSlice";
import { selectGisStationsStaticDistrict } from "../redux/slices/webService/gisStationsStaticDistrictSlice"; import { selectGisStationsStaticDistrict } from "../redux/slices/webService/gisStationsStaticDistrictSlice";
import { useDispatch, useSelector } from "react-redux"; import { useDispatch, useSelector } from "react-redux";
import { fetchPoiTypes } from "../redux/slices/db/poiTypesSlice"; import { fetchPoiTypes } from "../redux/slices/database/poiTypesSlice";
import { incrementTrigger } from "../redux/slices/poiReadFromDbTriggerSlice"; import { incrementTrigger } from "../redux/slices/poiReadFromDbTriggerSlice";
const ShowAddStationPopup = ({ onClose, map, latlng }) => { const ShowAddStationPopup = ({ onClose, map, latlng }) => {

View File

@@ -38,7 +38,7 @@ import CoordinatePopup from "../CoordinatePopup.js";
//------------------------Daten aus API-------------------- //------------------------Daten aus API--------------------
import { fetchPoiDataService } from "../../services/database/fetchPoiDataService.js"; import { fetchPoiDataService } from "../../services/database/fetchPoiDataService.js";
import { selectPolylineVisible, setPolylineVisible } from "../../redux/slices/polylineLayerVisibleSlice.js"; import { selectPolylineVisible, setPolylineVisible } from "../../redux/slices/polylineLayerVisibleSlice.js";
import { fetchLocationDevicesFromDB } from "../../redux/slices/db/locationDevicesFromDBSlice"; import { fetchLocationDevicesFromDB } from "../../redux/slices/database/locationDevicesFromDBSlice";
import { selectGisStationsStaticDistrict } from "../../redux/slices/webService/gisStationsStaticDistrictSlice"; import { selectGisStationsStaticDistrict } from "../../redux/slices/webService/gisStationsStaticDistrictSlice";
@@ -56,12 +56,12 @@ import useRestoreMapSettings from "./hooks/useRestoreMapSettings";
import { setSelectedPoi } from "../../redux/slices/selectedPoiSlice"; import { setSelectedPoi } from "../../redux/slices/selectedPoiSlice";
import { setDisabled } from "../../redux/slices/polylineEventsDisabledSlice"; import { setDisabled } from "../../redux/slices/polylineEventsDisabledSlice";
import { setMapId, setUserId } from "../../redux/slices/urlParameterSlice"; import { setMapId, setUserId } from "../../redux/slices/urlParameterSlice";
import { fetchPoiTypes } from "../../redux/slices/db/poiTypesSlice"; import { fetchPoiTypes } from "../../redux/slices/database/poiTypesSlice";
import { fetchGisStationsMeasurementsThunk } from "../../redux/thunks/fetchGisStationsMeasurementsThunk"; import { fetchGisStationsMeasurementsThunk } from "../../redux/thunks/webservice/fetchGisStationsMeasurementsThunk";
import { fetchGisSystemStaticThunk } from "../../redux/thunks/fetchGisSystemStaticThunk"; import { fetchGisSystemStaticThunk } from "../../redux/thunks/webservice/fetchGisSystemStaticThunk";
import { fetchGisStationsStaticDistrictThunk } from "../../redux/thunks/fetchGisStationsStaticDistrictThunk"; import { fetchGisStationsStaticDistrictThunk } from "../../redux/thunks/webservice/fetchGisStationsStaticDistrictThunk";
import { fetchGisStationsStatusDistrictThunk } from "../../redux/thunks/fetchGisStationsStatusDistrictThunk"; import { fetchGisStationsStatusDistrictThunk } from "../../redux/thunks/webservice/fetchGisStationsStatusDistrictThunk";
const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
const dispatch = useDispatch(); const dispatch = useDispatch();

View File

@@ -1,7 +1,7 @@
// /components/pois/PoiUpdateModal.js // /components/pois/PoiUpdateModal.js
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import Select from "react-select"; // Importiere react-select import Select from "react-select"; // Importiere react-select
import { fetchLocationDevicesFromDB } from "../../redux/slices/db/locationDevicesFromDBSlice"; import { fetchLocationDevicesFromDB } from "../../redux/slices/database/locationDevicesFromDBSlice";
import { useSelector, useDispatch } from "react-redux"; import { useSelector, useDispatch } from "react-redux";
import { selectMapLayersState } from "../../redux/slices/mapLayersSlice"; import { selectMapLayersState } from "../../redux/slices/mapLayersSlice";

View File

@@ -1,2 +1,2 @@
// /config/appVersion // /config/appVersion
export const APP_VERSION = "1.1.126"; export const APP_VERSION = "1.1.127";

View File

@@ -1,4 +1,4 @@
// /redux/slices/db/locationDevicesFromDBSlice.js // /redux/slices/database/locationDevicesFromDBSlice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit"; import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import { fetchLocationDevices } from "../../api/fromDB/fetchLocationDevices"; import { fetchLocationDevices } from "../../api/fromDB/fetchLocationDevices";

View File

@@ -0,0 +1,31 @@
// /redux/slices/database/locationDevicesSlice.js
import { createSlice } from "@reduxjs/toolkit";
import { fetchLocationDevicesThunk } from "../../../thunks/fetchLocationDevicesThunk";
const slice = createSlice({
name: "locationDevices",
initialState: {
data: [],
status: "idle",
error: null,
},
reducers: {},
extraReducers: (builder) => {
builder
.addCase(fetchLocationDevicesThunk.pending, (state) => {
state.status = "loading";
})
.addCase(fetchLocationDevicesThunk.fulfilled, (state, action) => {
state.status = "succeeded";
state.data = action.payload;
})
.addCase(fetchLocationDevicesThunk.rejected, (state, action) => {
state.status = "failed";
state.error = action.error.message;
});
},
});
export default slice.reducer;
export const selectLocationDevices = (state) => state.locationDevices.data;

View File

@@ -1,4 +1,4 @@
// /redux/slices/db/poiTypesSlice.js // /redux/slices/database/poiTypesSlice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit"; import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
// API-Abruf für POI-Typen // API-Abruf für POI-Typen

View File

@@ -1,7 +1,7 @@
// /redux/slices/webService/gisStationsMeasurementsSlice.js // /redux/slices/webService/gisStationsMeasurementsSlice.js
import { createSlice } from "@reduxjs/toolkit"; import { createSlice } from "@reduxjs/toolkit";
import { fetchGisStationsMeasurementsThunk } from "../../thunks/fetchGisStationsMeasurementsThunk"; import { fetchGisStationsMeasurementsThunk } from "../../thunks/webservice/fetchGisStationsMeasurementsThunk";
const slice = createSlice({ const slice = createSlice({
name: "gisStationsMeasurements", name: "gisStationsMeasurements",

View File

@@ -1,9 +1,8 @@
// redux/slices/webService/gisStationsStaticDistrictSlice.js // redux/slices/webService/gisStationsStaticDistrictSlice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit"; import { createSlice } from "@reduxjs/toolkit";
import { fetchGisStationsStaticDistrictService } from "../../../services/webservice/fetchGisStationsStaticDistrictService";
import { fetchGisStationsStaticDistrictThunk } from "../../thunks/fetchGisStationsStaticDistrictThunk"; import { fetchGisStationsStaticDistrictThunk } from "../../thunks/webservice/fetchGisStationsStaticDistrictThunk";
const slice = createSlice({ const slice = createSlice({
name: "gisStationsStaticDistrict", name: "gisStationsStaticDistrict",

View File

@@ -1,9 +1,8 @@
// /redux/slices/webService/gisStationsStatusDistrictSlice.js // /redux/slices/webService/gisStationsStatusDistrictSlice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit"; import { createSlice } from "@reduxjs/toolkit";
import { fetchGisStationsStatusDistrictService } from "../../../services/webservice/fetchGisStationsStatusDistrictService";
import { fetchGisStationsStatusDistrictThunk } from "../../thunks/fetchGisStationsStatusDistrictThunk"; import { fetchGisStationsStatusDistrictThunk } from "../../thunks/webservice/fetchGisStationsStatusDistrictThunk";
const slice = createSlice({ const slice = createSlice({
name: "gisStationsStatusDistrict", name: "gisStationsStatusDistrict",

View File

@@ -1,9 +1,8 @@
// /redux/slices/webService/gisSystemStaticSlice.js // /redux/slices/webService/gisSystemStaticSlice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit"; import { createSlice } from "@reduxjs/toolkit";
import { fetchGisSystemStaticService } from "../../../services/webservice/fetchGisSystemStaticService";
import { fetchGisSystemStaticThunk } from "../../thunks/fetchGisSystemStaticThunk"; import { fetchGisSystemStaticThunk } from "../../thunks/webservice/fetchGisSystemStaticThunk";
const slice = createSlice({ const slice = createSlice({
name: "gisSystemStatic", name: "gisSystemStatic",

View File

@@ -3,13 +3,13 @@ import { configureStore } from "@reduxjs/toolkit";
import lineVisibilityReducer from "./slices/lineVisibilitySlice"; import lineVisibilityReducer from "./slices/lineVisibilitySlice";
import currentPoiReducer from "./slices/currentPoiSlice"; import currentPoiReducer from "./slices/currentPoiSlice";
import polylineLayerVisibleReducer from "./slices/polylineLayerVisibleSlice"; import polylineLayerVisibleReducer from "./slices/polylineLayerVisibleSlice";
import locationDevicesFromDBReducer from "./slices/db/locationDevicesFromDBSlice"; import locationDevicesFromDBReducer from "./slices/database/locationDevicesFromDBSlice";
import gisStationsStaticDistrictReducer from "./slices/webService/gisStationsStaticDistrictSlice"; import gisStationsStaticDistrictReducer from "./slices/webService/gisStationsStaticDistrictSlice";
import gisStationsStatusDistrictReducer from "./slices/webService/gisStationsStatusDistrictSlice"; import gisStationsStatusDistrictReducer from "./slices/webService/gisStationsStatusDistrictSlice";
import gisStationsMeasurementsReducer from "./slices/webService/gisStationsMeasurementsSlice"; import gisStationsMeasurementsReducer from "./slices/webService/gisStationsMeasurementsSlice";
import gisSystemStaticReducer from "./slices/webService/gisSystemStaticSlice"; import gisSystemStaticReducer from "./slices/webService/gisSystemStaticSlice";
import poiTypesReducer from "./slices/db/poiTypesSlice"; import poiTypesReducer from "./slices/database/poiTypesSlice";
import addPoiOnPolylineReducer from "./slices/addPoiOnPolylineSlice"; import addPoiOnPolylineReducer from "./slices/addPoiOnPolylineSlice";
import polylineContextMenuReducer from "./slices/polylineContextMenuSlice"; import polylineContextMenuReducer from "./slices/polylineContextMenuSlice";
import selectedPoiReducer from "./slices/selectedPoiSlice"; import selectedPoiReducer from "./slices/selectedPoiSlice";

View File

@@ -0,0 +1,7 @@
// /redux/thunks/fetchLocationDevicesThunk.js
import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchLocationDevicesService } from "../../../services/database/fetchLocationDevicesService";
export const fetchLocationDevicesThunk = createAsyncThunk("locationDevices/fetch", async () => {
return await fetchLocationDevicesService();
});

View File

@@ -1,7 +1,7 @@
// /redux/thunks/fetchGisStationsMeasurementsThunk.js // /redux/thunks/webservice/fetchGisStationsMeasurementsThunk.js
import { createAsyncThunk } from "@reduxjs/toolkit"; import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchGisStationsMeasurementsService } from "../../services/webservice/fetchGisStationsMeasurementsService"; import { fetchGisStationsMeasurementsService } from "../../../services/webservice/fetchGisStationsMeasurementsService";
/** /**
* Redux-Thunk für fetchGisStationsMeasurements * Redux-Thunk für fetchGisStationsMeasurements

View File

@@ -1,7 +1,7 @@
// /redux/thunks/fetchGisStationsStaticDistrictThunk.js // /redux/thunks/webservice/fetchGisStationsStaticDistrictThunk.js
import { createAsyncThunk } from "@reduxjs/toolkit"; import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchGisStationsStaticDistrictService } from "../../services/webservice/fetchGisStationsStaticDistrictService"; import { fetchGisStationsStaticDistrictService } from "../../../services/webservice/fetchGisStationsStaticDistrictService";
/** /**
* Redux-Thunk für fetchGisStationsStaticDistrict * Redux-Thunk für fetchGisStationsStaticDistrict

View File

@@ -1,7 +1,7 @@
// /redux/thunks/fetchGisStationsStatusDistrictThunk.js // /redux/thunks/webservice/fetchGisStationsStatusDistrictThunk.js
import { createAsyncThunk } from "@reduxjs/toolkit"; import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchGisStationsStatusDistrictService } from "../../services/webservice/fetchGisStationsStatusDistrictService"; import { fetchGisStationsStatusDistrictService } from "../../../services/webservice/fetchGisStationsStatusDistrictService";
/** /**
* Redux-Thunk für fetchGisStationsStatusDistrict * Redux-Thunk für fetchGisStationsStatusDistrict

View File

@@ -1,7 +1,7 @@
// /redux/thunks/fetchGisSystemStaticThunk.js // /redux/thunks/webservice/fetchGisSystemStaticThunk.js
import { createAsyncThunk } from "@reduxjs/toolkit"; import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchGisSystemStaticService } from "../../services/webservice/fetchGisSystemStaticService"; import { fetchGisSystemStaticService } from "../../../services/webservice/fetchGisSystemStaticService";
/** /**
* Redux-Thunk für fetchGisSystemStatic * Redux-Thunk für fetchGisSystemStatic

View File

@@ -0,0 +1,8 @@
// /services/database/fetchLocationDevicesService.js
export const fetchLocationDevicesService = async () => {
const response = await fetch("/api/talas_v5_DB/locationDevice/locationDevices");
if (!response.ok) {
throw new Error("Geräteliste konnte nicht geladen werden");
}
return await response.json();
};