public async Task <ActionResult <ProductResponseModel> > GetById(string id) { if (!ProductId.IsValidId(id)) { return(BadRequest()); // https://stackoverflow.com/q/3290182/291299 } var productId = new ProductId(id); var productResult = await productsService.GetById(User, productId); if (productResult.Result == ServiceResult.NotFound) { return(NotFound()); } if (productResult.Result == ServiceResult.Forbidden) { return(Forbid()); } return(Ok(productResult.Value.MapToProductResponseModel())); }
public ActionResult <Product> GetById(string id) { if (!ProductId.IsValidId(id)) { return(BadRequest()); // https://stackoverflow.com/q/3290182/291299 } var productId = new ProductId(id); var product = repository.GetById(productId); if (product == null) { return(NotFound()); } if (!product.CanRead(User)) { return(Forbid()); } return(Ok(product)); }
public void ProductIdShouldReject(string id) { Assert.False(ProductId.IsValidId(id)); }