namespace IOL.GreatOffice.Api.Endpoints.V1.Entries; public class GetEntryRoute : RouteBaseSync.WithRequest.WithActionResult { private readonly AppDbContext _context; public GetEntryRoute(AppDbContext context) { _context = context; } /// /// Get a spesific time entry. /// /// /// [ApiVersion(ApiSpecV1.VERSION_STRING)] [BasicAuthentication(AppConstants.TOKEN_ALLOW_READ)] [HttpGet("~/v{version:apiVersion}/entries/{id:guid}")] [ProducesResponseType(404)] [ProducesResponseType(200, Type = typeof(TimeEntry.TimeEntryDto))] public override ActionResult Handle(Guid id) { var entry = _context.TimeEntries .Where(c => c.UserId == LoggedInUser.Id) .Include(c => c.Category) .Include(c => c.Labels) .SingleOrDefault(c => c.Id == id); if (entry == default) { return NotFound(); } return Ok(entry); } }