Loading web/src/data/datasources/prod/admin_datasource.ts +31 −2 Original line number Diff line number Diff line import axios from "axios"; import { AdminDatasourceInf } from "../../../infraestructure/datasources/admin_datasource"; import { 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"; export class AdminDatasourceProd implements AdminDatasourceInf{ async registerAdmin(form: AdminFormValues): Promise<void> { await axios.post( APIUrl + "/admin/signup", { email: form.email, idTowm: form.townAdmin, password: form.password, name: form.name, lastName: form.lastName } ); } async getAdminInfo(token: string): Promise<Admin> { const {data} = await axios.get<AdminModel>(APIUrl+'/admin/whoami',{ headers: { '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 } return admin; } } No newline at end of file web/src/data/repositories/prod/admin_repository.ts +6 −2 Original line number Diff line number Diff line import { AdminDatasourceInf } from "../../../infraestructure/datasources/admin_datasource"; import { AdminFormValues } from "../../../infraestructure/entities/admin_form_values"; import { Admin, AdminFormValues } from "../../../infraestructure/entities/admin_form_values"; import { AdminRepositoryInf } from "../../../infraestructure/repositories/admin_repository"; export class AdminRepositoryProd implements AdminRepositoryInf{ Loading @@ -10,4 +10,8 @@ export class AdminRepositoryProd implements AdminRepositoryInf{ async registerAdmin(form: AdminFormValues): Promise<void> { return this.datasource.registerAdmin(form); } async getAdminInfo(token: string): Promise<Admin> { return this.datasource.getAdminInfo(token); } } No newline at end of file web/src/infraestructure/datasources/admin_datasource.ts +3 −2 Original line number Diff line number Diff line import { AdminFormValues } from "../entities/admin_form_values"; import { Admin, AdminFormValues } from "../entities/admin_form_values"; export interface AdminDatasourceInf{ registerAdmin(form: AdminFormValues): Promise<void>; getAdminInfo(token: string): Promise<Admin>; } No newline at end of file web/src/infraestructure/repositories/admin_repository.ts +3 −2 Original line number Diff line number Diff line import { AdminFormValues } from "../entities/admin_form_values"; import { Admin, AdminFormValues } from "../entities/admin_form_values"; export interface AdminRepositoryInf{ registerAdmin(form: AdminFormValues): void; registerAdmin(form: AdminFormValues): Promise<void>; getAdminInfo(token: string): Promise<Admin>; } No newline at end of file Loading
web/src/data/datasources/prod/admin_datasource.ts +31 −2 Original line number Diff line number Diff line import axios from "axios"; import { AdminDatasourceInf } from "../../../infraestructure/datasources/admin_datasource"; import { 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"; export class AdminDatasourceProd implements AdminDatasourceInf{ async registerAdmin(form: AdminFormValues): Promise<void> { await axios.post( APIUrl + "/admin/signup", { email: form.email, idTowm: form.townAdmin, password: form.password, name: form.name, lastName: form.lastName } ); } async getAdminInfo(token: string): Promise<Admin> { const {data} = await axios.get<AdminModel>(APIUrl+'/admin/whoami',{ headers: { '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 } return admin; } } No newline at end of file
web/src/data/repositories/prod/admin_repository.ts +6 −2 Original line number Diff line number Diff line import { AdminDatasourceInf } from "../../../infraestructure/datasources/admin_datasource"; import { AdminFormValues } from "../../../infraestructure/entities/admin_form_values"; import { Admin, AdminFormValues } from "../../../infraestructure/entities/admin_form_values"; import { AdminRepositoryInf } from "../../../infraestructure/repositories/admin_repository"; export class AdminRepositoryProd implements AdminRepositoryInf{ Loading @@ -10,4 +10,8 @@ export class AdminRepositoryProd implements AdminRepositoryInf{ async registerAdmin(form: AdminFormValues): Promise<void> { return this.datasource.registerAdmin(form); } async getAdminInfo(token: string): Promise<Admin> { return this.datasource.getAdminInfo(token); } } No newline at end of file
web/src/infraestructure/datasources/admin_datasource.ts +3 −2 Original line number Diff line number Diff line import { AdminFormValues } from "../entities/admin_form_values"; import { Admin, AdminFormValues } from "../entities/admin_form_values"; export interface AdminDatasourceInf{ registerAdmin(form: AdminFormValues): Promise<void>; getAdminInfo(token: string): Promise<Admin>; } No newline at end of file
web/src/infraestructure/repositories/admin_repository.ts +3 −2 Original line number Diff line number Diff line import { AdminFormValues } from "../entities/admin_form_values"; import { Admin, AdminFormValues } from "../entities/admin_form_values"; export interface AdminRepositoryInf{ registerAdmin(form: AdminFormValues): void; registerAdmin(form: AdminFormValues): Promise<void>; getAdminInfo(token: string): Promise<Admin>; } No newline at end of file