package service import ( "bitbucket.org/nemt/nemt-portal-api/domain/entity" ) // userService is the domain service for user operations type providerService struct { svc *Service } // newUserService returns an instance of userService func newProviderService(svc *Service) *providerService { return &providerService{ svc: svc, } } // Save the ride for a expected user func (s *providerService) Save(providers []entity.ProviderResponse, user entity.User) ([]entity.Provider, error) { tx, err := s.svc.db.Begin() if err != nil { return nil, err } newProviders, err := tx.Provider().Save(providers, user) if err != nil { tx.Rollback() return nil, err } tx.Commit() return newProviders, nil } func (s *providerService) GetAll(user entity.User) ([]entity.Provider, error) { return s.svc.db.Provider().GetAll(user) } func (s *providerService) Get(query string, lat float64, long float64, distance int64, planCode string, productID string, mukID string, internalID string, sort string, user entity.User) ([]entity.Provider, error) { return s.svc.db.Provider().Get(query, lat, long, distance, planCode, productID, mukID, internalID, sort, user) } func (s *providerService) GetByMukID(mukID string, user entity.User) (entity.Provider, error) { return s.svc.db.Provider().GetByMukID(mukID, user) }