async Task<string> GenerateJwtTokenAsync(User user)

This commit is contained in:
Artemy
2025-07-02 15:26:27 +07:00
parent 0967fe1b4e
commit 0669614a5e
13 changed files with 131 additions and 22 deletions
@@ -24,16 +24,35 @@ public class UsersController : Controller
[HttpGet]
public async Task<IActionResult> AllUsers()
{
_logger.LogInformation("Getting all users by administrator");
var read = await _users.GetAllUsersAsync();
try
{
_logger.LogInformation("Getting all users by administrator");
var read = await _users.GetAllUsersAsync();
return Ok(BuildUserDtos(read));
return Ok(BuildUserDtos(read));
}
catch (Exception e)
{
_logger.LogError(e, e.Message);
return StatusCode(500, e.Message);
}
}
[HttpGet("{id:guid}")]
public async Task<IActionResult> GetUserById(Guid id)
{
return Ok(id);
try
{
_logger.LogInformation($"Getting user {id} by administrator");
var read = await _users.GetUserById(id);
return Ok(BuildUserDtos([read]).First());
}
catch (Exception e)
{
_logger.LogError(e, e.Message);
return StatusCode(500, e.Message);
}
}
private List<UserResponse> BuildUserDtos(IEnumerable<User> users) => users.Select(user => new UserResponse
+50
View File
@@ -0,0 +1,50 @@
using Govor.Application.Interfaces;
using Govor.Contracts.Requests;
using Govor.Core.Models;
using Govor.Core.Repositories.MediasAttachments;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Govor.API.Controllers;
[ApiController]
[Route("api/media")]
[Authorize(Roles = "User,Admin")]
public class MediaController : Controller
{
private readonly ILogger<MediaController> _logger;
private readonly IStorageService _storageService;
private readonly IMediaAttachmentsRepository _repository;
public MediaController(ILogger<MediaController> logger, IStorageService storageService)
{
_logger = logger;
_storageService = storageService;
}
[HttpPost("upload")]
[RequestSizeLimit(100_000_000)]// ~100MB
public async Task<IActionResult> Upload([FromForm] MediaUploadRequest request)
{
try
{
var url = await _storageService.SaveAsync(request.Data,request.FileName);
var mediaId = Guid.NewGuid();
_repository.AddAsync(new MediaAttachments()
{
Id = mediaId,
FilePath = url,
EncryptedKey = request.EncryptedKey,
MimeType = request.MimeType,
Type = request.Type,
});
return Ok(mediaId);
}
catch (Exception ex)
{
return StatusCode(500, ex);
}
}
}