Files
TechHelper/TechHelper.Server/Controllers/UserController.cs
SpecialX 017cc2169c temp
2025-07-01 19:05:07 +08:00

51 lines
1.2 KiB
C#

using Entities.Contracts;
using Entities.DTO;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using TechHelper.Server.Services;
using TechHelper.Services;
namespace TechHelper.Server.Controllers
{
[Route("api/user")]
[ApiController]
public class UserController : ControllerBase
{
private IUserSerivces _userSerivces;
private IClassService _classService;
private UserManager<User> _userManager;
public UserController(IClassService classService, UserManager<User> userManager, IUserSerivces userSerivces)
{
_classService = classService;
_userManager = userManager;
_userSerivces = userSerivces;
}
[HttpPost("get")]
public async Task<IActionResult> GetAsync(
[FromBody] UserRegistrationToClassDto toClass)
{
return Ok();
}
[HttpGet("restoreUserRole")]
public async Task<IActionResult> RestoreUserRole()
{
var user = await _userManager.FindByEmailAsync(User.Identity.Name);
if (user == null) return NotFound();
if (User.IsInRole("Teacher") || User.IsInRole("Student"))
return Ok();
var result = await _userSerivces.RestoreUserRoleInformation(user);
if (result.Status)
return Ok();
else
return Unauthorized();
}
}
}