refactor(api): Bind query params

master
Abdussamet Kocak 4 weeks ago
parent 8ab2de40e0
commit 612c6ebde5

@ -226,18 +226,14 @@ func New(services Services) *fiber.App {
var params struct { var params struct {
LocationID int `query:"location_id"` LocationID int `query:"location_id"`
} }
if err := ctx.Bind().Query(&params); err != nil {
locationIDText := strings.TrimSpace(ctx.Query("location_id")) return fmt.Errorf("failed to bind legacy prayer times query parameters: %w", errors.Join(fiber.ErrBadRequest, err))
if locationIDText == "" {
return fmt.Errorf("missing query parameter location_id: %w", fiber.ErrBadRequest)
} }
if params.LocationID <= 0 {
locationID, err := strconv.Atoi(locationIDText) return fmt.Errorf("missing query parameter location_id: %w", fiber.ErrBadRequest)
if err != nil {
return fmt.Errorf("failed to parse location_id query parameter: %w", errors.Join(fiber.ErrBadRequest, err))
} }
legacyLocation, err := services.LegacyLocationProvider.GetLocationByID(ctx.Context(), locationID) legacyLocation, err := services.LegacyLocationProvider.GetLocationByID(ctx.Context(), params.LocationID)
if err != nil { if err != nil {
return fmt.Errorf("failed to resolve location by location_id: %w", errors.Join(fiber.ErrNotFound, err)) return fmt.Errorf("failed to resolve location by location_id: %w", errors.Join(fiber.ErrNotFound, err))
} }

Loading…
Cancel
Save