diff --git a/services/data-manager/service/db/dbEvents.go b/services/data-manager/service/db/dbEvents.go index b0fae8d..b34a2ac 100644 --- a/services/data-manager/service/db/dbEvents.go +++ b/services/data-manager/service/db/dbEvents.go @@ -22,6 +22,7 @@ import ( "github.com/pocketbase/pocketbase/core" "github.com/pocketbase/pocketbase/tools/types" "htwkalender/data-manager/model" + "htwkalender/data-manager/service/functions" "log/slog" "time" @@ -197,7 +198,7 @@ func NewEvent(collection *core.Collection, event model.Event) (*Event, error) { ev.SetCompulsory(event.Compulsory) if event.UUID == "" { - event.UUID = uuid.NewString() + event.UUID = functions.GenerateUUID(event) } ev.SetUUID(event.UUID) return ev, nil diff --git a/services/data-manager/service/functions/event.go b/services/data-manager/service/functions/event.go index b65e358..a28f143 100644 --- a/services/data-manager/service/functions/event.go +++ b/services/data-manager/service/functions/event.go @@ -10,8 +10,13 @@ import ( func GenerateUUIDs(events []model.Event) []model.Event { for i, event := range events { // generate a hash value from the event name, course and semester - hash := uuid.NewSHA1(uuid.NameSpaceOID, []byte(event.Name+event.Course)) - events[i].UUID = hash.String() + hash := GenerateUUID(event) + events[i].UUID = hash } return events } + +func GenerateUUID(event model.Event) string { + hash := uuid.NewSHA1(uuid.NameSpaceOID, []byte(event.Name+event.Course)).String() + return hash +}