styx/models/main.go

81 lines
1.7 KiB
Go

package models
import (
"time"
"github.com/google/uuid"
)
// SaveData is the main function used to save data. You need to pass a specific
// flag to it and the data recieved. It just saves data, it doesn't filter or
// look for it in the stream.
// func SaveData(flag string, data CertStreamStruct) {
// nodeFile, err := ioutil.ReadFile(NodesFilename)
// if err != nil {
// logrus.Error(err)
// }
// edgeFile, err := ioutil.ReadFile(EdgesFilename)
// if err != nil {
// logrus.Error(err)
// }
// nodeDatas := []Node{}
// edgeDatas := []Edge{}
// if err := json.Unmarshal(nodeFile, &nodeDatas); err != nil {
// logrus.Error(err)
// }
// if err := json.Unmarshal(edgeFile, &edgeDatas); err != nil {
// logrus.Error(err)
// }
// // res := CertStreamStruct{}
// // json.Unmarshal(data, &res)
// node, err := BuildNode(flag, data)
// if err != nil {
// logrus.Error(err)
// }
// // edge := &Edge{
// // ID: uuid.New(),
// // NodeOneID: node.ID,
// // Timestamp: time.Now(),
// // }
// nodeDatas = append(nodeDatas, *node)
// // edgeDatas = append(edgeDatas, *edge)
// nodeBytes, err := json.Marshal(nodeDatas)
// if err != nil {
// logrus.Error(err)
// }
// // edgeBytes, err := json.Marshal(edgeDatas)
// // if err != nil {
// // logrus.Error(err)
// // }
// err = ioutil.WriteFile(nodesFilename, nodeBytes, 0644)
// if err != nil {
// logrus.Error(err)
// }
// // err = ioutil.WriteFile(edgesFilename, edgeBytes, 0644)
// // if err != nil {
// // logrus.Error(err)
// // }
// }
// BuildNode builds a node to send to MQ instance.
func BuildNode(flag string, data CertStreamStruct) (*Node, error) {
return &Node{
ID: flag + "--" + uuid.New().String(),
Type: flag,
Data: data,
Created: time.Now(),
Modified: time.Now(),
}, nil
}