1
0
Fork 0
This repository has been archived on 2025-09-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
mareshq-yggdrasil/pkg/training/model.go
2024-05-04 15:01:19 +02:00

36 lines
590 B
Go

package training
import (
"encoding/json"
"github.com/google/uuid"
)
type TrainingID uuid.UUID
func NewTrainingID() TrainingID {
return TrainingID(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 {
ID TrainingID
Name string
Days int32
}