Loading mobile/src/infrastructure/datasource/prod/route_datasource.ts 0 → 100644 +27 −0 Original line number Diff line number Diff line import axios from "axios"; import { ActivityRouteEntity } from "../../../activity/domain/entities/activity_info_entity"; import { RouteDataSource } from "../../../domain/datasources/route_datasource"; import { API_URL } from "../../../common/constants/api"; import { ActivityRouteModel } from "../../models/prod/route_activity_model"; import { activityRouteModelToActivityRouteEntity } from "../../utils/route_utils"; export class RouteDatasourceProd implements RouteDataSource { private readonly language: string; constructor(language: string) { this.language = language; } async generateRoute(townId: number): Promise<ActivityRouteEntity[]>{ const {data, status} = await axios.get<ActivityRouteModel[]>(`${API_URL}/route/recommend/${townId}?lang=${this.language}`); if (status !== 200) { throw new Error('Error fetching route'); } return data.map(activityRouteModelToActivityRouteEntity); }; async getRoute(routeId: number): Promise<ActivityRouteEntity[]> { throw new Error('Method not implemented.'); } } // /state/state_id/town/town_id/activity/activity_id/travel?id=id_point_of_interest No newline at end of file Loading
mobile/src/infrastructure/datasource/prod/route_datasource.ts 0 → 100644 +27 −0 Original line number Diff line number Diff line import axios from "axios"; import { ActivityRouteEntity } from "../../../activity/domain/entities/activity_info_entity"; import { RouteDataSource } from "../../../domain/datasources/route_datasource"; import { API_URL } from "../../../common/constants/api"; import { ActivityRouteModel } from "../../models/prod/route_activity_model"; import { activityRouteModelToActivityRouteEntity } from "../../utils/route_utils"; export class RouteDatasourceProd implements RouteDataSource { private readonly language: string; constructor(language: string) { this.language = language; } async generateRoute(townId: number): Promise<ActivityRouteEntity[]>{ const {data, status} = await axios.get<ActivityRouteModel[]>(`${API_URL}/route/recommend/${townId}?lang=${this.language}`); if (status !== 200) { throw new Error('Error fetching route'); } return data.map(activityRouteModelToActivityRouteEntity); }; async getRoute(routeId: number): Promise<ActivityRouteEntity[]> { throw new Error('Method not implemented.'); } } // /state/state_id/town/town_id/activity/activity_id/travel?id=id_point_of_interest No newline at end of file