Fix alarm update in db

This commit is contained in:
nemunaire 2022-12-15 18:40:09 +01:00
parent f8be28744c
commit 51a52fcb8e
1 changed files with 15 additions and 8 deletions

View File

@ -239,16 +239,19 @@ func GetAlarmsRepeated(db *LevelDBStorage) (alarms []*AlarmRepeated, err error)
func PutAlarmRepeated(db *LevelDBStorage, alarm *AlarmRepeated) (err error) {
var key string
var id Identifier
if alarm.Id.IsEmpty() {
var id Identifier
key, id, err = db.findBytesKey("alarm-repeated-", IDENTIFIER_LEN)
if err != nil {
return err
}
alarm.Id = id
} else {
key = fmt.Sprintf("alarm-repeated-%s", alarm.Id.ToString())
}
alarm.Id = id
// Don't store this, this is autocalculated
alarm.Excepts = nil
alarm.NextTime = nil
@ -293,17 +296,19 @@ func GetAlarmsSingle(db *LevelDBStorage) (alarms []*AlarmSingle, err error) {
func PutAlarmSingle(db *LevelDBStorage, alarm *AlarmSingle) (err error) {
var key string
var id Identifier
if alarm.Id.IsEmpty() {
var id Identifier
key, id, err = db.findBytesKey("alarm-single-", IDENTIFIER_LEN)
if err != nil {
return err
}
alarm.Id = id
} else {
key = fmt.Sprintf("alarm-single-%s", alarm.Id.ToString())
}
alarm.Id = id
return db.put(key, alarm)
}
@ -363,17 +368,19 @@ func GetAlarmExceptions(db *LevelDBStorage) (alarms []*AlarmException, err error
func PutAlarmException(db *LevelDBStorage, alarm *AlarmException) (err error) {
var key string
var id Identifier
if alarm.Id.IsEmpty() {
var id Identifier
key, id, err = db.findBytesKey("alarm-exception-", IDENTIFIER_LEN)
if err != nil {
return err
}
alarm.Id = id
} else {
key = fmt.Sprintf("alarm-exception-%s", alarm.Id.ToString())
}
alarm.Id = id
return db.put(key, alarm)
}