feat!: add slug to training
BREAKING CHANGE: update init migration
This commit is contained in:
parent
556b4f4e79
commit
2d32c80182
12 changed files with 219 additions and 45 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package training
|
||||
|
||||
import (
|
||||
"gitlab.mareshq.com/hq/yggdrasil/pkg/slug"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
|
@ -24,6 +25,16 @@ func (r *InMemoryTrainingRepository) Create(training *Training) error {
|
|||
|
||||
training.ID = r.ai
|
||||
r.ai++
|
||||
|
||||
if training.Slug == "" {
|
||||
training.Slug = slug.NewString(training.Name)
|
||||
} else {
|
||||
slugValidateErr := slug.Validate(training.Slug)
|
||||
if slugValidateErr != nil {
|
||||
return slugValidateErr
|
||||
}
|
||||
}
|
||||
|
||||
r.trainings[training.ID] = *training
|
||||
return nil
|
||||
}
|
||||
|
|
@ -54,6 +65,15 @@ func (r *InMemoryTrainingRepository) Update(training *Training) error {
|
|||
r.lock.Lock()
|
||||
defer r.lock.Unlock()
|
||||
|
||||
if training.Slug == "" {
|
||||
training.Slug = slug.NewString(training.Name)
|
||||
} else {
|
||||
slugValidateErr := slug.Validate(training.Slug)
|
||||
if slugValidateErr != nil {
|
||||
return slugValidateErr
|
||||
}
|
||||
}
|
||||
|
||||
r.trainings[training.ID] = *training
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue