package merch import ( "merch-api/pkg/utils" ) type service struct { repo Repository utils utils.Utils } func newService(repo Repository, u utils.Utils) *service { return &service{ repo: repo, utils: u, } } func (s *service) createOrigin(o *newOriginDTO) error { newOrigin := &Origin{ CreatedAt: s.utils.TimeNowUTC(), DeletedAt: s.utils.DeletedNullTime(), Name: o.Name, } logDebugService("create origin success") return s.repo.createOrigin(newOrigin) } func (s *service) getOrigins() (*originsDTO, error) { data, err := s.repo.getOrigins() if err != nil { logErrService(err) return nil, err } var origins []originItem for _, item := range data { origins = append(origins, originItem{ Id: item.Id, Name: item.Name, }) } response := &originsDTO{ Origins: origins, } logDebugService("get origins success") return response, nil } func (s *service) deleteOrigin(origin *deleteOriginDTO) error { logDebugService("delete origin success") return s.repo.deleteOriginByName(origin.Name, s.utils.NullTimeNowUTC()) }