Files

53 lines
889 B
Go

// Package sw will represent the sw
package sw
import (
"errors"
"github.com/ESilva15/PTInvCertSWDB/config"
models "github.com/ESilva15/PTInvCertSWDB/sw/models"
repo "github.com/ESilva15/PTInvCertSWDB/sw/repo"
)
const (
FILEDB = "YAML"
POSTGRES = "PG"
)
var service *SWService
type SWService struct {
SWRepo repo.SWRepo
}
func StartSWService() error {
cfg := config.GetInstance()
var err error
var swRepo repo.SWRepo
switch cfg.DataBackend {
case FILEDB:
swRepo, err = repo.NewYAMLRepo(cfg.YamlBackend.Path)
if err != nil {
return errors.New("Failed to create yaml repo: " + err.Error())
}
default:
return errors.New("chosen persistence backend not implemented yet")
}
service = &SWService{
SWRepo: swRepo,
}
return nil
}
func Get(id int) (models.SW, error) {
return service.SWRepo.Get(id)
}
func Count() int {
return service.SWRepo.Count()
}