merch-api/internal/merch/service.go
2026-03-11 19:31:49 +03:00

48 lines
1 KiB
Go

package merch
import (
"context"
"merch-api/internal/user"
"merch-api/pkg/utils"
)
const serviceLogHeader string = "[Service]"
type service struct {
repo Repository
utils utils.Utils
userProvider user.Provider
}
func newService(repo Repository, u utils.Utils, up user.Provider) *service {
return &service{
repo: repo,
utils: u,
userProvider: up,
}
}
// getOriginsMaps
// first return name:id
// second id:name
func (s *service) getOriginsMaps(ctx context.Context) (map[string]int64, map[int64]string, error) {
origins, err := s.repo.getOrigins(ctx)
if err != nil {
logErr(serviceLogHeader, err)
return nil, nil, err
}
namesMap := make(map[string]int64, len(origins))
idsMap := make(map[int64]string, len(origins))
for _, origin := range origins {
namesMap[origin.Name] = origin.Id
idsMap[origin.Id] = origin.Name
}
return namesMap, idsMap, nil
}
func (s *service) getMerchUuidMap(ctx context.Context, uuids []string) (map[string]int64, error) {
return s.repo.getMerchUuidMap(ctx, uuids)
}