56 lines
1 KiB
Go
56 lines
1 KiB
Go
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())
|
|
}
|