Commit 5d2a1cde authored by Omar Luna Hernández's avatar Omar Luna Hernández
Browse files

Se le da formato y se corrige un campo incorrecto

parent 8c38941c
Loading
Loading
Loading
Loading
+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;
  }
}