diff --git a/Dockerfile b/Dockerfile index 0cdba26..3fde655 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:12-alpine +FROM node:14-alpine RUN apk --no-cache add curl diff --git a/src/creators/createAreaJourneysResponse.ts b/src/creators/createAreaJourneysResponse.ts index 6ca9960..ad0f437 100644 --- a/src/creators/createAreaJourneysResponse.ts +++ b/src/creators/createAreaJourneysResponse.ts @@ -6,6 +6,7 @@ import { } from '../types/generated/schema-types' import { CachedFetcher } from '../types/CachedFetcher' import { cacheFetch } from '../cache' +import { ForbiddenError } from 'apollo-server-errors' import { groupBy, map } from 'lodash' import { createAreaJourneyObject } from '../objects/createAreaJourneyObject' import { createBBoxString } from '../utils/createBBoxString' @@ -47,7 +48,9 @@ export const createAreaJourneysResponse = async ( (events: Vehicles[]) => createAreaJourneyObject(events) ) } - + if (speedFilter && !user) { + throw new ForbiddenError('Authentication required. Please login.') + } // Cache for when a link containing an area query is shared. const cacheKey = `area_journeys_${createBBoxString(bbox)}_${minTime}_${maxTime}_${date}_${ !!user && unsignedEvents ? 'unsigned' : '' @@ -58,10 +61,6 @@ export const createAreaJourneysResponse = async ( return [] } - if (speedFilter && !user) { - return [] - } - let hslGroup: boolean = false if (user) { if (requireUser(user, 'HSL')) {