39 lines
722 B
Go
39 lines
722 B
Go
package services
|
|
|
|
import (
|
|
"log"
|
|
"whimsoc/vindn-backend/models"
|
|
"whimsoc/vindn-backend/repositories"
|
|
"whimsoc/vindn-backend/utils"
|
|
)
|
|
|
|
func FetchEvents() ([]models.Event, error) {
|
|
return utils.FetchDataFromAPI()
|
|
}
|
|
|
|
type EventService struct {
|
|
repo repositories.EventRepository
|
|
}
|
|
|
|
func NewEventService(repo repositories.EventRepository) *EventService {
|
|
return &EventService{repo}
|
|
}
|
|
|
|
func (s *EventService) ImportEvents() error {
|
|
events, err := utils.FetchDataFromAPI()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
log.Println("Data will be saved.")
|
|
for _, event := range events {
|
|
if err := s.repo.Save(&event); err != nil {
|
|
log.Println("Fehler beim Speichern:", err)
|
|
}
|
|
}
|
|
|
|
log.Println("Data is saved.")
|
|
|
|
return nil
|
|
}
|