github.com/miguelgrubin/gin-boilerplate@v0.0.0-20231208120009-f8f00c6d4138/pkg/petshop/infrastructure/storage/sql_pet_seeder.go (about)

     1  package storage
     2  
     3  import (
     4  	"github.com/miguelgrubin/gin-boilerplate/pkg/petshop/domain"
     5  	"gorm.io/gorm"
     6  )
     7  
     8  func SeedPets(db *gorm.DB) ([]domain.Pet, error) {
     9  	pr := NewPetRepository(db)
    10  	pets := []domain.Pet{
    11  		domain.NewPet(domain.CreatePetParams{
    12  			Name:   "Tommy",
    13  			Status: "bored",
    14  		}),
    15  		domain.NewPet(domain.CreatePetParams{
    16  			Name:   "Katty",
    17  			Status: "sleeping",
    18  		}),
    19  	}
    20  	for _, v := range pets {
    21  		err := pr.Save(v)
    22  		if err != nil {
    23  			return nil, err
    24  		}
    25  	}
    26  	return pets, nil
    27  }