diff --git a/pages/api/og-image.tsx b/pages/api/og-image.tsx index 9db12a596..51db2def3 100644 --- a/pages/api/og-image.tsx +++ b/pages/api/og-image.tsx @@ -7,7 +7,7 @@ import { ImageDefFromCenter, ImageDefFromTag, } from '../../src/services/types'; -import { fetchWithMemberFeatures } from '../../src/services/osmApi'; +import { fetchWithMemberFeatures } from '../../src/services/osm/osmApi'; import { getImageFromApi } from '../../src/services/images/getImageFromApi'; import { getLogo, ProjectLogo } from '../../src/server/images/logo'; import { ImageType } from '../../src/services/images/getImageDefs'; diff --git a/pages/api/user.ts b/pages/api/user.ts index 1d2a06203..9d1d6275d 100644 --- a/pages/api/user.ts +++ b/pages/api/user.ts @@ -1,6 +1,6 @@ import type { NextApiRequest, NextApiResponse } from 'next'; import { serverFetchOsmUser } from '../../src/server/osmApiAuthServer'; -import { OSM_TOKEN_COOKIE } from '../../src/services/osmApiConsts'; +import { OSM_TOKEN_COOKIE } from '../../src/services/osm/consts'; export default async (req: NextApiRequest, res: NextApiResponse) => { try { diff --git a/src/components/App/helpers.ts b/src/components/App/helpers.ts index 3df8f9dd1..c8e7110e2 100644 --- a/src/components/App/helpers.ts +++ b/src/components/App/helpers.ts @@ -1,7 +1,7 @@ import * as Sentry from '@sentry/nextjs'; import nextCookies from 'next-cookies'; import Cookies from 'js-cookie'; -import { clearFeatureCache, fetchFeature } from '../../services/osmApi'; +import { clearFeatureCache, fetchFeature } from '../../services/osm/osmApi'; import { fetchJson } from '../../services/fetch'; import { isServer } from '../helpers'; import { getCoordsFeature } from '../../services/getCoordsFeature'; diff --git a/src/components/FeaturePanel/Climbing/useGetHandleSave.tsx b/src/components/FeaturePanel/Climbing/useGetHandleSave.tsx index ff83e577c..478f0d8ec 100644 --- a/src/components/FeaturePanel/Climbing/useGetHandleSave.tsx +++ b/src/components/FeaturePanel/Climbing/useGetHandleSave.tsx @@ -2,7 +2,7 @@ import { ClimbingRoute } from './types'; import { Feature, FeatureTags } from '../../../services/types'; import { useFeatureContext } from '../../utils/FeatureContext'; import { useClimbingContext } from './contexts/ClimbingContext'; -import { CragChange, editCrag } from '../../../services/osmApiAuth'; +import { CragChange, editCrag } from '../../../services/osm/osmApiAuth'; import { invertedBoltCodeMap } from './utils/boltCodes'; import { useSnackbar } from '../../utils/SnackbarContext'; import { diff --git a/src/components/FeaturePanel/EditDialog/EditContent/AddMemberForm.tsx b/src/components/FeaturePanel/EditDialog/EditContent/AddMemberForm.tsx index 2bcca5e3d..763d565e6 100644 --- a/src/components/FeaturePanel/EditDialog/EditContent/AddMemberForm.tsx +++ b/src/components/FeaturePanel/EditDialog/EditContent/AddMemberForm.tsx @@ -1,6 +1,6 @@ import { EditDataItem, Members } from '../useEditItems'; import { getApiId, getShortId } from '../../../../services/helpers'; -import { getOsmElement } from '../../../../services/osmApi'; +import { getOsmElement } from '../../../../services/osm/osmApi'; import { useEditContext } from '../EditContext'; import { useFeatureEditData } from './FeatureEditSection/SingleFeatureEditContext'; import React from 'react'; diff --git a/src/components/FeaturePanel/EditDialog/EditContent/ParentsEditor.tsx b/src/components/FeaturePanel/EditDialog/EditContent/ParentsEditor.tsx index d3c388e4d..123016b57 100644 --- a/src/components/FeaturePanel/EditDialog/EditContent/ParentsEditor.tsx +++ b/src/components/FeaturePanel/EditDialog/EditContent/ParentsEditor.tsx @@ -10,7 +10,7 @@ import { useTheme, } from '@mui/material'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; -import { fetchParentFeatures } from '../../../../services/osmApi'; +import { fetchParentFeatures } from '../../../../services/osm/osmApi'; import { getApiId, getShortId } from '../../../../services/helpers'; import { FeatureRow } from './FeatureRow'; import { t } from '../../../../services/intl'; diff --git a/src/components/FeaturePanel/EditDialog/EditContent/helpers.tsx b/src/components/FeaturePanel/EditDialog/EditContent/helpers.tsx index 2d94150b4..c0f4d76b4 100644 --- a/src/components/FeaturePanel/EditDialog/EditContent/helpers.tsx +++ b/src/components/FeaturePanel/EditDialog/EditContent/helpers.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { EditDataItem } from '../useEditItems'; import { useEditContext } from '../EditContext'; import { getApiId, getShortId } from '../../../../services/helpers'; -import { getFullFeatureWithMemberFeatures } from '../../../../services/osmApi'; +import { getFullFeatureWithMemberFeatures } from '../../../../services/osm/osmApi'; const CharacterCountContainer = styled.div` position: absolute; diff --git a/src/components/FeaturePanel/EditDialog/useGetHandleSave.tsx b/src/components/FeaturePanel/EditDialog/useGetHandleSave.tsx index 98d894d90..202cee831 100644 --- a/src/components/FeaturePanel/EditDialog/useGetHandleSave.tsx +++ b/src/components/FeaturePanel/EditDialog/useGetHandleSave.tsx @@ -3,8 +3,8 @@ import { useEditDialogFeature } from './utils'; import { useEditContext } from './EditContext'; import { createNoteText } from './createNoteText'; import { t } from '../../../services/intl'; -import { saveChanges } from '../../../services/osmApiAuth'; -import { insertOsmNote } from '../../../services/osmApi'; +import { saveChanges } from '../../../services/osm/osmApiAuth'; +import { insertOsmNote } from '../../../services/osm/osmApi'; import { useSnackbar } from '../../utils/SnackbarContext'; import { getShortId } from '../../../services/helpers'; diff --git a/src/components/FeaturePanel/FeatureDescription.tsx b/src/components/FeaturePanel/FeatureDescription.tsx index 73761b294..277da7ccc 100644 --- a/src/components/FeaturePanel/FeatureDescription.tsx +++ b/src/components/FeaturePanel/FeatureDescription.tsx @@ -6,7 +6,7 @@ import { t, Translation } from '../../services/intl'; import { useFeatureContext } from '../utils/FeatureContext'; import { TooltipButton } from '../utils/TooltipButton'; import { Feature } from '../../services/types'; -import { OSM_WEBSITE } from '../../services/osmApiConsts'; +import { OSM_WEBSITE } from '../../services/osm/consts'; const InfoTooltipWrapper = styled.span` position: relative; diff --git a/src/components/FeaturePanel/ObjectsAround.tsx b/src/components/FeaturePanel/ObjectsAround.tsx index c5aa0e5f6..c0ea55b16 100644 --- a/src/components/FeaturePanel/ObjectsAround.tsx +++ b/src/components/FeaturePanel/ObjectsAround.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Box, Typography } from '@mui/material'; import Router from 'next/router'; -import { fetchAroundFeature } from '../../services/osmApi'; +import { fetchAroundFeature } from '../../services/osm/osmApi'; import { useFeatureContext } from '../utils/FeatureContext'; import { Feature } from '../../services/types'; import { getOsmappLink, getUrlOsmId } from '../../services/helpers'; diff --git a/src/components/FeaturePanel/OsmError.tsx b/src/components/FeaturePanel/OsmError.tsx index 437272843..4e2972d1f 100644 --- a/src/components/FeaturePanel/OsmError.tsx +++ b/src/components/FeaturePanel/OsmError.tsx @@ -3,7 +3,7 @@ import { Box, Alert } from '@mui/material'; import { t } from '../../services/intl'; import { getUrlOsmId } from '../../services/helpers'; import { useFeatureContext } from '../utils/FeatureContext'; -import { OSM_WEBSITE } from '../../services/osmApiConsts'; +import { OSM_WEBSITE } from '../../services/osm/consts'; export const OsmError = () => { const { feature } = useFeatureContext(); diff --git a/src/components/FeaturePanel/helpers/TestApiWarning.tsx b/src/components/FeaturePanel/helpers/TestApiWarning.tsx index 43acae05b..e24bff08b 100644 --- a/src/components/FeaturePanel/helpers/TestApiWarning.tsx +++ b/src/components/FeaturePanel/helpers/TestApiWarning.tsx @@ -1,4 +1,4 @@ -import { API_SERVER, USE_PROD_API } from '../../../services/osmApiConsts'; +import { API_SERVER, USE_PROD_API } from '../../../services/osm/consts'; import { Alert, Box } from '@mui/material'; import Link from 'next/link'; import React from 'react'; diff --git a/src/components/Map/behaviour/maptilerFix.tsx b/src/components/Map/behaviour/maptilerFix.tsx index f994913c0..c7fb80c79 100644 --- a/src/components/Map/behaviour/maptilerFix.tsx +++ b/src/components/Map/behaviour/maptilerFix.tsx @@ -1,6 +1,6 @@ import { Feature, OsmId } from '../../../services/types'; import { getShortId } from '../../../services/helpers'; -import { quickFetchFeature } from '../../../services/osmApi'; +import { quickFetchFeature } from '../../../services/osm/osmApi'; import { MapGeoJSONFeature } from 'maplibre-gl'; const isFarAway = (feature: Feature, skeleton: Feature) => diff --git a/src/components/Map/behaviour/useOnMapClicked.tsx b/src/components/Map/behaviour/useOnMapClicked.tsx index 409650b2d..43d525e44 100644 --- a/src/components/Map/behaviour/useOnMapClicked.tsx +++ b/src/components/Map/behaviour/useOnMapClicked.tsx @@ -1,6 +1,6 @@ import { createMapEventHook, isMobileDevice } from '../../helpers'; import pickBy from 'lodash/pickBy'; -import { addFeatureCenterToCache } from '../../../services/osmApi'; +import { addFeatureCenterToCache } from '../../../services/osm/osmApi'; import { getOsmappLink, getShortId } from '../../../services/helpers'; import { getRoundedPosition, diff --git a/src/components/SearchBox/onSelectedFactory.ts b/src/components/SearchBox/onSelectedFactory.ts index 972350d7d..76f02d1f6 100644 --- a/src/components/SearchBox/onSelectedFactory.ts +++ b/src/components/SearchBox/onSelectedFactory.ts @@ -1,6 +1,6 @@ import Router, { NextRouter } from 'next/router'; import { getApiId, getShortId, getUrlOsmId } from '../../services/helpers'; -import { addFeatureCenterToCache } from '../../services/osmApi'; +import { addFeatureCenterToCache } from '../../services/osm/osmApi'; import { getOverpassSource } from '../../services/mapStorage'; import { performOverpassSearch } from '../../services/overpassSearch'; import { t } from '../../services/intl'; diff --git a/src/components/utils/OsmAuthContext.tsx b/src/components/utils/OsmAuthContext.tsx index 63aa61171..d6d81fa8f 100644 --- a/src/components/utils/OsmAuthContext.tsx +++ b/src/components/utils/OsmAuthContext.tsx @@ -3,9 +3,9 @@ import { loginAndfetchOsmUser, osmLogout, OsmUser, -} from '../../services/osmApiAuth'; +} from '../../services/osm/osmApiAuth'; import { useSnackbar } from './SnackbarContext'; -import { OSM_USER_COOKIE } from '../../services/osmApiConsts'; +import { OSM_USER_COOKIE } from '../../services/osm/consts'; type OsmAuthType = { loggedIn: boolean; diff --git a/src/services/__tests__/osmApi.test.ts b/src/services/osm/__tests__/osmApi.test.ts similarity index 86% rename from src/services/__tests__/osmApi.test.ts rename to src/services/osm/__tests__/osmApi.test.ts index 1bbe5e746..232d3075a 100644 --- a/src/services/__tests__/osmApi.test.ts +++ b/src/services/osm/__tests__/osmApi.test.ts @@ -1,6 +1,6 @@ import { addFeatureCenterToCache, fetchFeature } from '../osmApi'; -import * as helpers from '../../components/helpers'; -import * as fetch from '../fetch'; +import * as helpers from '../../../components/helpers'; +import * as fetch from '../../fetch'; import { NODE, NODE_FEATURE, @@ -8,25 +8,25 @@ import { RELATION_FEATURE, WAY, WAY_FEATURE, -} from './osmApi.fixture'; -import { intl } from '../intl'; -import * as tagging from '../tagging/translations'; -import * as idTaggingScheme from '../tagging/idTaggingScheme'; +} from '../../__tests__/osmApi.fixture'; +import { intl } from '../../intl'; +import * as tagging from '../../tagging/translations'; +import * as idTaggingScheme from '../../tagging/idTaggingScheme'; -jest.mock('../../components/helpers', () => ({ +jest.mock('../../../components/helpers', () => ({ isServer: jest.fn(), isBrowser: jest.fn(), })); -jest.mock('../fetch', () => ({ +jest.mock('../../fetch', () => ({ fetchJson: jest.fn(), })); -jest.mock('../tagging/translations', () => ({ +jest.mock('../../tagging/translations', () => ({ fetchSchemaTranslations: jest.fn(), })); -jest.mock('../tagging/idTaggingScheme', () => ({ +jest.mock('../../tagging/idTaggingScheme', () => ({ addSchemaToFeature: jest.fn(), })); diff --git a/src/services/__tests__/osmToFeature.test.ts b/src/services/osm/__tests__/osmToFeature.test.ts similarity index 98% rename from src/services/__tests__/osmToFeature.test.ts rename to src/services/osm/__tests__/osmToFeature.test.ts index 6fb95074e..c96d38da8 100644 --- a/src/services/__tests__/osmToFeature.test.ts +++ b/src/services/osm/__tests__/osmToFeature.test.ts @@ -1,6 +1,6 @@ import { osmToFeature } from '../osmToFeature'; -import { ImageDef } from '../types'; +import { ImageDef } from '../../types'; const nodeResponse = { type: 'node', diff --git a/src/services/osmApiConsts.ts b/src/services/osm/consts.ts similarity index 100% rename from src/services/osmApiConsts.ts rename to src/services/osm/consts.ts diff --git a/src/services/osmApiTestItems.tsx b/src/services/osm/offlineItems.tsx similarity index 98% rename from src/services/osmApiTestItems.tsx rename to src/services/osm/offlineItems.tsx index 8323771d2..ee9bf4207 100644 --- a/src/services/osmApiTestItems.tsx +++ b/src/services/osm/offlineItems.tsx @@ -1,5 +1,5 @@ -import { Feature } from './types'; -import { addSchemaToFeature } from './tagging/idTaggingScheme'; +import { Feature } from '../types'; +import { addSchemaToFeature } from '../tagging/idTaggingScheme'; import { osmToFeature } from './osmToFeature'; // this is raw response from openstreetmap api diff --git a/src/services/osmApi.ts b/src/services/osm/osmApi.ts similarity index 94% rename from src/services/osmApi.ts rename to src/services/osm/osmApi.ts index cbc9f993a..7cd931cd3 100644 --- a/src/services/osmApi.ts +++ b/src/services/osm/osmApi.ts @@ -1,6 +1,6 @@ import { resolveCountryCode } from 'next-codegrid'; -import { FetchError, getShortId, getUrlOsmId } from './helpers'; -import { fetchJson } from './fetch'; +import { FetchError, getShortId, getUrlOsmId } from '../helpers'; +import { fetchJson } from '../fetch'; import { Feature, LonLat, @@ -8,25 +8,25 @@ import { Position, RelationMember, SuccessInfo, -} from './types'; -import { removeFetchCache } from './fetchCache'; -import { overpassAroundToSkeletons } from './overpassAroundToSkeletons'; -import { isBrowser } from '../components/helpers'; -import { addSchemaToFeature } from './tagging/idTaggingScheme'; -import { fetchSchemaTranslations } from './tagging/translations'; +} from '../types'; +import { removeFetchCache } from '../fetchCache'; +import { overpassAroundToSkeletons } from '../overpassAroundToSkeletons'; +import { isBrowser } from '../../components/helpers'; +import { addSchemaToFeature } from '../tagging/idTaggingScheme'; +import { fetchSchemaTranslations } from '../tagging/translations'; import { osmToFeature } from './osmToFeature'; -import { getImageDefs, mergeMemberImageDefs } from './images/getImageDefs'; +import { getImageDefs, mergeMemberImageDefs } from '../images/getImageDefs'; import * as Sentry from '@sentry/nextjs'; -import { fetchOverpassCenter } from './overpass/fetchOverpassCenter'; +import { fetchOverpassCenter } from '../overpass/fetchOverpassCenter'; import { isClimbingRelation, isClimbingRoute, isPublictransportRoute, isRouteMaster, publishDbgObject, -} from '../utils'; -import { getOverpassUrl } from './overpassSearch'; -import { API_SERVER, OSM_WEBSITE } from './osmApiConsts'; +} from '../../utils'; +import { getOverpassUrl } from '../overpassSearch'; +import { API_SERVER, OSM_WEBSITE } from './consts'; const getOsmUrl = ({ type, id }: OsmId) => `${API_SERVER}/api/0.6/${type}/${id}.json`; @@ -352,12 +352,12 @@ export const fetchFeature = async (apiId: OsmId): Promise => { // offline features for testing if (apiId.type === 'relation' && apiId.id === 6) { await fetchSchemaTranslations(); - const osmApiTestItems = await import('./osmApiTestItems'); + const osmApiTestItems = await import('./offlineItems'); return osmApiTestItems.TEST_CRAG; } if (apiId.type === 'node' && apiId.id === 6) { await fetchSchemaTranslations(); - const osmApiTestItems = await import('./osmApiTestItems'); + const osmApiTestItems = await import('./offlineItems'); return osmApiTestItems.TEST_NODE; } diff --git a/src/services/osmApiAuth.ts b/src/services/osm/osmApiAuth.ts similarity index 97% rename from src/services/osmApiAuth.ts rename to src/services/osm/osmApiAuth.ts index 2d053dcbc..51186c972 100644 --- a/src/services/osmApiAuth.ts +++ b/src/services/osm/osmApiAuth.ts @@ -9,7 +9,7 @@ import { OsmId, Position, SuccessInfo, -} from './types'; +} from '../types'; import { buildXmlString, getApiId, @@ -21,15 +21,15 @@ import { stringifyDomXml, Xml2JsMultiDoc, Xml2JsSingleDoc, -} from './helpers'; -import { join } from '../utils'; +} from '../helpers'; +import { join } from '../../utils'; import { clearFeatureCache } from './osmApi'; -import { isBrowser } from '../components/helpers'; -import { getLabel } from '../helpers/featureLabel'; +import { isBrowser } from '../../components/helpers'; +import { getLabel } from '../../helpers/featureLabel'; import { EditDataItem, Members, -} from '../components/FeaturePanel/EditDialog/useEditItems'; +} from '../../components/FeaturePanel/EditDialog/useEditItems'; import { OSM_WEBSITE, PROD_CLIENT_ID, @@ -38,7 +38,7 @@ import { TEST_SERVER, USE_PROD_API, OSM_TOKEN_COOKIE, -} from './osmApiConsts'; +} from './consts'; // TS file in osm-auth is probably broken (new is required) // @ts-ignore diff --git a/src/services/osmToFeature.ts b/src/services/osm/osmToFeature.ts similarity index 77% rename from src/services/osmToFeature.ts rename to src/services/osm/osmToFeature.ts index 92dca2c5a..3980f0486 100644 --- a/src/services/osmToFeature.ts +++ b/src/services/osm/osmToFeature.ts @@ -1,6 +1,6 @@ -import { Feature } from './types'; -import { getPoiClass } from './getPoiClass'; -import { getImageDefs } from './images/getImageDefs'; +import { Feature } from '../types'; +import { getPoiClass } from '../getPoiClass'; +import { getImageDefs } from '../images/getImageDefs'; export const osmToFeature = (element): Feature => { const {