package models import ( "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, }, nil }