48 lines
753 B
Go
48 lines
753 B
Go
// Package sw will represent the sw
|
|
package sw
|
|
|
|
import (
|
|
"errors"
|
|
|
|
models "github.com/ESilva15/PTInvCertSWDB/sw/models"
|
|
repo "github.com/ESilva15/PTInvCertSWDB/sw/repo"
|
|
)
|
|
|
|
type RepoType int
|
|
|
|
const (
|
|
FILEDB RepoType = iota
|
|
POSTGRES
|
|
)
|
|
|
|
var service *SWService
|
|
|
|
type SWService struct {
|
|
SWRepo repo.SWRepo
|
|
}
|
|
|
|
func StartSWService(rt RepoType) error {
|
|
var err error
|
|
var swRepo repo.SWRepo
|
|
|
|
switch rt {
|
|
case FILEDB:
|
|
swRepo, err = repo.NewYAMLRepo("./swdb.yaml")
|
|
if err != nil {
|
|
return errors.New("Failed to create yaml repo: " + err.Error())
|
|
}
|
|
default:
|
|
return errors.New("repo type not implemented yet")
|
|
}
|
|
|
|
service = &SWService{
|
|
SWRepo: swRepo,
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func Get(id int) (models.SW, error) {
|
|
return service.SWRepo.Get(id)
|
|
}
|