get single merch

This commit is contained in:
nquidox 2026-03-16 21:09:01 +03:00
parent ec4fe5151e
commit 7922c00238
4 changed files with 117 additions and 7 deletions

View file

@ -49,7 +49,31 @@ func (s *service) createMerch(ctx context.Context, userId int64, payload *newMer
return s.repo.createMerch(ctx, newMerch, merchExtra)
}
func (s *service) getMany(ctx context.Context, userId int64) ([]ListResponse, error) {
func (s *service) getSingleMerch(ctx context.Context, userId int64, merchUuid string) (*singleMerchResponse, error) {
merch, err := s.repo.getSingleMerch(ctx, userId, merchUuid)
if err != nil {
logErr(serviceLogHeader, err)
return nil, err
}
if merch == nil {
return nil, nil
}
links, err := s.repo.getSingleMerchExtraData(ctx, merch.Id)
if err != nil {
logErr(serviceLogHeader, err)
return nil, err
}
return &singleMerchResponse{
MerchUuid: merch.MerchUuid,
Name: merch.Name,
Origins: links,
}, nil
}
func (s *service) getMany(ctx context.Context, userId int64) ([]listResponse, error) {
allUserMerch, err := s.repo.getMany(ctx, userId)
if err != nil {
return nil, err
@ -70,9 +94,9 @@ func (s *service) getMany(ctx context.Context, userId int64) ([]ListResponse, er
return nil, err
}
var response []ListResponse
var response []listResponse
for _, m := range allUserMerch {
response = append(response, ListResponse{
response = append(response, listResponse{
MerchUuid: m.MerchUuid,
Name: m.Name,
Labels: cardLabels[m.Id],