// forecast_rows.go defines row DTOs for forecast reads.
// Layer: adapters/outbound/postgres forecast feature.
package postgres

import (
	"database/sql"
	"time"
)

type forecastParentRow struct {
	EventID         string
	LocationID      sql.NullString
	LocationName    sql.NullString
	IssuedAt        time.Time
	UpdatedAt       sql.NullTime
	Product         string
	Latitude        sql.NullFloat64
	Longitude       sql.NullFloat64
	ElevationMeters sql.NullFloat64
}

type forecastPeriodRow struct {
	PeriodIndex                       int
	StartTime                         time.Time
	EndTime                           time.Time
	Name                              sql.NullString
	IsDay                             sql.NullBool
	ConditionCode                     int
	ConditionText                     sql.NullString
	ProviderRawDescription            sql.NullString
	TextDescription                   sql.NullString
	DetailedText                      sql.NullString
	IconURL                           sql.NullString
	TemperatureC                      sql.NullFloat64
	TemperatureCMin                   sql.NullFloat64
	TemperatureCMax                   sql.NullFloat64
	DewpointC                         sql.NullFloat64
	RelativeHumidityPercent           sql.NullFloat64
	WindDirectionDegrees              sql.NullFloat64
	WindSpeedKmh                      sql.NullFloat64
	WindGustKmh                       sql.NullFloat64
	BarometricPressurePa              sql.NullFloat64
	VisibilityMeters                  sql.NullFloat64
	ApparentTemperatureC              sql.NullFloat64
	CloudCoverPercent                 sql.NullFloat64
	ProbabilityOfPrecipitationPercent sql.NullFloat64
	PrecipitationAmountMM             sql.NullFloat64
	SnowfallDepthMM                   sql.NullFloat64
	UVIndex                           sql.NullFloat64
}
