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 NewCountAssetsRepository() repository.CountAssetsRepo NewActivityLogRepository() repository.ActivityLogRepo NewDeviceInspectionRepository() repository.DeviceInspectionRepo NewNearestDeviceRepository() repository.NearestDeviceRepo NewDeviceDetailsRepository() repository.DeviceDetailsRepo NewOLTRepo() repository.OLTRepo NewCableConnectionRepository() repository.CableConnectionRepo } type repositoryManager struct { infra InfraManager } func NewRepositoryManager(infra InfraManager) RepositoryManager { return &repositoryManager{ infra: infra, } } func (rm *repositoryManager) NewDeviceDetailsRepository() repository.DeviceDetailsRepo { return repository.NewDeviceDetailsRepo(rm.infra.Conn()) } func (rm *repositoryManager) NewNearestDeviceRepository() repository.NearestDeviceRepo { return repository.NewNearestDeviceRepo(rm.infra.Conn()) } 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()) } func (rm *repositoryManager) NewCountAssetsRepository() repository.CountAssetsRepo { return repository.NewCountAssetsRepo(rm.infra.Conn()) } func (rm *repositoryManager) NewActivityLogRepository() repository.ActivityLogRepo { return repository.NewActivityLogRepo(rm.infra.Conn()) } func (rm *repositoryManager) NewDeviceInspectionRepository() repository.DeviceInspectionRepo { return repository.NewDeviceInspectionRepo(rm.infra.Conn()) } func (rm *repositoryManager) NewOLTRepo() repository.OLTRepo { return repository.NewOLTRepo(rm.infra.Conn()) } func (rm *repositoryManager) NewCableConnectionRepository() repository.CableConnectionRepo { return repository.NewCableConnectionRepo(rm.infra.Conn()) }