asked on
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapControllerRoute(
name: "Default",
pattern: "{controller}/{action}",
defaults: new { controller = "Helpdesk", action = "GetTickets" }
);
});
}
[ApiController]
[Route("")]
[Route("[controller]")]
[Authorize]
public class HelpdeskController : BaseController
{
[HttpGet("GetTickets/{Creator:int?}/{closed:bool?}")]
public async Task<ActionResult<IEnumerable<TicketListDto>>> GetTickets(int? Creator = null, bool? closed = null)
{
//closed parameter is null when hitting <server>/?closed=false and <server>/Helpdesk/GetTickets?closed=false
var dto = await Mediator.Send(new GetTicketsQuery() { user= _currentUserService.user, CreatorId = Creator, Closed = closed });
return dto.Tickets.ToList();
}
}
[HttpGet("getTicket/{ticketID}")]
public async Task<ActionResult<TicketDetailDto>> GetTicketByID(int ticketID)
{
var dto = await Mediator.Send(new GetTicketByIdQuery() { user = _currentUserService.user, TicketID = ticketID });
return dto.ticket;
}