This commit is contained in:
andrei-mihnea-cerbu
2024-04-08 13:37:58 +03:00
parent 333ad8be09
commit 370bbdedcd
164 changed files with 3915 additions and 161 deletions
@@ -0,0 +1,129 @@
using HealthcareManagerUI.Models;
using HealthcareManagerUI.Services.Http;
namespace HealthcareManagerUI.Services.Authentication;
// In AuthenticationService.cs
public class AuthenticationService : IAuthenticationService
{
private readonly IHttpService _httpService;
private readonly string _apiUrl = "http://localhost:5151/api";
public AuthenticationService(IHttpService httpService)
{
_httpService = httpService;
}
public async Task<BaseResponse> LoginDoctor(UserLoginModel userLoginModel)
{
try
{
var response = await _httpService.PostAsync<BaseResponse>($"{_apiUrl}/Doctors/login", userLoginModel);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = 400,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> LoginPatient(UserLoginModel userLoginModel)
{
try
{
var response = await _httpService.PostAsync<BaseResponse>($"{_apiUrl}/Patients/login", userLoginModel);
return response;
}
catch (Exception ex)
{
return new BaseResponse {
StatusCode = 400,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> RegisterDoctor(UserRegisterModel userRegistrationModel)
{
try
{
var response = await _httpService.PostAsync<BaseResponse>($"{_apiUrl}/Doctors/register", userRegistrationModel);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = 400,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> RegisterPatient(UserRegisterModel userRegisterModel)
{
var patientRegisterDto = new PatientRegisterModel
{
Name = userRegisterModel.Name,
Email = userRegisterModel.Email,
Password = userRegisterModel.Password
};
try
{
var response = await _httpService.PostAsync<BaseResponse>($"{_apiUrl}/Patients/register", userRegisterModel);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = 400,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> ResetDoctorPassword(UserRegisterModel userResetPasswordModel)
{
try
{
var response = await _httpService.PostAsync<BaseResponse>($"{_apiUrl}/Doctors/reset_password", userResetPasswordModel);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = 400,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> ResetPatientPassword(UserRegisterModel userResetPasswordModel)
{
try
{
var response = await _httpService.PostAsync<BaseResponse>($"{_apiUrl}/Patients/reset_password", userResetPasswordModel);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = 400,
Data = null,
Message = ex.Message
};
}
}
}
@@ -0,0 +1,18 @@
using HealthcareManagerUI.Models;
namespace HealthcareManagerUI.Services.Authentication;
public interface IAuthenticationService
{
Task<BaseResponse> LoginDoctor(UserLoginModel userLoginModel);
Task<BaseResponse> LoginPatient(UserLoginModel userLoginModel);
Task<BaseResponse> RegisterDoctor(UserRegisterModel userRegistrationModel);
Task<BaseResponse> RegisterPatient(UserRegisterModel userRegistrationModel);
Task<BaseResponse> ResetDoctorPassword(UserRegisterModel userResetPasswordModel);
Task<BaseResponse> ResetPatientPassword(UserRegisterModel userResetPasswordModel);
}