Loading web/src/data/datasources/prod/poi_datasource.ts 0 → 100644 +59 −0 Original line number Diff line number Diff line import axios from "axios"; import { PoiDatasourceInf } from "../../../infraestructure/datasources/poi_repository"; import { PointOfInterest } from "../../../infraestructure/entities/poi"; import { APIUrl } from "../../../constants/api_url"; import { API_ROUTE_PLACE, API_ROUTE_POINT } from "../../../constants/api_routes"; import { POIModel, POIModelToEntity } from "../../models/prod/POIModel"; export class POIDatasourceProd implements PoiDatasourceInf{ async registerPoint(form: PointOfInterest): Promise<void> { const formToSend = new FormData(); formToSend.append('idPlace', String(form.idPlace)); formToSend.append('name', form.name); formToSend.append('image', form.image); formToSend.append('contentEN', form.contentEN); formToSend.append('contentES', form.contentES); formToSend.append('directionsEN', form.directionsEN); formToSend.append('directionsES', form.directionsES); const headers = { 'Content-Type': 'multipart/form-data' }; await axios.post(APIUrl + API_ROUTE_POINT, formToSend,{headers}); } async getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]> { const {data: dataES} = await axios.get<POIModel[]>(APIUrl + API_ROUTE_PLACE + `/${idPlace}` + API_ROUTE_POINT, { params: { lang: 'ES' } }); const poiList = dataES.map((dataESModel) => { return POIModelToEntity(dataESModel); }) return poiList; } async getPOIById(idPoint: number): Promise<PointOfInterest> { const {data: dataES} = await axios.get<POIModel>(APIUrl + API_ROUTE_POINT + `/${idPoint}`, { params: { lang: 'ES' } }); const {data: dataEN} = await axios.get<POIModel>(APIUrl + API_ROUTE_POINT + `/${idPoint}`, { params: { lang: 'EN' } }); const poi: PointOfInterest = POIModelToEntity(dataES); poi.contentEN = dataEN.content; poi.directionsEN = dataEN.directions; return poi; } } No newline at end of file web/src/data/repositories/prod/poi_repository.ts 0 → 100644 +21 −0 Original line number Diff line number Diff line import { PoiDatasourceInf } from "../../../infraestructure/datasources/poi_repository"; import { PointOfInterest } from "../../../infraestructure/entities/poi"; import { PoiRepositoryInf } from "../../../infraestructure/repositories/poi_repository"; export class POIRepositoryProd implements PoiRepositoryInf{ constructor( private datasouce: PoiDatasourceInf ){} async registerPoint(form: PointOfInterest): Promise<void> { return this.datasouce.registerPoint(form); } async getPOIById(idPoint: number): Promise<PointOfInterest> { return this.datasouce.getPOIById(idPoint); } async getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]> { return this.datasouce.getPOIsByPlace(idPlace); } } No newline at end of file web/src/infraestructure/datasources/poi_repository.ts 0 → 100644 +7 −0 Original line number Diff line number Diff line import { PointOfInterest } from "../entities/poi"; export interface PoiDatasourceInf { registerPoint(form: PointOfInterest): Promise<void>; getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]>; getPOIById(idPoint: number): Promise<PointOfInterest>; } No newline at end of file web/src/infraestructure/repositories/poi_repository.ts 0 → 100644 +7 −0 Original line number Diff line number Diff line import { PointOfInterest } from "../entities/poi"; export interface PoiRepositoryInf { registerPoint(form: PointOfInterest): Promise<void>; getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]>; getPOIById(idPoint: number): Promise<PointOfInterest>; } No newline at end of file Loading
web/src/data/datasources/prod/poi_datasource.ts 0 → 100644 +59 −0 Original line number Diff line number Diff line import axios from "axios"; import { PoiDatasourceInf } from "../../../infraestructure/datasources/poi_repository"; import { PointOfInterest } from "../../../infraestructure/entities/poi"; import { APIUrl } from "../../../constants/api_url"; import { API_ROUTE_PLACE, API_ROUTE_POINT } from "../../../constants/api_routes"; import { POIModel, POIModelToEntity } from "../../models/prod/POIModel"; export class POIDatasourceProd implements PoiDatasourceInf{ async registerPoint(form: PointOfInterest): Promise<void> { const formToSend = new FormData(); formToSend.append('idPlace', String(form.idPlace)); formToSend.append('name', form.name); formToSend.append('image', form.image); formToSend.append('contentEN', form.contentEN); formToSend.append('contentES', form.contentES); formToSend.append('directionsEN', form.directionsEN); formToSend.append('directionsES', form.directionsES); const headers = { 'Content-Type': 'multipart/form-data' }; await axios.post(APIUrl + API_ROUTE_POINT, formToSend,{headers}); } async getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]> { const {data: dataES} = await axios.get<POIModel[]>(APIUrl + API_ROUTE_PLACE + `/${idPlace}` + API_ROUTE_POINT, { params: { lang: 'ES' } }); const poiList = dataES.map((dataESModel) => { return POIModelToEntity(dataESModel); }) return poiList; } async getPOIById(idPoint: number): Promise<PointOfInterest> { const {data: dataES} = await axios.get<POIModel>(APIUrl + API_ROUTE_POINT + `/${idPoint}`, { params: { lang: 'ES' } }); const {data: dataEN} = await axios.get<POIModel>(APIUrl + API_ROUTE_POINT + `/${idPoint}`, { params: { lang: 'EN' } }); const poi: PointOfInterest = POIModelToEntity(dataES); poi.contentEN = dataEN.content; poi.directionsEN = dataEN.directions; return poi; } } No newline at end of file
web/src/data/repositories/prod/poi_repository.ts 0 → 100644 +21 −0 Original line number Diff line number Diff line import { PoiDatasourceInf } from "../../../infraestructure/datasources/poi_repository"; import { PointOfInterest } from "../../../infraestructure/entities/poi"; import { PoiRepositoryInf } from "../../../infraestructure/repositories/poi_repository"; export class POIRepositoryProd implements PoiRepositoryInf{ constructor( private datasouce: PoiDatasourceInf ){} async registerPoint(form: PointOfInterest): Promise<void> { return this.datasouce.registerPoint(form); } async getPOIById(idPoint: number): Promise<PointOfInterest> { return this.datasouce.getPOIById(idPoint); } async getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]> { return this.datasouce.getPOIsByPlace(idPlace); } } No newline at end of file
web/src/infraestructure/datasources/poi_repository.ts 0 → 100644 +7 −0 Original line number Diff line number Diff line import { PointOfInterest } from "../entities/poi"; export interface PoiDatasourceInf { registerPoint(form: PointOfInterest): Promise<void>; getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]>; getPOIById(idPoint: number): Promise<PointOfInterest>; } No newline at end of file
web/src/infraestructure/repositories/poi_repository.ts 0 → 100644 +7 −0 Original line number Diff line number Diff line import { PointOfInterest } from "../entities/poi"; export interface PoiRepositoryInf { registerPoint(form: PointOfInterest): Promise<void>; getPOIsByPlace(idPlace: number): Promise<PointOfInterest[]>; getPOIById(idPoint: number): Promise<PointOfInterest>; } No newline at end of file