refactor: Services nach Datenquelle getrennt – webservice/, database/ und utils/ Struktur eingeführt (v1.1.117)

This commit is contained in:
ISA
2025-05-20 13:27:20 +02:00
parent e3b8f7f0fc
commit 2846bc0b13
17 changed files with 29 additions and 10 deletions

View File

@@ -4,6 +4,25 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie
---
## [1.1.117] 2025-05-20
### Changed
- 🔁 Projektstruktur unter `/services/` neu organisiert nach Datenquelle:
- `/services/webservice/` für TALAS-WebServices (Port 80)
- `/services/database/` für eigene Next.js-APIs (Port 3000)
- `/services/utils/` für Hilfsfunktionen (z.B. `fetchWithTimeout`)
- Alle Service-Dateien konsistent benannt nach Schema: `fetchXyzService.js`
- Beispiel: `fetchGisStationsMeasurementsService.js`, `fetchPoiData.js`, `updateLocationInDatabase.js`
### Motivation
- ✅ Bessere Übersicht nach Quelle und Verantwortung
- 📦 Klare Trennung zwischen WebService-Fetch und App-APIs
- 👨‍💻 Erleichtert das Onboarding und Debugging
---
## [1.1.108] 2025-05-20
### Removed

View File

@@ -36,8 +36,8 @@ import CoordinateInput from "../CoordinateInput.js";
import CoordinateModal from "../CoordinateModal.js";
import CoordinatePopup from "../CoordinatePopup.js";
//------------------------Daten aus API--------------------
import { fetchPoiData } from "../../services/api/fetchPoiData.js";
import { fetchGisStationsMeasurementsService } from "../../services/api/fetchGisStationsMeasurementsService.js";
import { fetchPoiData } from "../../services/database/fetchPoiData.js";
import { fetchGisStationsMeasurementsService } from "../../services/webservice/fetchGisStationsMeasurementsService.js";
import { selectPolylineVisible, setPolylineVisible } from "../../redux/slices/polylineLayerVisibleSlice.js";
import { fetchLocationDevicesFromDB } from "../../redux/slices/db/locationDevicesFromDBSlice";
import { fetchGisStationsStaticDistrictFromWebService } from "../../redux/slices/webService/gisStationsStaticDistrictSlice";

View File

@@ -1,8 +1,8 @@
// /components/mainComponent/hooks/useFetchWebServiceMap.js
import { useEffect } from "react";
import { fetchGisStationsStatusDistrictService } from "../../../services/api/fetchGisStationsStatusDistrictService";
import { fetchGisStationsMeasurementsService } from "../../../services/api/fetchGisStationsMeasurementsService";
import { fetchGisSystemStatic } from "../../../services/api/fetchGisSystemStatic";
import { fetchGisStationsStatusDistrictService } from "../../../services/webservice/fetchGisStationsStatusDistrictService";
import { fetchGisStationsMeasurementsService } from "../../../services/webservice/fetchGisStationsMeasurementsService";
import { fetchGisSystemStatic } from "../../../services/webservice/fetchGisSystemStatic";
const useFetchWebServiceMap = (mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl, setGisStationsStatusDistrict, setGisStationsMeasurements, setGisSystemStatic, setGisSystemStaticLoaded) => {
useEffect(() => {

View File

@@ -1,6 +1,6 @@
// /components/mainComponent/hooks/useLoadUserRights.js
import { useEffect } from "react";
import { fetchUserRights } from "../../../services/api/fetchUserRights";
import { fetchUserRights } from "../../../services/webservice/fetchUserRights";
const useLoadUserRights = (setUserRights, setIsRightsLoaded, setHasRights) => {
useEffect(() => {

View File

@@ -1,2 +1,2 @@
// /config/appVersion
export const APP_VERSION = "1.1.116";
export const APP_VERSION = "1.1.118";

View File

@@ -1,5 +1,5 @@
// /services/api/fetchGisStatusStations.js
import fetchWithTimeout from "./fetchWithTimeout";
import fetchWithTimeout from "../utils/fetchWithTimeout";
export const fetchGisStatusStations = async (idMap, idUser) => {
const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;

View File

@@ -1,7 +1,7 @@
// utils/polylines/setupPolylines.js
import { findClosestPoints } from "../geometryUtils";
import handlePoiSelect from "../handlePoiSelect";
import { updateLocationInDatabase } from "../../services/api/updateLocationInDatabase";
import { updateLocationInDatabase } from "../../services/database/updateLocationInDatabase";
import { handleEditPoi, insertNewPOI, removePOI } from "../poiUtils";
import { parsePoint } from "../geometryUtils";
import circleIcon from "../../components/gisPolylines/icons/CircleIcon";

View File

@@ -1,7 +1,7 @@
// utils/setupPOIs.js
import { findClosestPoints } from "./geometryUtils";
import handlePoiSelect from "./handlePoiSelect";
import { updateLocationInDatabase } from "../services/api/updateLocationInDatabase";
import { updateLocationInDatabase } from "../services/database/updateLocationInDatabase";
import { handleEditPoi, insertNewPOI, removePOI } from "./poiUtils";
import { parsePoint } from "./geometryUtils";
import circleIcon from "../components/gisPolylines/icons/CircleIcon";