You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.3 KiB
Go

package models
import (
"time"
"gorm.io/gorm"
)
type Temperature struct {
gorm.Model `json:"-"`
ID uint `json:"-" gorm:"primary_key"`
Time time.Time `json:"time" gorm:"autoCreateTime"`
Temperature float64 `json:"temperature"`
RoomID int `json:"room_id"`
Room Room `json:"-" gorm:"foreignKey:ID;references:RoomID"`
}
type Humidity struct {
gorm.Model `json:"-"`
ID uint `json:"-" gorm:"primary_key"`
Time time.Time `json:"time" gorm:"autoCreateTime"`
Humidity float64 `json:"humidity"`
RoomID int `json:"room_id"`
Room Room `json:"-" gorm:"foreignKey:ID;references:RoomID"`
}
type Room struct {
gorm.Model `json:"-"`
ID int `json:"-" gorm:"primary_key;autoIncrement"`
Name string `json:"name" gorm:"unique"`
Temperatures []Temperature `json:"temperature" gorm:"foreignKey:ID"`
Humidity []Humidity `json:"humidity" gorm:"foreignKey:ID"`
}
type AddRoom struct {
Name string `json:"Name"`
}
type AddTemperature struct {
RoomName string `json:"room_name"`
Temperature float64 `json:"temperature"`
}
type AddHumidity struct {
RoomName string `json:"room_name"`
Humidity float64 `json:"humidity"`
}
type Error struct {
Status string `json:"status"`
Error string `json:"error"`
}