From a9927763f43d59c418b264790ccee59defe8ca29 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Tue, 24 Oct 2023 08:38:40 +0200 Subject: refactor: Rename packages for clarity --- kcore/core.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 kcore/core.go (limited to 'kcore/core.go') diff --git a/kcore/core.go b/kcore/core.go new file mode 100644 index 0000000..5e206e1 --- /dev/null +++ b/kcore/core.go @@ -0,0 +1,34 @@ +package kcore + +import ( + "encoding/base64" + + "github.com/gofrs/uuid" +) + +type ID struct { + uuid.UUID +} + +func NewID() ID { + id, err := uuid.NewV4() + Expect(err, "error generating uuid") + + return ID{id} +} + +func (id ID) String() string { + return base64.RawURLEncoding.EncodeToString(id.Bytes()) +} + +func ParseID(value string) (ID, error) { + bytes, err := base64.RawURLEncoding.DecodeString(value) + if err != nil { + return ID{}, Wrap(err, "error decoding value") + } + id, err := uuid.FromBytes(bytes) + if err != nil { + return ID{}, Wrap(err, "error parsing uuid") + } + return ID{id}, nil +} -- cgit v1.3