7
"github.com/garyburd/redigo/redis"
10
"go.avito.ru/DO/moira/database"
13
func ScheduledEscalationEvent(rep interface{}, err error) (moira.ScheduledEscalationEvent, error) {
14
escalation := moira.ScheduledEscalationEvent{}
15
bytes, err := redis.Bytes(rep, err)
17
if err == redis.ErrNil {
18
return escalation, database.ErrNil
20
return escalation, fmt.Errorf("Failed to read ScheduledEscalationEvent: %s", err.Error())
22
err = json.Unmarshal(bytes, &escalation)
24
return escalation, fmt.Errorf("Failed to parse ScheduledEscalationEvent json %s: %s", string(bytes), err.Error())
26
return escalation, nil
29
func ScheduledEscalationEvents(rep interface{}, err error) ([]*moira.ScheduledEscalationEvent, error) {
30
values, err := redis.Values(rep, err)
32
if err == redis.ErrNil {
33
return make([]*moira.ScheduledEscalationEvent, 0), nil
35
return nil, fmt.Errorf("Failed to read ScheduledEscalationEvent: %s", err.Error())
37
escalations := make([]*moira.ScheduledEscalationEvent, len(values))
38
for i, value := range values {
39
escalation, err2 := ScheduledEscalationEvent(value, err)
40
if err2 != nil && err2 != database.ErrNil {
42
} else if err2 == database.ErrNil {
45
escalations[i] = &escalation
48
return escalations, nil