diff options
Diffstat (limited to 'change.go')
| -rw-r--r-- | change.go | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/change.go b/change.go deleted file mode 100644 index 2352d38..0000000 --- a/change.go +++ /dev/null @@ -1,136 +0,0 @@ -package main - -import ( - // "reflect" - - "errors" - "fmt" - "time" - - "google.golang.org/protobuf/types/known/anypb" - "google.golang.org/protobuf/types/known/timestamppb" - "google.golang.org/protobuf/types/known/wrapperspb" - - pb "go.wit.com/lib/protobuf/virtbuf" - "go.wit.com/log" -) - -func convertToAnypb(x any) *anypb.Any { - switch v := x.(type) { - case int64: - var a *anypb.Any - a, _ = anypb.New(wrapperspb.Int64(x.(int64))) - return a - case string: - var a *anypb.Any - a, _ = anypb.New(wrapperspb.String(x.(string))) - return a - case int: - var a *anypb.Any - a, _ = anypb.New(wrapperspb.Int64(x.(int64))) - return a - case bool: - var a *anypb.Any - a, _ = anypb.New(wrapperspb.Bool(x.(bool))) - return a - default: - log.Error(errors.New("convertToAnypb() unknown type"), "v =", v, "x =", x) - return nil - } - return nil -} - -func convertToString(x any) string { - switch v := x.(type) { - case int64: - return fmt.Sprintf("%d", x.(int64)) - case string: - return x.(string) - case int: - return fmt.Sprintf("%d", x.(int)) - case uint: - return fmt.Sprintf("%d", x.(uint)) - case bool: - if x.(bool) { - return "true" - } - return "false" - default: - log.Info("convertToSTring() unknown type", v) - log.Error(errors.New("convertToSTring() unknown type"), "v =", v, "x =", x) - return "" - } - return "" -} - -// Wrapping the int into a protobuf message -func NewChangeEvent(d *pb.Droplet, fname string, origval any, newval any) *pb.Event { - var e *pb.Event - e = new(pb.Event) - - e.Droplet = d.Hostname - e.OrigVal = convertToString(origval) - e.NewVal = convertToString(newval) - e.FieldName = fname - - now := time.Now() - e.Start = timestamppb.New(now) - - // this also works, but it's a bit overkill - // e.NewAny = convertToAnypb(newval) - - // me.events.Events = append(me.events.Events, e) - // stuff := me.events.FormatJSON() - // log.Info("events:", stuff) - return e -} - -// work in progress -func NewAddEvent(a any, fname string, newval any) *pb.Event { - var e *pb.Event - e = new(pb.Event) - - switch v := a.(type) { - case *pb.Droplet: - var d *pb.Droplet - d = a.(*pb.Droplet) - e.Droplet = d.Hostname - case *pb.Cluster: - e.Droplet = "Cluster" - case nil: - e.Droplet = "<nil>" - default: - log.Info("newAddEvent() unknown type", v) - e.Droplet = "on something somewhere" - } - - e.NewVal = convertToString(newval) - e.FieldName = fname - - now := time.Now() - e.Start = timestamppb.New(now) - - return e -} - -/* -// update the droplet memory -func (d *pb.Droplet) SetMemory(b int64) *pb.Event { - oldm := pb.HumanFormatBytes(d.pb.Memory) - newm := pb.HumanFormatBytes(b) - if d.pb.Memory == b { - // log.Info("droplet", d.pb.Hostname, "memory unchanged", oldm, "to", newm) - return nil - } - log.Info("droplet", d.pb.Hostname, "memory change from", oldm, "to", newm) - - return NewChangeEvent(d.pb, "Droplet.Memory", d.pb.Memory, b) -} -*/ - -/* -// update the droplet memory -func (d *pb.Droplet) SetCpus(b int64) { - log.Info("Set the number of cpus for the droplet", b) -} -*/ |
