forked from SSU-NC/toiot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sensor.go
30 lines (24 loc) · 770 Bytes
/
sensor.go
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
package model
import "github.com/rs/xid"
type Sensor struct {
UUID string `json:"uuid" gorm:"primary_key;type:char(20);not null;"`
Name string `json:"name" gorm:"type:varchar(32);unique;not null"`
ValueList []SensorValue `json:"value_list" gorm:"foreignkey:SensorUUID"`
}
func NewSensor(name string) Sensor {
return Sensor{
UUID: xid.New().String(),
Name: name,
}
}
func (Sensor) TableName() string {
return "sensors"
}
type SensorValue struct {
SensorUUID string `json:"sensor_uuid" gorm:"primary_key;type:char(20);not null"`
ValueName string `json:"value_name" gorm:"primary_key;type:varchar(32);not null"`
Index int `json:"index" gorm:"not null"`
}
func (SensorValue) TableName() string {
return "sensor_values"
}