diff --git a/internal/pkg/model/typeMethods.go b/internal/pkg/model/typeMethods.go new file mode 100644 index 0000000..e4589bb --- /dev/null +++ b/internal/pkg/model/typeMethods.go @@ -0,0 +1,25 @@ +package model + +import ( + "crypto/sha256" + "encoding/json" + "fmt" +) + +func (b *BeaconEvent) Hash() []byte { + rBatt := (b.Battery / 10) * 10 + c := fmt.Sprintf("%d%d%s%s%s", rBatt, b.Event, b.ID, b.Name, b.Type) + h := sha256.New() + h.Write([]byte(c)) + bs := h.Sum(nil) + + return bs +} + +func (b BeaconEvent) ToJSON() ([]byte, error) { + eData, err := json.Marshal(b) + if err != nil { + return nil, err + } + return eData, nil +}