merch-api/internal/merch/service.go

57 lines
1 KiB
Go
Raw Normal View History

2026-02-23 20:02:17 +03:00
package merch
2026-03-01 22:13:39 +03:00
import (
"merch-api/pkg/utils"
)
2026-02-23 20:02:17 +03:00
type service struct {
2026-03-01 22:13:39 +03:00
repo Repository
utils utils.Utils
2026-02-23 20:02:17 +03:00
}
2026-03-01 22:13:39 +03:00
func newService(repo Repository, u utils.Utils) *service {
2026-02-23 20:02:17 +03:00
return &service{
2026-03-01 22:13:39 +03:00
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
2026-02-23 20:02:17 +03:00
}
2026-03-01 22:13:39 +03:00
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())
2026-02-23 20:02:17 +03:00
}