using MediatR; using Microsoft.AspNetCore.Mvc; namespace Sufi.Demo.PeopleDirectory.UI.Server.Controllers { /// /// Represent the base controller class. /// /// [ApiController] [Route("api/v{version:apiVersion}/[controller]")] public abstract class BaseApiController : ControllerBase { private IMediator? _mediatorInstance; private ILogger? _loggerInstance; /// /// Gets the mediator for requests/responses. /// protected IMediator Mediator => _mediatorInstance ??= HttpContext.RequestServices.GetRequiredService(); /// /// Gets the logger for current controller. /// protected ILogger Logger => _loggerInstance ??= HttpContext.RequestServices.GetRequiredService>(); } }