Loading web/src/data/datasources/prod/place_datasource.ts 0 → 100644 +31 −0 Original line number Diff line number Diff line import axios from "axios"; import { APIUrl } from "../../../constants/api_url"; import { PlaceDatasourceInf } from "../../../infraestructure/datasources/place_datasource"; import { AvailableDays, PlaceFormValues } from "../../../infraestructure/entities/place"; export class PlaceDatasourceProd implements PlaceDatasourceInf{ async registerPlace(form: PlaceFormValues): Promise<void> { const formToSend = new FormData(); formToSend.append('available', form.available); formToSend.append('idTown', String(form.idTown)); formToSend.append('name', form.name); formToSend.append('descriptionES', form.descriptions[0]); formToSend.append('descriptionEN', form.descriptions[1]); formToSend.append('image', form.imagesList[0]); formToSend.append('latitude', String(form.latitude)); formToSend.append('longitude', String(form.longitude)); formToSend.append('openAt', String(form.openAt)); formToSend.append('closeAt', String(form.closeAt)); if(form.available === AvailableDays.CUSTOM){ formToSend.append('startDate', String(form.startDate)); formToSend.append('endDate', String(form.endDate)); } const headers = { 'Content-Type': 'multipart/form-data' }; await axios.post(APIUrl + '/place', formToSend,{headers}); } } No newline at end of file web/src/data/repositories/prod/place_repository.ts 0 → 100644 +12 −0 Original line number Diff line number Diff line import { PlaceDatasourceInf } from "../../../infraestructure/datasources/place_datasource"; import { PlaceFormValues } from "../../../infraestructure/entities/place"; import { PlaceRepositoryInf } from "../../../infraestructure/repositories/place_repository"; export class PlaceRepositoryProd implements PlaceRepositoryInf{ constructor( private datasouce: PlaceDatasourceInf ){} async registerPlace(form: PlaceFormValues): Promise<void> { return this.datasouce.registerPlace(form); } } No newline at end of file web/src/hooks/usePlaceRegister.tsx +6 −1 Original line number Diff line number Diff line Loading @@ -7,6 +7,11 @@ import { languaguesList } from "../constants/languages"; import { useGetStatesList } from "./useGetStatesList"; import { useTown } from "./useTown"; import { MIN_NUMBER_PLACE_IMAGES } from "../constants/images_nuber"; import { PlaceDatasourceProd } from "../data/datasources/prod/place_datasource"; import { PlaceRepositoryProd } from "../data/repositories/prod/place_repository"; const placeDatasouce = new PlaceDatasourceProd(); const placeRepository = new PlaceRepositoryProd(placeDatasouce); const resolver: Resolver<PlaceFormValues> = async (data) => { const errors: FieldErrors<PlaceFormValues> = {}; Loading Loading @@ -175,7 +180,7 @@ export const usePlaceRegister = () => { const onSubmit : SubmitHandler<PlaceFormValues> = (data: PlaceFormValues) => { const fetch = async () => { try{ console.log(data); await placeRepository.registerPlace(data); }catch(error: any){ if(axios.isAxiosError(error)){ error as AxiosError; Loading web/src/infraestructure/datasources/place_datasource.ts 0 → 100644 +5 −0 Original line number Diff line number Diff line import { PlaceFormValues } from "../entities/place"; export interface PlaceDatasourceInf{ registerPlace(form: PlaceFormValues): Promise<void>; } No newline at end of file web/src/infraestructure/repositories/place_repository.ts 0 → 100644 +5 −0 Original line number Diff line number Diff line import { PlaceFormValues } from "../entities/place"; export interface PlaceRepositoryInf{ registerPlace(form: PlaceFormValues): Promise<void>; } No newline at end of file Loading
web/src/data/datasources/prod/place_datasource.ts 0 → 100644 +31 −0 Original line number Diff line number Diff line import axios from "axios"; import { APIUrl } from "../../../constants/api_url"; import { PlaceDatasourceInf } from "../../../infraestructure/datasources/place_datasource"; import { AvailableDays, PlaceFormValues } from "../../../infraestructure/entities/place"; export class PlaceDatasourceProd implements PlaceDatasourceInf{ async registerPlace(form: PlaceFormValues): Promise<void> { const formToSend = new FormData(); formToSend.append('available', form.available); formToSend.append('idTown', String(form.idTown)); formToSend.append('name', form.name); formToSend.append('descriptionES', form.descriptions[0]); formToSend.append('descriptionEN', form.descriptions[1]); formToSend.append('image', form.imagesList[0]); formToSend.append('latitude', String(form.latitude)); formToSend.append('longitude', String(form.longitude)); formToSend.append('openAt', String(form.openAt)); formToSend.append('closeAt', String(form.closeAt)); if(form.available === AvailableDays.CUSTOM){ formToSend.append('startDate', String(form.startDate)); formToSend.append('endDate', String(form.endDate)); } const headers = { 'Content-Type': 'multipart/form-data' }; await axios.post(APIUrl + '/place', formToSend,{headers}); } } No newline at end of file
web/src/data/repositories/prod/place_repository.ts 0 → 100644 +12 −0 Original line number Diff line number Diff line import { PlaceDatasourceInf } from "../../../infraestructure/datasources/place_datasource"; import { PlaceFormValues } from "../../../infraestructure/entities/place"; import { PlaceRepositoryInf } from "../../../infraestructure/repositories/place_repository"; export class PlaceRepositoryProd implements PlaceRepositoryInf{ constructor( private datasouce: PlaceDatasourceInf ){} async registerPlace(form: PlaceFormValues): Promise<void> { return this.datasouce.registerPlace(form); } } No newline at end of file
web/src/hooks/usePlaceRegister.tsx +6 −1 Original line number Diff line number Diff line Loading @@ -7,6 +7,11 @@ import { languaguesList } from "../constants/languages"; import { useGetStatesList } from "./useGetStatesList"; import { useTown } from "./useTown"; import { MIN_NUMBER_PLACE_IMAGES } from "../constants/images_nuber"; import { PlaceDatasourceProd } from "../data/datasources/prod/place_datasource"; import { PlaceRepositoryProd } from "../data/repositories/prod/place_repository"; const placeDatasouce = new PlaceDatasourceProd(); const placeRepository = new PlaceRepositoryProd(placeDatasouce); const resolver: Resolver<PlaceFormValues> = async (data) => { const errors: FieldErrors<PlaceFormValues> = {}; Loading Loading @@ -175,7 +180,7 @@ export const usePlaceRegister = () => { const onSubmit : SubmitHandler<PlaceFormValues> = (data: PlaceFormValues) => { const fetch = async () => { try{ console.log(data); await placeRepository.registerPlace(data); }catch(error: any){ if(axios.isAxiosError(error)){ error as AxiosError; Loading
web/src/infraestructure/datasources/place_datasource.ts 0 → 100644 +5 −0 Original line number Diff line number Diff line import { PlaceFormValues } from "../entities/place"; export interface PlaceDatasourceInf{ registerPlace(form: PlaceFormValues): Promise<void>; } No newline at end of file
web/src/infraestructure/repositories/place_repository.ts 0 → 100644 +5 −0 Original line number Diff line number Diff line import { PlaceFormValues } from "../entities/place"; export interface PlaceRepositoryInf{ registerPlace(form: PlaceFormValues): Promise<void>; } No newline at end of file