47 lines
1.3 KiB
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())
|
|
} |