mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 11:44:56 +00:00
async Task<string> GenerateJwtTokenAsync(User user)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user