extract types to models package
This commit is contained in:
parent
3ae5ea780e
commit
9b0597e680
43
model/types.go
Normal file
43
model/types.go
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// Note holds a text note along with the time the note was taken.
|
||||||
|
type Note struct {
|
||||||
|
Time time.Time `json:"time"`
|
||||||
|
Text string `json:"text"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewNote returns a new Note
|
||||||
|
func NewNote(text string) Note {
|
||||||
|
return Note{
|
||||||
|
Time: time.Now(),
|
||||||
|
Text: text,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reading holds the glucose and ketone level measurements along with the time the measurements were taken.
|
||||||
|
type Reading struct {
|
||||||
|
Time time.Time `json:"time"`
|
||||||
|
Glucose float64 `json:"glucose"`
|
||||||
|
Ketone float64 `json:"ketone"`
|
||||||
|
GKI float64 `json:"GKI"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewReading creates and returns a new Reading instance with the provided glucose and ketone levels, and records
|
||||||
|
// the current time. The glucose value should be provided in mg/dL, while the ketone level should be in mmol/L.
|
||||||
|
func NewReading(glucose, ketone float64) Reading {
|
||||||
|
var gki float64
|
||||||
|
if ketone == 0 {
|
||||||
|
gki = 0
|
||||||
|
} else {
|
||||||
|
gki = (glucose / 18) / ketone
|
||||||
|
}
|
||||||
|
|
||||||
|
return Reading{
|
||||||
|
Time: time.Now(),
|
||||||
|
Glucose: glucose,
|
||||||
|
Ketone: ketone,
|
||||||
|
GKI: gki,
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user