2020-01-14 14:49:14 +01:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
2020-01-22 15:01:07 +01:00
|
|
|
"time"
|
|
|
|
|
2020-01-14 14:49:14 +01:00
|
|
|
"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.
|
2020-01-21 16:50:50 +01:00
|
|
|
// 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.
|
2020-01-16 15:56:57 +01:00
|
|
|
func BuildNode(flag string, data CertStreamStruct) (*Node, error) {
|
2020-01-26 17:26:03 +01:00
|
|
|
t := time.Now()
|
|
|
|
rfc3339time := t.Format(time.RFC3339)
|
2020-01-16 15:56:57 +01:00
|
|
|
return &Node{
|
2020-01-22 15:01:07 +01:00
|
|
|
ID: flag + "--" + uuid.New().String(),
|
|
|
|
Type: flag,
|
|
|
|
Data: data,
|
2020-01-26 17:26:03 +01:00
|
|
|
Created: rfc3339time,
|
|
|
|
Modified: rfc3339time,
|
2020-01-16 15:56:57 +01:00
|
|
|
}, nil
|
|
|
|
|
|
|
|
}
|