Commit 19b70b64 authored by Omar Luna Hernández's avatar Omar Luna Hernández
Browse files

Se crea la lógica que conecta a la API para obtener los administradores de un pueblo

parent a51f8279
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ import { Admin, AdminFormValues } from "../../../infraestructure/entities/admin_
import { APIUrl } from "../../../constants/api_url";
import { AdminModel } from "../../models/prod/AdminModel";
import { UserRole } from "../../../constants/roles";
import { 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> {
@@ -49,4 +49,18 @@ export class AdminDatasourceProd implements AdminDatasourceInf{
      }
    );
  }

  async getAdminsByTown(idTown: number): Promise<Admin[]> {
    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
      };
    })
    return admins;
  }
}
 No newline at end of file
+4 −0
Original line number Diff line number Diff line
@@ -18,4 +18,8 @@ export class AdminRepositoryProd implements AdminRepositoryInf{
  async changePassword(token: string, prevPassword: string, newPassword: string): Promise<void> {
    return this.datasource.changePassword(token, prevPassword, newPassword);
  }

  async getAdminsByTown(idTown: number): Promise<Admin[]> {
    return this.datasource.getAdminsByTown(idTown);
  }
}
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -4,4 +4,5 @@ export interface AdminDatasourceInf{
  registerAdmin(form: AdminFormValues): Promise<void>;
  getAdminInfo(token: string): Promise<Admin>;
  changePassword(token : string, prevPassword: string, newPassword: string): Promise<void>;
  getAdminsByTown(idTown: number): Promise<Admin[]>;
}
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -4,4 +4,5 @@ export interface AdminRepositoryInf{
  registerAdmin(form: AdminFormValues): Promise<void>;
  getAdminInfo(token: string): Promise<Admin>;
  changePassword(token : string, prevPassword: string, newPassword: string): Promise<void>;
  getAdminsByTown(idTown: number): Promise<Admin[]>;
}
 No newline at end of file