// 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() }