From 612c6ebde56d7ce62b44f735e9425acf681a927f Mon Sep 17 00:00:00 2001 From: Abdussamet Kocak Date: Sun, 22 Feb 2026 23:44:52 +0300 Subject: [PATCH] refactor(api): Bind query params --- internal/api/api.go | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/internal/api/api.go b/internal/api/api.go index d75e4b1..6d304b0 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -226,18 +226,14 @@ func New(services Services) *fiber.App { var params struct { LocationID int `query:"location_id"` } - - locationIDText := strings.TrimSpace(ctx.Query("location_id")) - if locationIDText == "" { - return fmt.Errorf("missing query parameter location_id: %w", fiber.ErrBadRequest) + if err := ctx.Bind().Query(¶ms); err != nil { + return fmt.Errorf("failed to bind legacy prayer times query parameters: %w", errors.Join(fiber.ErrBadRequest, err)) } - - locationID, err := strconv.Atoi(locationIDText) - if err != nil { - return fmt.Errorf("failed to parse location_id query parameter: %w", errors.Join(fiber.ErrBadRequest, err)) + if params.LocationID <= 0 { + return fmt.Errorf("missing query parameter location_id: %w", fiber.ErrBadRequest) } - legacyLocation, err := services.LegacyLocationProvider.GetLocationByID(ctx.Context(), locationID) + legacyLocation, err := services.LegacyLocationProvider.GetLocationByID(ctx.Context(), params.LocationID) if err != nil { return fmt.Errorf("failed to resolve location by location_id: %w", errors.Join(fiber.ErrNotFound, err)) }