)
// create or update: https://github.com/jinzhu/gorm/issues/1307
-func (m *monitor) upSertNode(node *config.Node) error {
+func (m *monitor) upsertNode(node *config.Node) error {
if node.XPub != nil {
node.PublicKey = fmt.Sprintf("%v", node.XPub.PublicKey().String())
}
return err
}
- if node.Alias != "" {
- ormNode.Alias = node.Alias
- }
if node.XPub != nil {
ormNode.Xpub = node.XPub.String()
}
ormNode.Port = node.Port
return m.db.Where(&orm.Node{PublicKey: ormNode.PublicKey}).
Assign(&orm.Node{
- Xpub: ormNode.Xpub,
- Alias: ormNode.Alias,
- IP: ormNode.IP,
- Port: ormNode.Port,
+ Xpub: ormNode.Xpub,
+ IP: ormNode.IP,
+ Port: ormNode.Port,
}).FirstOrCreate(ormNode).Error
}
publicKey := xPub.PublicKey().String()
connMap[publicKey] = true
if err := m.processConnectedPeer(publicKeyMap[publicKey], peer); err != nil {
- log.WithFields(log.Fields{
- "peer publicKey": publicKey,
- "err": err,
- }).Error("processConnectedPeer")
+ log.WithFields(log.Fields{"peer publicKey": publicKey, "err": err}).Error("processConnectedPeer")
}
}
}
if err := m.processOfflinePeer(ormNode); err != nil {
- log.WithFields(log.Fields{
- "peer publicKey": ormNode.PublicKey,
- "err": err,
- }).Error("processOfflinePeer")
+ log.WithFields(log.Fields{"peer publicKey": ormNode.PublicKey, "err": err}).Error("processOfflinePeer")
}
}
}
func (m *monitor) processOfflinePeer(ormNode *orm.Node) error {
- return m.db.Model(&orm.NodeLiveness{}).
- Where(&orm.NodeLiveness{NodeID: ormNode.ID}).
- UpdateColumn(&orm.NodeLiveness{
- Status: common.NodeOfflineStatus,
- }).Error
+ return m.db.Model(&orm.NodeLiveness{}).Where(&orm.NodeLiveness{NodeID: ormNode.ID}).UpdateColumn(&orm.NodeLiveness{Status: common.NodeOfflineStatus}).Error
}
-func (m *monitor) processPeerInfos(peerInfos []*peers.PeerInfo) error {
+func (m *monitor) processPeerInfos(peerInfos []*peers.PeerInfo) {
for _, peerInfo := range peerInfos {
dbTx := m.db.Begin()
if err := m.processPeerInfo(dbTx, peerInfo); err != nil {
- log.WithFields(log.Fields{
- "peerInfo": peerInfo,
- "err": err,
- }).Error("processPeerInfo")
+ log.WithFields(log.Fields{"peerInfo": peerInfo, "err": err}).Error("processPeerInfo")
dbTx.Rollback()
} else {
dbTx.Commit()
}
}
-
- return nil
}
func (m *monitor) processPeerInfo(dbTx *gorm.DB, peerInfo *peers.PeerInfo) error {