Loading web/src/data/datasources/prod/town_datasource.ts 0 → 100644 +43 −0 Original line number Diff line number Diff line import axios from "axios"; import { APIUrl } from "../../../constants/api_url"; import { TownDatasourceInf } from "../../../infraestructure/datasources/town_datasource"; import { StateModel } from "../../models/prod/StateModel"; import { State } from "../../../infraestructure/entities/state"; import { TownFormValues } from "../../../infraestructure/entities/town_form_values"; import UnauthorizedError from "../../../errors/UnautherizedError"; export class TownDatasourceProd implements TownDatasourceInf{ async getStates(): Promise<State[]> { const {data} = await axios.get<StateModel[]>(APIUrl+"/state"); const states = data.map((value) => { const state: State = { stateId : value.stateId, name: value.name, imageURL: value.imageURL } return state; }) return states; } async registerTown(form: TownFormValues): Promise<void> { const formToSend = new FormData; formToSend.append('name',form.name); formToSend.append('descriptionES',form.descriptionES); formToSend.append('descriptionEN',form.descriptionEN); formToSend.append('state', form.state); formToSend.append('image',form.imageURL); const headers = { 'Content-Type': 'multipart/form-data' }; const {status, data} = await axios.post(APIUrl + '/town', formToSend,{headers}); if (status === 401) { throw new UnauthorizedError({code: 401, message: 'Unauthorized'}); }else { console.log(data); } } } No newline at end of file Loading
web/src/data/datasources/prod/town_datasource.ts 0 → 100644 +43 −0 Original line number Diff line number Diff line import axios from "axios"; import { APIUrl } from "../../../constants/api_url"; import { TownDatasourceInf } from "../../../infraestructure/datasources/town_datasource"; import { StateModel } from "../../models/prod/StateModel"; import { State } from "../../../infraestructure/entities/state"; import { TownFormValues } from "../../../infraestructure/entities/town_form_values"; import UnauthorizedError from "../../../errors/UnautherizedError"; export class TownDatasourceProd implements TownDatasourceInf{ async getStates(): Promise<State[]> { const {data} = await axios.get<StateModel[]>(APIUrl+"/state"); const states = data.map((value) => { const state: State = { stateId : value.stateId, name: value.name, imageURL: value.imageURL } return state; }) return states; } async registerTown(form: TownFormValues): Promise<void> { const formToSend = new FormData; formToSend.append('name',form.name); formToSend.append('descriptionES',form.descriptionES); formToSend.append('descriptionEN',form.descriptionEN); formToSend.append('state', form.state); formToSend.append('image',form.imageURL); const headers = { 'Content-Type': 'multipart/form-data' }; const {status, data} = await axios.post(APIUrl + '/town', formToSend,{headers}); if (status === 401) { throw new UnauthorizedError({code: 401, message: 'Unauthorized'}); }else { console.log(data); } } } No newline at end of file