71 lines
1.5 KiB
Go
71 lines
1.5 KiB
Go
package faker
|
|
|
|
import (
|
|
"context"
|
|
"github.com/shopspring/decimal"
|
|
"gitlab.mareshq.com/hq/backoffice/backoffice-api/internal/currency"
|
|
"gitlab.mareshq.com/hq/backoffice/backoffice-api/internal/training"
|
|
)
|
|
|
|
type Faker struct {
|
|
trainingRepository training.Repository
|
|
}
|
|
|
|
func NewFaker(trainingRepository training.Repository) *Faker {
|
|
return &Faker{
|
|
trainingRepository: trainingRepository,
|
|
}
|
|
}
|
|
|
|
func (f *Faker) GenerateFakeData() error {
|
|
var t *training.Training
|
|
|
|
oneDayPricing := []training.Price{
|
|
{
|
|
Currency: currency.CZK,
|
|
Amount: decimal.NewFromInt(5900),
|
|
Type: training.OpenTrainingPriceType,
|
|
},
|
|
{
|
|
Currency: currency.CZK,
|
|
Amount: decimal.NewFromInt(24000),
|
|
Type: training.CorporateTrainingPriceType,
|
|
},
|
|
}
|
|
|
|
twoDayPricing := []training.Price{
|
|
{
|
|
Currency: currency.CZK,
|
|
Amount: decimal.NewFromInt(9900),
|
|
Type: training.OpenTrainingPriceType,
|
|
},
|
|
{
|
|
Currency: currency.CZK,
|
|
Amount: decimal.NewFromInt(44000),
|
|
Type: training.CorporateTrainingPriceType,
|
|
},
|
|
}
|
|
|
|
t = training.NewTraining("Kubernetes v1", 1, nil)
|
|
|
|
err := f.trainingRepository.Create(context.Background(), t)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t = training.NewTraining("Kubernetes", 2, twoDayPricing)
|
|
|
|
err = f.trainingRepository.Create(context.Background(), t)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t = training.NewTraining("Terraform", 1, oneDayPricing)
|
|
|
|
err = f.trainingRepository.Create(context.Background(), t)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|