NAM-APJATEL-BACKEND/manager/repository_manager.go

47 lines
1.3 KiB
Go

package manager
import "users_management/m/repository"
type RepositoryManager interface {
NewUserRepository() repository.UsersRepo
NewDeviceRepository() repository.DevicesRepo
NewBackboneRepository() repository.BackboneRepo
NewFishboneRepository() repository.FishboneRepo
NewTowerRepository() repository.TowerRepo
NewDevicePortRepository() repository.DevicePortRepo
}
type repositoryManager struct {
infra InfraManager
}
func NewRepositoryManager(infra InfraManager) RepositoryManager {
return &repositoryManager{
infra: infra,
}
}
func (rm *repositoryManager) NewUserRepository() repository.UsersRepo {
return repository.NewUsersRepo(rm.infra.Conn())
}
func (rm *repositoryManager) NewDeviceRepository() repository.DevicesRepo {
return repository.NewDevicesRepo(rm.infra.Conn())
}
func (rm *repositoryManager) NewBackboneRepository() repository.BackboneRepo {
return repository.NewBackboneRepo(rm.infra.Conn())
}
func (rm *repositoryManager) NewFishboneRepository() repository.FishboneRepo {
return repository.NewFishboneRepo(rm.infra.Conn())
}
func (rm *repositoryManager) NewTowerRepository() repository.TowerRepo {
return repository.NewTowerRepo(rm.infra.Conn())
}
func (rm *repositoryManager) NewDevicePortRepository() repository.DevicePortRepo {
return repository.NewDevicePortRepo(rm.infra.Conn())
}