Skip to content

Commit 1e6f986

Browse files
committed
fix(stocks.go): remove unnecessary stock not found error responses to simplify error handling
fix(year_validator.go): change error status from BadRequest to NotFound for missing year parameter to better reflect the error context
1 parent e9a11d4 commit 1e6f986

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

internal/handlers/stocks.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ func (h *Handler) GetStocksByYearHandler(c *fiber.Ctx) error {
2929
return SendError(c, fiber.StatusInternalServerError, models.ErrCodeDatabaseError,
3030
"Failed to parse stocks", nil)
3131
}
32-
if len(stocks)==0 {
33-
return c.Status(404).JSON(fiber.Map{"error": "Stock Not Found We could not find any stock matching your criteria. Please verify your search parameters and try again. "});
34-
}
35-
3632
result := make([]models.Stock, 0, len(stocks))
3733
for _, doc := range stocks {
3834
stock := models.Stock{
@@ -78,9 +74,6 @@ func (h *Handler) SearchStocksHandler(c *fiber.Ctx) error {
7874
if err := cursor.All(c.Context(), &stocks); err != nil {
7975
return c.Status(500).JSON(fiber.Map{"error": "Failed to parse stocks"})
8076
}
81-
if len(stocks)==0 {
82-
return c.Status(404).JSON(fiber.Map{"error": "Stock Not Found We could not find any stock matching your criteria. Please verify your search parameters and try again. "});
83-
}
8477
result := make([]models.Stock, 0, len(stocks))
8578
for _, doc := range stocks {
8679
stock := models.Stock{

internal/middleware/year_validator.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ func ValidateYear() fiber.Handler {
1818
return func(c *fiber.Ctx) error {
1919
year := c.Params("year")
2020
if year == "" {
21-
return handlers.SendError(c, fiber.StatusBadRequest,
21+
return handlers.SendError(c, fiber.StatusNotFound,
2222
models.ErrCodeValidationFailed,
2323
"Year parameter is required",
2424
fiber.Map{
2525
"available_years": availableYears,
26-
"example": fmt.Sprintf("/api/v1/stocks/year/%s", availableYears[len(availableYears)-1]),
26+
"example": fmt.Sprintf("/api/v1/stocks/year/%s", availableYears[len(availableYears)-1]),
2727
})
2828
}
2929

@@ -36,14 +36,14 @@ func ValidateYear() fiber.Handler {
3636
}
3737

3838
if !valid {
39-
return handlers.SendError(c, fiber.StatusBadRequest,
39+
return handlers.SendError(c, fiber.StatusNotFound,
4040
models.ErrCodeValidationFailed,
41-
fmt.Sprintf("The year '%s' is not supported", year),
41+
fmt.Sprintf("Year '%s' not found", year),
4242
fiber.Map{
43-
"provided_year": year,
43+
"provided_year": year,
4444
"available_years": availableYears,
45-
"latest_year": availableYears[len(availableYears)-1],
46-
"suggestion": fmt.Sprintf("Try using the latest available year: %s", availableYears[len(availableYears)-1]),
45+
"latest_year": availableYears[len(availableYears)-1],
46+
"suggestion": fmt.Sprintf("Try using the latest available year: %s", availableYears[len(availableYears)-1]),
4747
})
4848
}
4949

0 commit comments

Comments
 (0)