cleanup: alte GIS-Fetch-Dateien und unnötige Service-Imports entfernt – vollständige Umstellung auf zentrale Thunks abgeschlossen
This commit is contained in:
36
CHANGELOG.md
36
CHANGELOG.md
@@ -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
|
||||||
|
|||||||
@@ -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 }) => {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
// /config/appVersion
|
// /config/appVersion
|
||||||
export const APP_VERSION = "1.1.126";
|
export const APP_VERSION = "1.1.127";
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|
||||||
31
redux/slices/database/locationDevicesSlice.js
Normal file
31
redux/slices/database/locationDevicesSlice.js
Normal 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;
|
||||||
@@ -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
|
||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
7
redux/thunks/database/fetchLocationDevicesThunk.js
Normal file
7
redux/thunks/database/fetchLocationDevicesThunk.js
Normal 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();
|
||||||
|
});
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
8
services/database/fetchLocationDevicesService.js
Normal file
8
services/database/fetchLocationDevicesService.js
Normal 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();
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user