1
0
Fork 0

refactor(training): make TrainingID a type alias of uuid.UUID, not new type

This commit is contained in:
Vojtěch Mareš 2024-05-04 17:20:29 +02:00
parent 92f2460b6b
commit 04e5710b00
Signed by: vojtech.mares
GPG key ID: C6827B976F17240D

View file

@ -1,32 +1,13 @@
package training package training
import ( import (
"encoding/json"
"github.com/google/uuid" "github.com/google/uuid"
) )
type TrainingID uuid.UUID type TrainingID = uuid.UUID
func NewTrainingID() TrainingID { func NewTrainingID() TrainingID {
return TrainingID(uuid.Must(uuid.NewV7())) return uuid.Must(uuid.NewV7())
}
func (id TrainingID) String() string {
return uuid.UUID(id).String()
}
func (id TrainingID) MarshalJSON() ([]byte, error) {
return json.Marshal(uuid.UUID(id))
}
func (id *TrainingID) UnmarshalJSON(data []byte) error {
var u uuid.UUID
if err := json.Unmarshal(data, &u); err != nil {
return err
}
*id = TrainingID(u)
return nil
} }
type Training struct { type Training struct {