Sunrise Sunset
Description
Sunrise Sunset integrates the sunrisesunset.io service into Laravel Enso.
The package wraps the external API behind an Enso Action, logs outbound calls through laravel-enso/api, exposes a protected application route, and stores the Enso structure required for access control.
It is intended for applications that need sunrise and sunset times for a configured location without implementing the remote call flow manually.
Installation
Install the package:
composer require laravel-enso/sunrise-sunset
Run the package migration:
php artisan migrate
Optional publish:
php artisan vendor:publish --tag=sunrise-sunset-config
Configure the target coordinates:
// config/enso/sunriseSunset.php
return [
'latitude' => env('SUNRISE_SUNSET_LATITUDE'),
'longitude' => env('SUNRISE_SUNSET_LONGITUDE'),
];
Features
- wraps the
sunrisesunset.ioJSON endpoint throughlaravel-enso/api - exposes an Enso route for authenticated callers
- logs outbound requests and responses through the API package
- registers a package permission for route-level access control
- keeps latitude and longitude configurable through Enso config
Usage
The package exposes an internal action that can be called directly:
use Carbon\Carbon;
use LaravelEnso\SunriseSunset\Actions\Get;
$response = (new Get(
Carbon::parse('2026-05-01'),
Carbon::parse('2026-05-07'),
))->handle();
$payload = $response->json();
The endpoint sends these query parameters to the upstream API:
date_startdate_endlatlng
The latitude and longitude values are resolved from:
config('enso.sunriseSunset.latitude')config('enso.sunriseSunset.longitude')
API
HTTP route
GET api/sunriseSunsetnamedsunriseSunset.index
The route is loaded inside the Enso middleware stack:
apiauthcore
Internal classes
LaravelEnso\SunriseSunset\Actions\GetLaravelEnso\SunriseSunset\Endpoints\GetLaravelEnso\SunriseSunset\Http\Controllers\Index
Depends On
Required Enso package:
Related Enso packages:
External service dependency:
Contributions
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!