antes de implementar el minio

This commit is contained in:
2025-01-11 00:14:49 -03:00
parent 7349454d8f
commit 2ee926eb8a
3 changed files with 85 additions and 11 deletions

View File

@@ -2,9 +2,8 @@ using AlquilaFacil.Builder;
using Entidades;
using Entidades.Dto;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Modelo;
using ZstdSharp.Unsafe;
namespace AlquilaFacil.Controllers;
[ApiController]
@@ -196,12 +195,27 @@ public class ContratoController: ControllerBase {
}
[HttpPost("api/contratos/subirContrato")]
public IActionResult subirContrato([FromHeader(Name = "Auth")]string Auth, [FromForm] IFormFile contrato) {
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
public IActionResult subirContrato([FromHeader(Name = "Auth")]string Auth, [FromForm]long idcontrato =0, IFormFile contrato) {
if (String.IsNullOrWhiteSpace(Auth)) return BadRequest("");
var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario");
if (validacion1 == false) return Unauthorized();
if (validacion1 == false) return Unauthorized();
if (idcontrato<=0) return BadRequest(new {message = "No puede tener un id contrato menor o igual a 0"});
Contrato? contr = RepositorioContratos.Singleton.ObtenerPreContratoPorId(idcontrato);
if (contr == null) return BadRequest(new { message = "No hay precontrato por esa id"});
if (contrato == null) return BadRequest(new { message = "Debe subir un archivo." });
if (contrato.ContentType != "application/pdf") return BadRequest(new { message = "El archivo debe ser un documento PDF." });
if (!Path.GetExtension(contrato.FileName).Equals(".pdf", StringComparison.OrdinalIgnoreCase)) return BadRequest(new { message = "El archivo debe tener la extensión .pdf." });
string nuevoNombreArchivo = $"id:{contr.Id}-inq:{contr.Dniinquilino}-propi:{contr.Dnipropietario}-idprop:{contr.Idpropiedad}.pdf";
var s3Client = new AmazonS3Client("aVO9C3PqeK1hiPCyqZCj", "szj58kceWG3GcRZ8P1QCQiv5tSjMI7iD5zfjneTT", new AmazonS3Config
{
ServiceURL = "http://192.168.1.11",
ForcePathStyle = true
});
return Ok();
}