Skip to content

Commit 5f91475

Browse files
committed
fix: Fixed wrong empty array for submodes
1 parent 633838d commit 5f91475

File tree

10 files changed

+28
-78
lines changed

10 files changed

+28
-78
lines changed
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
export { default as TransportModeFilter } from './filter';
22

3-
export {
4-
getAllTransportModesFromFilterOptions,
5-
parseFilterQuery,
6-
} from './utils';
3+
export { parseFilterQuery } from './utils';
Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,7 @@
1-
import { uniq } from 'lodash';
2-
import type { NewTransportModeGroup } from '../types';
3-
import { getTransportModeFilter } from '@atb/modules/firebase/transport-mode-filter';
4-
51
export function parseFilterQuery(
62
filterQuery: string | string[] | undefined,
73
): string[] | null {
84
if (!filterQuery) return null;
95

106
return filterQuery.toString().split(',');
117
}
12-
13-
export async function getAllTransportModesFromFilterOptions(
14-
filterOptions: string[] | null,
15-
): Promise<NewTransportModeGroup[] | undefined> {
16-
const transportModeFilter = await getTransportModeFilter();
17-
18-
if (!transportModeFilter) return;
19-
20-
const transportModes: NewTransportModeGroup[] = transportModeFilter
21-
.filter((option) => !filterOptions || filterOptions.includes(option.id))
22-
.flatMap((option) => option.modes);
23-
24-
return uniq(transportModes);
25-
}

src/modules/transport-mode/icon/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { TransportModeGroup } from '../types';
21
import MonoIcon, { MonoIconProps } from '@atb/components/icon/mono-icon';
32
import { ContrastColor, TransportColors, useTheme } from '@atb/modules/theme';
43
import { useTranslation } from '@atb/translations';

src/modules/transport-mode/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
export {
22
type TransportModeType,
33
type TransportSubmodeType,
4-
type TransportModeGroup,
5-
type NewTransportModeGroup,
64
transportModeSchema,
75
transportSubmodeSchema,
86
} from './types';

src/modules/transport-mode/types.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
import { z } from 'zod';
2-
import {
3-
TransportModeType as NewTransportModeType,
4-
TransportSubmodeType as NewTransportSubmodeType,
5-
} from '@atb-as/config-specs';
6-
import { TransportMode as GraphQlTransportModeType } from '@atb/modules/graphql-types';
72

83
export const transportModeSchema = z.union([
94
z.literal('air'),
@@ -146,13 +141,3 @@ export const transportSubmodeSchema = z.union([
146141
]);
147142

148143
export type TransportSubmodeType = z.infer<typeof transportSubmodeSchema>;
149-
150-
export type TransportModeGroup = {
151-
transportMode: TransportModeType;
152-
transportSubModes?: TransportSubmodeType[];
153-
};
154-
155-
export type NewTransportModeGroup = {
156-
transportMode: NewTransportModeType;
157-
transportSubModes?: NewTransportSubmodeType[];
158-
};

src/modules/transport-mode/utils.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { ComponentText } from '@atb/translations';
22
import {
3-
TransportModeGroup,
43
transportModeSchema,
54
TransportModeType,
65
transportSubmodeSchema,
@@ -21,13 +20,6 @@ export function transportModeToTranslatedString(
2120
}
2221
return text;
2322
}
24-
export function severalTransportModesToTranslatedStrings(
25-
modes: TransportModeGroup[],
26-
) {
27-
return modes
28-
.filter((mode) => !!mode.transportMode) // Remove the ! from mode.transportMode! below if this line is removed
29-
.map((mode) => ComponentText.TransportMode.modes[mode.transportMode!]);
30-
}
3123

3224
export function isTransportModeType(a: any): a is TransportModeType {
3325
return transportModeSchema.safeParse(a).success;

src/page-modules/assistant/server/journey-planner/index.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,10 @@ import {
4646
TripsNonTransitDocument,
4747
} from '@atb/page-modules/assistant/journey-gql/non-transit-trip.generated';
4848
import { MEDIUM_WALK_SPEED } from '@atb/page-modules/assistant/walk-speed-input';
49-
import { NewTransportModeGroup } from '@atb/modules/transport-mode';
5049
import {
5150
StreetMode,
52-
TransportMode,
5351
TransportModes,
54-
TransportSubmode,
5552
} from '@atb/modules/graphql-types/journeyplanner-types_v3.generated.ts';
56-
import { enumFromString } from '@atb/utils/enum-from-string.ts';
57-
import { isDefined } from '@atb/utils/presence.ts';
58-
59-
type AssertSameEnum<T1, T2> = T1 extends T2
60-
? T2 extends T1
61-
? true
62-
: never
63-
: never;
6453

6554
type JourneyModes = {
6655
accessMode: StreetMode;
Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,41 @@
1-
import { NewTransportModeGroup } from '@atb/modules/transport-mode';
21
import {
32
TransportMode,
43
TransportModes,
54
TransportSubmode,
65
} from '@atb/modules/graphql-types/journeyplanner-types_v3.generated.ts';
76
import { enumFromString } from '@atb/utils/enum-from-string.ts';
87
import { isDefined } from '@atb/utils/presence.ts';
8+
import { getTransportModeFilter } from '@atb/modules/firebase/transport-mode-filter.ts';
9+
import { uniq } from 'lodash';
910

1011
/**
1112
* Maps from TransportModeType in config-specs (used in the UI)
1213
* to JourneyPlanner v3 TransportModes (used in the GraphQL call)
1314
*
1415
* These are almost the same, except for the "unknown" value
1516
*/
16-
export function mapToJourneyPlannerTransportModes(
17-
groups?: NewTransportModeGroup[],
18-
): TransportModes[] {
19-
return (
20-
groups?.map((transportModeGroup) => ({
21-
transportMode: enumFromString(
22-
TransportMode,
23-
transportModeGroup.transportMode,
24-
),
25-
transportSubModes:
26-
transportModeGroup.transportSubModes
27-
?.map((subMode) => enumFromString(TransportSubmode, subMode))
28-
.filter(isDefined) ?? [],
29-
})) ?? []
17+
export async function mapToJourneyPlannerTransportModes(
18+
filterOptions?: string[] | null,
19+
): Promise<TransportModes[]> {
20+
const transportModeFilters = await getTransportModeFilter();
21+
if (!transportModeFilters) return [];
22+
23+
const filters = transportModeFilters.filter(
24+
(option) => !filterOptions || filterOptions.includes(option.id),
3025
);
26+
27+
const transportModes =
28+
filters
29+
.flatMap((option) => option.modes)
30+
.map((transportModeGroup) => ({
31+
transportMode: enumFromString(
32+
TransportMode,
33+
transportModeGroup.transportMode,
34+
),
35+
transportSubModes: transportModeGroup.transportSubModes
36+
?.map((subMode) => enumFromString(TransportSubmode, subMode))
37+
.filter(isDefined),
38+
})) ?? [];
39+
40+
return uniq(transportModes);
3141
}

src/pages/api/assistant/trip.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { errorResultAsJson, tryResult } from '@atb/modules/api-server';
2-
import { getAllTransportModesFromFilterOptions } from '@atb/modules/transport-mode';
32
import {
43
fetchFromToTripQuery,
54
type TripApiReturnType,
@@ -24,9 +23,7 @@ export default handlerWithAssistantClient<TripApiReturnType>({
2423
}
2524

2625
const journeyPlannerTransportModes =
27-
await getAllTransportModesFromFilterOptions(
28-
tripQuery.transportModeFilter,
29-
).then(mapToJourneyPlannerTransportModes);
26+
await mapToJourneyPlannerTransportModes(tripQuery.transportModeFilter);
3027

3128
return tryResult(req, res, async () => {
3229
const result = await client.trip({

src/utils/env.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export const getServiceUrl = (
1919
serviceKey: string,
2020
required: boolean = false,
2121
): string => {
22+
console.log('Getting service URL for env', getEnv());
2223
if (getEnv() === 'dev') return API_BASE_URL ?? '';
2324
// Don't use internal services in Vercel for preview branches
2425
if (process.env.VERCEL === '1') return API_BASE_URL ?? '';

0 commit comments

Comments
 (0)