ajout des services pour notePad, du controller et de la methode GetById
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
c6819ae2f8
commit
79f898cd47
@ -0,0 +1,31 @@
|
||||
using Asp.Versioning;
|
||||
using Dto;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Shared;
|
||||
|
||||
namespace API.Controllers;
|
||||
|
||||
[Route("api/v{version:apiVersion}/[controller]")]
|
||||
[Authorize]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
public class NotepadController(ILogger<NotepadController> logger, INotePadService<NotepadDto> notePadService) : ControllerBase
|
||||
{
|
||||
[HttpGet("notePad/{id:int}")]
|
||||
[ProducesResponseType(typeof(UserDto), 200)]
|
||||
[ProducesResponseType(typeof(string), 404)]
|
||||
public IActionResult GetNotePadById(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.LogInformation(" [INFORMATION] Le bloc note avec l'id {id} a été trouvé.", id);
|
||||
return Ok(notePadService.GetNotePadById(id));
|
||||
}
|
||||
catch (ArgumentException)
|
||||
{
|
||||
logger.LogError("[ERREUR] Aucun bloc n'a été trouvé pour l'id {id}", id);
|
||||
return NotFound();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
using Dto;
|
||||
using Entities;
|
||||
using Shared;
|
||||
using Shared.Mapper;
|
||||
|
||||
namespace API.Service;
|
||||
|
||||
public class NotePadDataServiceApi(INotePadService<NotepadEntity> notePadService) : INotePadService<NotepadDto>
|
||||
{
|
||||
public NotepadDto GetNotePadById(int id) => notePadService.GetNotePadById(id).FromEntityToDto();
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
using DbContextLib;
|
||||
using Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Shared;
|
||||
|
||||
namespace DbDataManager.Service;
|
||||
|
||||
public class NotePadDataService : INotePadService<NotepadEntity>
|
||||
{
|
||||
private UserDbContext DbContext { get; }
|
||||
public NotePadDataService(UserDbContext context)
|
||||
{
|
||||
DbContext = context;
|
||||
context.Database.EnsureCreated();
|
||||
|
||||
}
|
||||
public NotepadEntity GetNotePadById(int id)
|
||||
{
|
||||
var notePadEntity = DbContext.Notepads.FirstOrDefault(n => n.Id == id);
|
||||
if (notePadEntity == null)
|
||||
{
|
||||
throw new ArgumentException("impossible de trouver le bloc note", nameof(id));
|
||||
}
|
||||
return notePadEntity;
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
namespace Shared;
|
||||
|
||||
public interface INotePadService<TNotePad>
|
||||
{
|
||||
public TNotePad GetNotePadById(int id);
|
||||
|
||||
}
|
Loading…
Reference in new issue