Parsing and bridging between the CSV struct and proto done

This commit is contained in:
cdricms
2024-04-28 17:43:39 +02:00
parent 041c9378c7
commit 25e4296fdb
11 changed files with 1600 additions and 157 deletions

42
proto/io.go Normal file
View File

@@ -0,0 +1,42 @@
package proto
import (
"os"
"google.golang.org/protobuf/proto"
// "git.cems.dev/cdricms/bdooc/parsing"
)
func (el *EmployeeList) SaveToFile(filename string) error {
data, err := proto.Marshal(el)
if err != nil {
return err
}
file, err := os.Create(filename)
if err != nil {
return err
}
defer file.Close()
_, err = file.Write(data)
if err != nil {
return err
}
return nil
}
func LoadFromFile(filename string) (*EmployeeList, error) {
file, err := os.Open(filename)
if err != nil {
return nil, err
}
defer file.Close()
data, err := os.ReadFile(filename)
if err != nil {
return nil, err
}
el := &EmployeeList{}
err = proto.Unmarshal(data, el)
if err != nil {
return nil, err
}
return el, nil
}