This commit is contained in:
Artemy
2025-07-01 13:25:55 +07:00
parent f855b91155
commit 5883f3e340
12 changed files with 70 additions and 30 deletions
@@ -1,4 +1,6 @@
using Govor.API.Services.AdminsStuff.Interfaces;
using Govor.Contracts.Responses.Admins;
using Govor.Core.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@@ -25,7 +27,7 @@ public class UsersController : Controller
_logger.LogInformation("Getting all users by administrator");
var read = await _users.GetAllUsersAsync();
return Ok(read);
return Ok(BuildUserDtos(read));
}
[HttpGet("{id:guid}")]
@@ -33,4 +35,18 @@ public class UsersController : Controller
{
return Ok(id);
}
private List<UserResponse> BuildUserDtos(IEnumerable<User> users) => users.Select(user => new UserResponse
{
Id = user.Id,
Username = user.Username,
Description = user.Description,
WasOnline = user.WasOnline,
IconId = user.IconId,
PasswordHash = user.PasswordHash,
InviteId = user.InviteId,
CreatedOn = user.CreatedOn,
IsAdmin = user.Invite?.IsAdmin ?? false,
}).ToList();
}
+7 -5
View File
@@ -3,11 +3,13 @@ using Govor.Application.Exceptions.AuthService;
using Govor.Application.Exceptions.InvitesService;
using Govor.Application.Interfaces.Authentication;
using Govor.Contracts.Requests;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Govor.API.Controllers;
[ApiController]
[AllowAnonymous]
[Route("api/[controller]")]
public class AuthController : Controller
{
@@ -23,7 +25,7 @@ public class AuthController : Controller
}
[HttpPost("register")]// api/auth/register
[RequireHttps]
//[RequireHttps]
public async Task<IActionResult> Register([FromBody] RegistrationRequest registrationRequest)
{
try
@@ -33,11 +35,11 @@ public class AuthController : Controller
return BadRequest(ModelState);
}
var invite = _invitesService.Validate(registrationRequest.InviteLink);
var invite = await _invitesService.ValidateAsync(registrationRequest.InviteLink);
var token = await _accountService.RegistrationAsync(registrationRequest.Name, registrationRequest.Password,
invite);
_logger.LogInformation($"Register request for {registrationRequest.Name}");
_logger.LogInformation($"Register request for {registrationRequest.Name} processed successfully");
return Ok(new { token });
}
catch (UserAlreadyExistException ex)
@@ -63,7 +65,7 @@ public class AuthController : Controller
}
[HttpPost("login")]// api/auth/login
[RequireHttps]
//[RequireHttps]
public async Task<IActionResult> Login([FromBody] LoginRequest userRequest)
{
try
@@ -74,7 +76,7 @@ public class AuthController : Controller
}
var token = await _accountService.LoginAsync(userRequest.Name, userRequest.Password);
_logger.LogInformation($"Login request for {userRequest.Name}");
_logger.LogInformation($"Login request for {userRequest.Name} processed successfully");
return Ok(new { token });
}
catch (UserNotRegisteredException ex)
+1 -1
View File
@@ -26,7 +26,7 @@ public class FriendsController : Controller
_currentUserService = currentUserService;
}
[HttpGet("search")]
[HttpGet("search")] // api/friends/search?query=
public async Task<IActionResult> Search(string query)
{
if (string.IsNullOrWhiteSpace(query))
+1 -2
View File
@@ -2,12 +2,11 @@
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<Nullable>disable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AutoMapper" Version="14.0.0" />
<PackageReference Include="BCrypt.Net-Next" Version="4.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.6" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.0" />
+5 -2
View File
@@ -17,7 +17,7 @@ builder.Services.AddCors(options =>
{
options.AddPolicy("AllowFrontend", policy =>
{
policy.WithOrigins("http://localhost:3000", "https://localhost:3000")
policy.WithOrigins("http://localhost:5000", "https://localhost:5000")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
@@ -106,7 +106,10 @@ if (app.Environment.IsDevelopment())
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseCors();
//app.UseHttpsRedirection();
app.UseRouting();