package models
|
|
import (
|
"basic.com/valib/logc.git"
|
"basic.com/valib/logger.git"
|
"encoding/json"
|
"errors"
|
)
|
|
func PersistentWrapper(topic string, payloads []byte) {
|
if err := unmarshal(topic, payloads); err != nil {
|
logger.Error("handleSubMsg failed to persistent:", topic, string(payloads), err.Error())
|
} else {
|
logger.Debug("handleSubMsg succeeded to persistent:", topic, string(payloads))
|
}
|
}
|
|
func unmarshal(topic string, payloads []byte) error {
|
switch topic {
|
case logc.OperationLogTopic:
|
var log OperationLog
|
if err := json.Unmarshal(payloads, &log); nil != err {
|
return err
|
}
|
|
opChan <- &log
|
|
return nil
|
case logc.ScheduleLogTopic:
|
var log ScheduleLog
|
if err := json.Unmarshal(payloads, &log); nil != err {
|
return err
|
}
|
|
scheduleChan <- &log
|
|
return nil
|
case logc.RuleServerLogTopic:
|
var logOp logc.RuleServerPushLog
|
if err := json.Unmarshal(payloads, &logOp); nil != err {
|
return err
|
}
|
|
ruleServerChan <- &logOp
|
|
return nil
|
case logc.VaSystemLogTopic:
|
var logOp logc.VaSystemLog
|
if err := json.Unmarshal(payloads, &logOp); nil != err {
|
return err
|
}
|
|
vaSystemChan <- &logOp
|
|
return nil
|
}
|
|
return errors.New("unsupported topic")
|
}
|