package adminbenefactorservice import ( "context" paginationparam "git.gocasts.ir/ebhomengo/niki/param" param "git.gocasts.ir/ebhomengo/niki/param/admin/benefactor" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" ) func (s Service) GetAllBenefactor(ctx context.Context, req param.GetAllBenefactorRequest) (param.GetAllBenefactorResponse, error) { const op = "adminbenefactorservice.GetAllBenefactor" benefactorInfo := make([]param.Data, 0) benefactors, total, err := s.benefactorSvc.GetAllBenefactors(ctx, req.Filter, req.Pagination, req.Sort) if err != nil { return param.GetAllBenefactorResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected) } for _, benefactor := range benefactors { benefactorInfo = append(benefactorInfo, param.Data{ ID: benefactor.ID, FirstName: benefactor.FirstName, LastName: benefactor.LastName, PhoneNumber: benefactor.PhoneNumber, Description: benefactor.Description, Email: benefactor.Email, Gender: benefactor.Gender, BirthDate: benefactor.BirthDate, Roll: benefactor.Role, Status: benefactor.Status, }) } return param.GetAllBenefactorResponse{Data: benefactorInfo, Pagination: paginationparam.PaginationResponse{ PageSize: req.Pagination.PageSize, PageNumber: req.Pagination.PageNumber, Total: total, }}, nil }