// service.go defines the inbound service contract consumed by HTTP handlers.
// Layer: adapters/inbound/httpapi boundary to application service.
package httpapi

import (
	"context"

	"gitea.maximumdirect.net/ejr/weatherapi/internal/app"
	"gitea.maximumdirect.net/ejr/weatherfeeder/model"
)

// Service describes weather resource queries needed by the HTTP adapter.
type Service interface {
	LatestObservation(ctx context.Context) (*model.WeatherObservation, error)
	LatestHourlyForecast(ctx context.Context) (*model.WeatherForecastRun, error)
	LatestAlertRun(ctx context.Context) (*model.WeatherAlertRun, error)
	CurrentConditions(ctx context.Context) (*app.CurrentConditions, error)
}
