-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodels.go
More file actions
40 lines (35 loc) · 1.18 KB
/
Copy pathmodels.go
File metadata and controls
40 lines (35 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main
import (
"time"
)
// WeatherReport represents a weather measurement from a device
type WeatherReport struct {
DbId uint `gorm:"primaryKey;autoIncrement"`
Time time.Time `gorm:"index"`
DeviceModel string `gorm:"index"`
TemperatureInF float32
HumidityInPercentage uint8
}
// DeviceModel represents a device model in the system
type DeviceModel struct {
DbId uint `gorm:"primaryKey;autoIncrement"`
DeviceModel string
Name string
}
// DeviceModelCount represents a device model with its report count for API responses
type DeviceModelCount struct {
DeviceModel string
ReportCount uint64
Name string
}
// OllamaRecommendation represents AI-generated recommendations for climate control
type OllamaRecommendation struct {
DbId uint `gorm:"primaryKey;autoIncrement"`
Time time.Time `gorm:"index"`
ShouldOperateAirConditioner bool
TemperatureToSetAirConditionerInF int
ShouldWindowBeOpen bool
WeatherDescription string
IndoorTemperatureF float32
OutdoorTemperatureF float32
}