Loading web/src/data/datasources/prod/admin_datasource.ts +48 −30 Original line number Diff line number Diff line import axios from "axios"; import { AdminDatasourceInf } from "../../../infraestructure/datasources/admin_datasource"; import { Admin, AdminFormValues } from "../../../infraestructure/entities/admin_form_values"; import { Admin, AdminFormValues, } from "../../../infraestructure/entities/admin_form_values"; import { APIUrl } from "../../../constants/api_url"; import { AdminModel } from "../../models/prod/AdminModel"; import { UserRole } from "../../../constants/roles"; import { API_ROUTE_ADMIN, API_ROUTE_ADMIN_CHANGE_PASSWORD, API_ROUTE_ADMIN_SIGNUP, API_ROUTE_ADMIN_WHOAMI } from "../../../constants/api_routes"; import { API_ROUTE_ADMIN, API_ROUTE_ADMIN_CHANGE_PASSWORD, API_ROUTE_ADMIN_SIGNUP, API_ROUTE_ADMIN_WHOAMI, } from "../../../constants/api_routes"; export class AdminDatasourceProd implements AdminDatasourceInf { async registerAdmin(form: AdminFormValues): Promise<void> { await axios.post( APIUrl + API_ROUTE_ADMIN_SIGNUP, { await axios.post(APIUrl + API_ROUTE_ADMIN_SIGNUP, { email: form.email, idTowm: form.townAdmin, idTown: form.townAdmin, password: form.password, name: form.name, lastName: form.lastName } ); lastName: form.lastName, }); } async getAdminInfo(token: string): Promise<Admin> { const {data} = await axios.get<AdminModel>(APIUrl + API_ROUTE_ADMIN_WHOAMI,{ const { data } = await axios.get<AdminModel>( APIUrl + API_ROUTE_ADMIN_WHOAMI, { headers: { 'Authorization': `Bearer ${token}` Authorization: `Bearer ${token}`, }, } }); ); const admin: Admin = { email: data.email, name: data.name, lastName: data.lastName, role: data.role === UserRole.SUPERADMIN ? UserRole.SUPERADMIN : UserRole.ADMIN, idTown: data.idTown } role: data.role === UserRole.SUPERADMIN ? UserRole.SUPERADMIN : UserRole.ADMIN, idTown: data.idTown, }; return admin; } async changePassword(token: string, prevPassword: string, newPassword: string): Promise<void> { await axios.post(APIUrl + API_ROUTE_ADMIN_CHANGE_PASSWORD, async changePassword( token: string, prevPassword: string, newPassword: string ): Promise<void> { await axios.post( APIUrl + API_ROUTE_ADMIN_CHANGE_PASSWORD, { prevPassword: prevPassword, newPassword: newPassword newPassword: newPassword, }, { headers: { 'Authorization': `Bearer ${token}` } Authorization: `Bearer ${token}`, }, } ); } async getAdminsByTown(idTown: number): Promise<Admin[]> { const {data} = await axios.get<AdminModel[]>(APIUrl + API_ROUTE_ADMIN + `/${idTown}`); const { data } = await axios.get<AdminModel[]>( APIUrl + API_ROUTE_ADMIN + `/${idTown}` ); const admins: Admin[] = data.map((admin): Admin => { return { email: admin.email, idTown: admin.idTown, name: admin.name, lastName: admin.lastName, status: admin.status status: admin.status, }; }) }); return admins; } } Loading
web/src/data/datasources/prod/admin_datasource.ts +48 −30 Original line number Diff line number Diff line import axios from "axios"; import { AdminDatasourceInf } from "../../../infraestructure/datasources/admin_datasource"; import { Admin, AdminFormValues } from "../../../infraestructure/entities/admin_form_values"; import { Admin, AdminFormValues, } from "../../../infraestructure/entities/admin_form_values"; import { APIUrl } from "../../../constants/api_url"; import { AdminModel } from "../../models/prod/AdminModel"; import { UserRole } from "../../../constants/roles"; import { API_ROUTE_ADMIN, API_ROUTE_ADMIN_CHANGE_PASSWORD, API_ROUTE_ADMIN_SIGNUP, API_ROUTE_ADMIN_WHOAMI } from "../../../constants/api_routes"; import { API_ROUTE_ADMIN, API_ROUTE_ADMIN_CHANGE_PASSWORD, API_ROUTE_ADMIN_SIGNUP, API_ROUTE_ADMIN_WHOAMI, } from "../../../constants/api_routes"; export class AdminDatasourceProd implements AdminDatasourceInf { async registerAdmin(form: AdminFormValues): Promise<void> { await axios.post( APIUrl + API_ROUTE_ADMIN_SIGNUP, { await axios.post(APIUrl + API_ROUTE_ADMIN_SIGNUP, { email: form.email, idTowm: form.townAdmin, idTown: form.townAdmin, password: form.password, name: form.name, lastName: form.lastName } ); lastName: form.lastName, }); } async getAdminInfo(token: string): Promise<Admin> { const {data} = await axios.get<AdminModel>(APIUrl + API_ROUTE_ADMIN_WHOAMI,{ const { data } = await axios.get<AdminModel>( APIUrl + API_ROUTE_ADMIN_WHOAMI, { headers: { 'Authorization': `Bearer ${token}` Authorization: `Bearer ${token}`, }, } }); ); const admin: Admin = { email: data.email, name: data.name, lastName: data.lastName, role: data.role === UserRole.SUPERADMIN ? UserRole.SUPERADMIN : UserRole.ADMIN, idTown: data.idTown } role: data.role === UserRole.SUPERADMIN ? UserRole.SUPERADMIN : UserRole.ADMIN, idTown: data.idTown, }; return admin; } async changePassword(token: string, prevPassword: string, newPassword: string): Promise<void> { await axios.post(APIUrl + API_ROUTE_ADMIN_CHANGE_PASSWORD, async changePassword( token: string, prevPassword: string, newPassword: string ): Promise<void> { await axios.post( APIUrl + API_ROUTE_ADMIN_CHANGE_PASSWORD, { prevPassword: prevPassword, newPassword: newPassword newPassword: newPassword, }, { headers: { 'Authorization': `Bearer ${token}` } Authorization: `Bearer ${token}`, }, } ); } async getAdminsByTown(idTown: number): Promise<Admin[]> { const {data} = await axios.get<AdminModel[]>(APIUrl + API_ROUTE_ADMIN + `/${idTown}`); const { data } = await axios.get<AdminModel[]>( APIUrl + API_ROUTE_ADMIN + `/${idTown}` ); const admins: Admin[] = data.map((admin): Admin => { return { email: admin.email, idTown: admin.idTown, name: admin.name, lastName: admin.lastName, status: admin.status status: admin.status, }; }) }); return admins; } }