package benefactoraddressservice import ( "context" "git.gocasts.ir/ebhomengo/niki/entity" param "git.gocasts.ir/ebhomengo/niki/param/benefactor/address" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" ) func (s Service) Add(ctx context.Context, req param.BenefactorAddAddressRequest) (param.BenefactorAddAddressResponse, error) { const op = "benefactoraddressservice.Add" if fieldErrors, vErr := s.vld.ValidateAddAddress(ctx, req); vErr != nil { return param.BenefactorAddAddressResponse{FieldErrors: fieldErrors}, richerror.New(op).WithErr(vErr) } address, err := s.repo.CreateBenefactorAddress(ctx, entity.Address{ PostalCode: req.PostalCode, Address: req.Address, Name: req.Name, Lat: req.Lat, Lon: req.Lon, CityID: req.CityID, BenefactorID: req.BenefactorID, }) if err != nil { return param.BenefactorAddAddressResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected) } return param.BenefactorAddAddressResponse{Address: address}, nil }