online-order/usecase/domain/service.go

50 lines
1.0 KiB
Go
Raw Normal View History

2023-10-29 23:33:40 +00:00
package service_domain
import (
"online-order/domain"
"online-order/entity"
)
type domainservice struct {
repo domain.DomainRepository
}
func NewDomainService(r domain.DomainRepository) *domainservice {
return &domainservice{
repo: r,
}
}
func (s *domainservice) List() ([]*entity.DomainDisplay, error) {
return s.repo.List()
}
func (s *domainservice) Create(u *entity.DomainCreateUpdate) error {
return s.repo.Create(u)
}
// Retrieve a domain
func (s *domainservice) GetByID(id int) (*entity.DomainDisplay, error) {
u, err := s.repo.GetByID(id)
if err != nil {
return &entity.DomainDisplay{}, entity.ErrNotFound
}
return u, nil
}
func (s *domainservice) Update(u *entity.DomainCreateUpdate) error {
return s.repo.Update(u)
}
func (s *domainservice) GetByDomain(d string) (*entity.DomainDisplay, error) {
u, err := s.repo.GetByDomain(d)
if err != nil {
return &entity.DomainDisplay{}, entity.ErrNotFound
}
return u, nil
}
func (s *domainservice) Delete(id int) error {
return s.repo.Delete(id)
}