niki/service/admin/benefactor_aggregator/get.go

34 lines
1007 B
Go

package adminbenefactoraggregatorservice
import (
"context"
param "git.gocasts.ir/ebhomengo/niki/param/admin/benefactor"
response "git.gocasts.ir/ebhomengo/niki/pkg/response_builder"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
)
func (s Service) GetByIDs(ctx context.Context, benefactorIDs []any) ([]param.Data, error) {
const op = "adminbenefactoraggregatorservice.GetByIDs"
var data []param.Data
benefactors, err := s.repo.GetBenefactorByIds(ctx, benefactorIDs)
if err != nil {
return nil, richerror.New(op).WithErr(err)
}
for _, benefactor := range benefactors {
data = append(data, param.Data{
ID: benefactor.ID,
FirstName: benefactor.FirstName,
LastName: benefactor.LastName,
PhoneNumber: benefactor.PhoneNumber,
Description: benefactor.Description,
Email: benefactor.Email,
Gender: benefactor.Gender,
BirthDate: response.GetNullDate(benefactor.BirthDate),
Status: benefactor.Status,
})
}
return data, nil
}