< Summary

Information
Class: event_list.modules.eventlist.infra.EventListController
Assembly: event-list
File(s): /Users/tiagoamaral/Workspace/desafio/event-list-api/Src/Modules/Eventlist/Infra/EventListController.cs
Line coverage
100%
Covered lines: 17
Uncovered lines: 0
Coverable lines: 17
Total lines: 78
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
GetAllAsync()100%11100%
GetById()100%11100%
Create()100%22100%
DeleteById()100%11100%

File(s)

/Users/tiagoamaral/Workspace/desafio/event-list-api/Src/Modules/Eventlist/Infra/EventListController.cs

#LineLine coverage
 1/*
 2* eventlistController.cs
 3* event-list
 4*
 5* Created by Tiago Amaral on 06/09/2025.
 6* Copyright ©2024 Tiago Amaral. All rights reserved.
 7*/
 8
 9using Microsoft.AspNetCore.Mvc;
 10using event_list.modules.eventlist.services;
 11using event_list.modules.eventlist.storage;
 12using event_list.shared.exceptionsMessage;
 13using event_list.shared.response_default;
 14
 15namespace event_list.modules.eventlist.infra;
 16
 17[ApiController]
 18[Route("api/eventos")]
 19
 20public class EventListController : ControllerBase
 21{
 22
 23    private readonly IEventListServices _eventListServices;
 24
 525    public EventListController(IEventListServices eventListServices)
 526    {
 527        this._eventListServices = eventListServices;
 528    }
 29
 30    // GET [HOST]/api/eventos
 31
 32    /// <summary>
 33    /// Lista todos os Eventos
 34    /// </summary>
 35    /// <description>Retorna uma lista de eventos.</description>
 36    [HttpGet]
 137    public IActionResult GetAllAsync() => Ok(new ResponseDefault(200, string.Empty, this._eventListServices.GetAll()));
 38
 39    /// <summary>
 40    /// Consulta somente um evento usando sua identificação.
 41    /// </summary>
 42    /// <param name="id"></param>
 43    /// <parameters>id - Identificador do evento.</parameters>
 44    /// <returns>Retorna um evento</returns>
 45    [HttpGet("id")]
 146    public async Task<IActionResult> GetById(Guid id) => Ok(new ResponseDefault(200, string.Empty, await this._eventList
 47
 48    /// <summary>
 49    /// Cria novo evento
 50    /// </summary>
 51    /// <param name="data"></param>
 52    /// <returns>Permite registrar um novo evento</returns>
 53    [HttpPost]
 254    public async Task<IActionResult> Create([FromBody] EventFormDto dto) {
 55
 256        if (!ModelState.IsValid)
 157        {
 158            return BadRequest(ModelState);
 59        }
 60
 161        await this._eventListServices.CreateAsync(dto);
 162        return Ok(new ResponseDefault( 200, ExceptionsMessages.SuccessCreateEvent, null));
 263    }
 64
 65    // GET [HOST]/api/eventos/{id}
 66
 67    /// <summary>
 68    /// Apaga evento
 69    /// </summary>
 70    /// <param name="id"></param>
 71    /// <returns>Permite remover um evento usando usa idenrtificação</returns>
 72    [HttpDelete]
 73    public async Task<IActionResult> DeleteById(Guid id)
 174    {
 175        await this._eventListServices.DeleteAsync(id);
 176         return Ok(new ResponseDefault( 200, ExceptionsMessages.SuccessDeleteEvent, null));
 177    }
 78}