public async Task <IActionResult> GetForLeg(int legID) { if (!User.Identity.IsAuthenticated) { return(Challenge()); } var leg = await _legRepository.Get(legID); if (leg == null) { return(NotFound()); } var driver = await _driverRepository.GetAsync(leg.DriverID); AuthorizationResult authorizationResult = await _authorizationService.AuthorizeAsync(User, driver, "DriverInfoPolicyPickupAllowed"); if (!authorizationResult.Succeeded) { return(Forbid()); } return(Ok(_repository.GetForLeg(leg))); }
public async Task <IActionResult> Get(int id) { if (!User.Identity.IsAuthenticated) { return(Challenge()); } Leg leg = await _legRepository.Get(id); Driver driver = await _driverRepository.GetAsync(leg.DriverID); var authResult = await _authorizationService.AuthorizeAsync(User, driver, "DriverInfoPolicy"); if (!authResult.Succeeded) { return(Forbid()); } leg.Driver = null; // prevent self-referencing loops during serialization return(Ok(leg)); }
public async Task <IActionResult> Get(int id) { if (!User.Identity.IsAuthenticated) { return(Challenge()); } var driver = (await _legRepository.Get(id)).Driver; var authResult = await _authorizationService.AuthorizeAsync(User, driver, "DriverInfoPolicy"); if (!authResult.Succeeded) { return(Forbid()); } return(Ok(await _dbSync.GetLegCoordinatesAsync(id))); }