Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

settings/map returns 500: googleMapsApiKey() returns null for its string return type (no Google Maps key configured)

Abierto Apto para principiantes
#337 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
90/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
php
Área
api, backend

Línea de trabajo

Comienza en Fleetbase\FleetOps\Http\Controllers\Internal\v1\SettingController::googleMapsApiKey() y en su punto de entrada getMapSettings() para GET /int/v1/fleet-ops/settings/map. Reproduce el problema sin ninguna clave de Google Maps configurada y, después, verifica que el endpoint devuelva 200 sin producir un TypeError y conserve el comportamiento de clave vacía.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary

Fleetbase\FleetOps\Http\Controllers\Internal\v1\SettingController::googleMapsApiKey() is declared with a string return type, but returns null when no Google Maps API key is configured:

protected function googleMapsApiKey(): string
{
    return config('services.google_maps.api_key', env('GOOGLE_MAPS_API_KEY', ''));
}

services.google_maps.api_key exists in the config (populated from env('GOOGLE_MAPS_API_KEY')), so when the variable is not set its value is null and the '' default is never used. PHP throws:

TypeError: Fleetbase\FleetOps\Http\Controllers\Internal\v1\SettingController::googleMapsApiKey(): Return value must be of type string, null returned

Impact

GET /int/v1/fleet-ops/settings/map (getMapSettings()) returns 500 for every organization. The console requests it when entering Fleet-Ops, so the Orders route fails ("Error while processing route: console.fleet-ops.operations.orders.index.index Server Error") and the UI stays on "Loading orders". Fleet-Ops is unusable on any install that uses Leaflet and has no Google Maps key, which is the default setup.

Versions

Fleetbase v0.7.63 (fleetops v0.6.68).

Reproduction

  1. Self-hosted install with no GOOGLE_MAPS_API_KEY and no Google Maps key saved in Admin → Settings → Services.
  2. Log in and open Fleet-Ops (or switch organization and open Fleet-Ops).
  3. GET /int/v1/fleet-ops/settings/map → 500; the orders view never loads.
config('services.google_maps.api_key');                 // null
app(SettingController::class)->getMapSettings();        // TypeError

Suggested fix

protected function googleMapsApiKey(): string
{
    return (string) (config('services.google_maps.api_key') ?? env('GOOGLE_MAPS_API_KEY', ''));
}

Workaround

Set GOOGLE_MAPS_API_KEY="(empty)" on the API container: Laravel reads it as an empty string and the endpoint returns 200.

Lenguaje dominante
PHP
Estrellas
40
Forks
72
Merge medio
17 h 4 min
PR fusionados (30 d)
62

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de fleetbase/fleetops

Todos los issues de fleetbase/fleetops

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.