Backend login and register

This commit is contained in:
2026-02-19 13:49:01 +01:00
parent 0b6bb019b6
commit 93a78e4614
62 changed files with 11588 additions and 13 deletions
+63
View File
@@ -0,0 +1,63 @@
using API.Extension;
using Application.Interfaces;
using Application.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace API.Controllers;
public class UserController(IUserService userService) : BaseApiController
{
[Authorize(Roles = "SuperAdmin, Admin")]
[HttpGet]
public async Task<IResult> GetAllUsers(
[FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10)
{
var users = await userService.GetAsync(pageNumber, pageSize);
return users.ToHttpResponse();
}
[Authorize]
[HttpPut]
public async Task<IResult> UpdateUser([FromBody] UserUpdateRequest userUpdateRequest)
{
var result = await userService.UpdateAsync(userUpdateRequest);
return result.ToHttpResponse();
}
[Authorize]
[HttpDelete("{id}")]
public async Task<IResult> DeleteUser(int id)
{
var currentUserId = int.Parse(User.FindFirst("UserId")!.Value);
var result = await userService.DeleteAsync(id, currentUserId);
return result.ToHttpResponse();
}
[Authorize]
[HttpGet("{id}")]
public async Task<IResult> GetUserById(int id)
{
var user = await userService.GetUserByIdAsync(id);
return user.ToHttpResponse();
}
[Authorize(Roles = "SuperAdmin")]
[HttpPost("assign-role")]
public async Task<IResult> AssignRole([FromBody] AssingRoleRequest roleRequest)
{
var result = await userService.AssignRoleAsync(roleRequest);
return result.ToHttpResponse();
}
[Authorize(Roles = "SuperAdmin")]
[HttpDelete("revoke-role")]
public async Task<IResult> RevokeRole([FromBody] AssingRoleRequest roleRequest)
{
var result = await userService.RevokeRoleAsync(roleRequest);
return result.ToHttpResponse();
}
}