refactor: Services nach Datenquelle getrennt – webservice/, database/ und utils/ Struktur eingeführt (v1.1.117)
This commit is contained in:
19
CHANGELOG.md
19
CHANGELOG.md
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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(() => {
|
||||
|
||||
@@ -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(() => {
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// /config/appVersion
|
||||
export const APP_VERSION = "1.1.116";
|
||||
export const APP_VERSION = "1.1.118";
|
||||
|
||||
@@ -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;
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user