diff --git a/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/AdminDto.cs b/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/AdminDto.cs
index a6f78be..985ff27 100644
--- a/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/AdminDto.cs
+++ b/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/AdminDto.cs
@@ -2,7 +2,7 @@
namespace MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
-public class CreateAdminDto
+public class CreateUpdateAdminDto
{
public Guid Id { get; set; }
public string? Extra { get; set; }
diff --git a/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MenteeDto.cs b/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MenteeDto.cs
index 4c61c2c..2ae1537 100644
--- a/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MenteeDto.cs
+++ b/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MenteeDto.cs
@@ -2,7 +2,7 @@
namespace MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
-public class CreateMenteeDto
+public class CreateUpdateMenteeDto
{
public Guid Id { get; set; }
public string? Extra { get; set; }
diff --git a/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MentorDto.cs b/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MentorDto.cs
index 822cd0e..ca10ad1 100644
--- a/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MentorDto.cs
+++ b/backend/BuildingBlocks/MentorConnect.BuildingBlocks.SharedKernel/DTOs/Users/MentorDto.cs
@@ -2,7 +2,7 @@
namespace MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
-public class CreateMentorDto
+public class CreateUpdateMentorDto
{
public Guid Id { get; set; }
public string? Extra { get; set; }
diff --git a/backend/MentorConnect.API/MentorConnect.API.csproj b/backend/MentorConnect.API/MentorConnect.API.csproj
index ea3c53d..8e8dcd3 100644
--- a/backend/MentorConnect.API/MentorConnect.API.csproj
+++ b/backend/MentorConnect.API/MentorConnect.API.csproj
@@ -16,6 +16,7 @@
all
+
diff --git a/backend/Modules/Users/MentorConnect.Users.API/Controllers/AdminControllers.cs b/backend/Modules/Users/MentorConnect.Users.API/Controllers/AdminControllers.cs
new file mode 100644
index 0000000..e5072a2
--- /dev/null
+++ b/backend/Modules/Users/MentorConnect.Users.API/Controllers/AdminControllers.cs
@@ -0,0 +1,51 @@
+using System;
+using MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
+using MentorConnect.Users.Application.Contracts;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MentorConnect.Users.API.Controllers;
+
+[Route("api/admins")]
+[ApiController]
+public class AdminControllers(IUserServices userServices) : ControllerBase
+{
+ private readonly IUserServices _userServices = userServices;
+ [HttpGet]
+ public async Task>> GetAdmins()
+ {
+ return await _userServices.GetAllAdmins();
+ }
+ [HttpGet("{id:guid}")]
+ public async Task> GetAdminById([FromRoute] Guid id)
+ {
+ var allAdmins = await _userServices.GetAllAdmins();
+ var result = allAdmins.FirstOrDefault(admin => admin.Id == id);
+ if (result == null)
+ {
+ return NotFound();
+ }
+ return result;
+ }
+ [HttpPost]
+ public async Task> AddAdmin([FromBody] CreateUpdateAdminDto admin)
+ {
+ var result = await _userServices.AddAdmin(admin);
+ return result;
+ }
+ [HttpPut("{id:guid}")]
+ public async Task UpdateAdmin([FromRoute] Guid id, [FromBody] CreateUpdateAdminDto admin)
+ {
+ if (id != admin.Id)
+ {
+ return BadRequest();
+ }
+ await _userServices.UpdateAdmin(admin);
+ return NoContent();
+ }
+ [HttpDelete("{id:guid}")]
+ public async Task DeleteAdmin([FromRoute] Guid id)
+ {
+ await _userServices.DeleteAdmin(id);
+ return NoContent();
+ }
+}
diff --git a/backend/Modules/Users/MentorConnect.Users.API/Controllers/Controllers.cs b/backend/Modules/Users/MentorConnect.Users.API/Controllers/Controllers.cs
deleted file mode 100644
index 3890c8b..0000000
--- a/backend/Modules/Users/MentorConnect.Users.API/Controllers/Controllers.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
-using MentorConnect.Users.Application.Contracts;
-using MentorConnect.Users.Application.Services;
-using MentorConnect.Users.Domain.Entities;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
-
-namespace MentorConnect.Users.API.Controllers
-{
- [Route("api/users")]
- [ApiController]
- public class UsersController(IUserServices userServices) : ControllerBase
- {
- private readonly IUserServices _userServices = userServices;
- [HttpGet]
- public async Task>> GetUsers()
- {
- return await _userServices.GetAllUsers();
- }
- [HttpGet("mentors")]
- public async Task>> GetMentors()
- {
- return await _userServices.GetAllMentors();
- }
- [HttpGet("admins")]
- public async Task>> GetAdmins()
- {
- return await _userServices.GetAllAdmins();
- }
- [HttpGet("mentees")]
- public async Task>> GetMentees()
- {
- return await _userServices.GetAllMentees();
- }
- [HttpGet("{id}")]
- public async Task> GetUserById([FromRoute] Guid id)
- {
- GetUserDto? user = await _userServices.GetUserById(id);
- if (user == null)
- {
- return NotFound();
- }
- return user;
- }
- [HttpPost]
- public async Task> AddUser([FromBody] CreateUserDto user)
- {
- var result = await _userServices.AddUser(user);
- return result;
- }
- [HttpPost("admins")]
- public async Task> AddAdmin([FromBody] CreateAdminDto admin)
- {
- var result = await _userServices.AddAdmin(admin);
- return result;
- }
- [HttpPut("{id}")]
- public async Task UpdateUser([FromRoute] Guid id, [FromBody] UpdateUserDto user)
- {
- if (id != user.Id)
- {
- return BadRequest();
- }
- await _userServices.UpdateUser(user);
- return NoContent();
- }
- [HttpDelete("{id}")]
- public async Task DeleteUser([FromRoute] Guid id)
- {
- await _userServices.DeleteUser(id);
- return NoContent();
- }
- }
-}
diff --git a/backend/Modules/Users/MentorConnect.Users.API/Controllers/MenteeControllers.cs b/backend/Modules/Users/MentorConnect.Users.API/Controllers/MenteeControllers.cs
new file mode 100644
index 0000000..34477a9
--- /dev/null
+++ b/backend/Modules/Users/MentorConnect.Users.API/Controllers/MenteeControllers.cs
@@ -0,0 +1,50 @@
+using System;
+using MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
+using MentorConnect.Users.Application.Contracts;
+using Microsoft.AspNetCore.Mvc;
+namespace MentorConnect.Users.API.Controllers;
+
+[Route("api/mentees")]
+[ApiController]
+public class MenteeControllers(IUserServices userServices) : ControllerBase
+{
+ private readonly IUserServices _userServices = userServices;
+ [HttpGet]
+ public async Task>> GetMentees()
+ {
+ return await _userServices.GetAllMentees();
+ }
+ [HttpGet("{id:guid}")]
+ public async Task> GetMenteeById([FromRoute] Guid id)
+ {
+ var allMentees = await _userServices.GetAllMentees();
+ var result = allMentees.FirstOrDefault(mentee => mentee.Id == id);
+ if (result == null)
+ {
+ return NotFound();
+ }
+ return result;
+ }
+ [HttpPost]
+ public async Task> AddMentee([FromBody] CreateUpdateMenteeDto mentee)
+ {
+ var result = await _userServices.AddMentee(mentee);
+ return result;
+ }
+ [HttpPut("{id:guid}")]
+ public async Task UpdateMentee([FromRoute] Guid id, [FromBody] CreateUpdateMenteeDto mentee)
+ {
+ if (id != mentee.Id)
+ {
+ return BadRequest();
+ }
+ await _userServices.UpdateMentee(mentee);
+ return NoContent();
+ }
+ [HttpDelete("{id:guid}")]
+ public async Task DeleteMentee([FromRoute] Guid id)
+ {
+ await _userServices.DeleteMentee(id);
+ return NoContent();
+ }
+}
\ No newline at end of file
diff --git a/backend/Modules/Users/MentorConnect.Users.API/Controllers/MentorControllers.cs b/backend/Modules/Users/MentorConnect.Users.API/Controllers/MentorControllers.cs
new file mode 100644
index 0000000..d63b883
--- /dev/null
+++ b/backend/Modules/Users/MentorConnect.Users.API/Controllers/MentorControllers.cs
@@ -0,0 +1,49 @@
+using System;
+using MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
+using MentorConnect.Users.Application.Contracts;
+using Microsoft.AspNetCore.Mvc;
+namespace MentorConnect.Users.API.Controllers;
+[Route("api/mentors")]
+[ApiController]
+public class MentorControllers(IUserServices userServices) : ControllerBase
+{
+ private readonly IUserServices _userServices = userServices;
+ [HttpGet]
+ public async Task>> GetMentors()
+ {
+ return await _userServices.GetAllMentors();
+ }
+ [HttpGet("{id:guid}")]
+ public async Task> GetMentorById([FromRoute] Guid id)
+ {
+ var allMentors = await _userServices.GetAllMentors();
+ var result = allMentors.FirstOrDefault(mentor => mentor.Id == id);
+ if (result == null)
+ {
+ return NotFound();
+ }
+ return result;
+ }
+ [HttpPost]
+ public async Task> AddMentor([FromBody] CreateUpdateMentorDto mentor)
+ {
+ var result = await _userServices.AddMentor(mentor);
+ return result;
+ }
+ [HttpPut("{id:guid}")]
+ public async Task UpdateMentor([FromRoute] Guid id, [FromBody] CreateUpdateMentorDto mentor)
+ {
+ if (id != mentor.Id)
+ {
+ return BadRequest();
+ }
+ await _userServices.UpdateMentor(mentor);
+ return NoContent();
+ }
+ [HttpDelete("{id:guid}")]
+ public async Task DeleteMentor([FromRoute] Guid id)
+ {
+ await _userServices.DeleteMentor(id);
+ return NoContent();
+ }
+}
\ No newline at end of file
diff --git a/backend/Modules/Users/MentorConnect.Users.API/Controllers/UserControllers.cs b/backend/Modules/Users/MentorConnect.Users.API/Controllers/UserControllers.cs
new file mode 100644
index 0000000..25b5031
--- /dev/null
+++ b/backend/Modules/Users/MentorConnect.Users.API/Controllers/UserControllers.cs
@@ -0,0 +1,51 @@
+using System;
+using MentorConnect.BuildingBlocks.SharedKernel.DTOs.Users;
+using MentorConnect.Users.Application.Contracts;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MentorConnect.Users.API.Controllers;
+
+[Route("api/users")]
+[ApiController]
+public class UserController(IUserServices userServices) : ControllerBase
+{
+ private readonly IUserServices _userServices = userServices;
+ [HttpGet]
+ public async Task>> GetUsers()
+ {
+ return await _userServices.GetAllUsers();
+ }
+
+ [HttpGet("{id:guid}")]
+ public async Task> GetUserById([FromRoute] Guid id)
+ {
+ GetUserDto? user = await _userServices.GetUserById(id);
+ if (user == null)
+ {
+ return NotFound();
+ }
+ return user;
+ }
+ [HttpPost]
+ public async Task> AddUser([FromBody] CreateUserDto user)
+ {
+ var result = await _userServices.AddUser(user);
+ return result;
+ }
+ [HttpPut("{id:guid}")]
+ public async Task UpdateUser([FromRoute] Guid id, [FromBody] UpdateUserDto user)
+ {
+ if (id != user.Id)
+ {
+ return BadRequest();
+ }
+ await _userServices.UpdateUser(user);
+ return NoContent();
+ }
+ [HttpDelete("{id:guid}")]
+ public async Task DeleteUser([FromRoute] Guid id)
+ {
+ await _userServices.DeleteUser(id);
+ return NoContent();
+ }
+}
diff --git a/backend/Modules/Users/MentorConnect.Users.Application/Contracts/IUserServices.cs b/backend/Modules/Users/MentorConnect.Users.Application/Contracts/IUserServices.cs
index 2bad46d..1e6b97c 100644
--- a/backend/Modules/Users/MentorConnect.Users.Application/Contracts/IUserServices.cs
+++ b/backend/Modules/Users/MentorConnect.Users.Application/Contracts/IUserServices.cs
@@ -12,9 +12,15 @@ public interface IUserServices
Task> GetAllAdmins();
Task GetUserById(Guid id);
Task AddUser(CreateUserDto userInfo);
- Task AddAdmin(CreateAdminDto adminInfo);
- Task AddMentee(CreateMenteeDto menteeInfo);
- Task AddMentor(CreateMentorDto mentorInfo);
+ Task AddAdmin(CreateUpdateAdminDto adminInfo);
+ Task AddMentee(CreateUpdateMenteeDto menteeInfo);
+ Task AddMentor(CreateUpdateMentorDto mentorInfo);
Task UpdateUser(UpdateUserDto userInfo);
Task DeleteUser(Guid id);
+ Task UpdateAdmin(CreateUpdateAdminDto adminInfo);
+ Task DeleteAdmin(Guid id);
+ Task UpdateMentor(CreateUpdateMentorDto mentorInfo);
+ Task DeleteMentor(Guid id);
+ Task UpdateMentee(CreateUpdateMenteeDto menteeInfo);
+ Task DeleteMentee(Guid id);
}
diff --git a/backend/Modules/Users/MentorConnect.Users.Application/Mapper/AdminProfile.cs b/backend/Modules/Users/MentorConnect.Users.Application/Mapper/AdminProfile.cs
index e3e2b68..fa174c7 100644
--- a/backend/Modules/Users/MentorConnect.Users.Application/Mapper/AdminProfile.cs
+++ b/backend/Modules/Users/MentorConnect.Users.Application/Mapper/AdminProfile.cs
@@ -12,6 +12,6 @@ public AdminProfile()
CreateMap()
.ForMember(dest => dest.User, opt => opt.MapFrom(src => src.User));
CreateMap();
- CreateMap();
+ CreateMap();
}
}
diff --git a/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MenteeProfile.cs b/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MenteeProfile.cs
index 3ccb7a7..0dfaa96 100644
--- a/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MenteeProfile.cs
+++ b/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MenteeProfile.cs
@@ -12,6 +12,6 @@ public MenteeProfile()
CreateMap()
.ForMember(dest => dest.User, opt => opt.MapFrom(src => src.User));
CreateMap();
- CreateMap();
+ CreateMap();
}
}
diff --git a/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MentorProfile.cs b/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MentorProfile.cs
index b6ac06d..a4ff382 100644
--- a/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MentorProfile.cs
+++ b/backend/Modules/Users/MentorConnect.Users.Application/Mapper/MentorProfile.cs
@@ -12,6 +12,6 @@ public MentorProfile()
CreateMap()
.ForMember(dest => dest.User, opt => opt.MapFrom(src => src.User));
CreateMap();
- CreateMap();
+ CreateMap();
}
}
diff --git a/backend/Modules/Users/MentorConnect.Users.Application/Services/UserServices.cs b/backend/Modules/Users/MentorConnect.Users.Application/Services/UserServices.cs
index f1caacc..a4355b0 100644
--- a/backend/Modules/Users/MentorConnect.Users.Application/Services/UserServices.cs
+++ b/backend/Modules/Users/MentorConnect.Users.Application/Services/UserServices.cs
@@ -77,7 +77,7 @@ public async Task AddUser(CreateUserDto userInfo)
}
return result;
}
- public async Task AddAdmin(CreateAdminDto adminInfo)
+ public async Task AddAdmin(CreateUpdateAdminDto adminInfo)
{
var admin = _mapper.Map(adminInfo);
admin.CreateTime();
@@ -85,7 +85,7 @@ public async Task AddAdmin(CreateAdminDto adminInfo)
var result = _mapper.Map(admin);
return result;
}
- public async Task AddMentor(CreateMentorDto mentorInfo)
+ public async Task AddMentor(CreateUpdateMentorDto mentorInfo)
{
var mentor = _mapper.Map(mentorInfo);
mentor.CreateTime();
@@ -93,7 +93,7 @@ public async Task AddMentor(CreateMentorDto mentorInfo)
var result = _mapper.Map(mentor);
return result;
}
- public async Task AddMentee(CreateMenteeDto menteeInfo)
+ public async Task AddMentee(CreateUpdateMenteeDto menteeInfo)
{
var mentee = _mapper.Map(menteeInfo);
mentee.CreateTime();
@@ -113,4 +113,33 @@ public async Task DeleteUser(Guid id)
await _userRepository.DeleteAsync(id);
}
+ public Task UpdateAdmin(CreateUpdateAdminDto adminInfo)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task DeleteAdmin(Guid id)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task UpdateMentor(CreateUpdateMentorDto mentorInfo)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task DeleteMentor(Guid id)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task UpdateMentee(CreateUpdateMenteeDto menteeInfo)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Task DeleteMentee(Guid id)
+ {
+ throw new NotImplementedException();
+ }
}