forked from ebhomengo/niki
1
0
Fork 0
niki/service/benefactor/address/get.go

32 lines
1016 B
Go

package benefactoraddressservice
import (
"context"
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/address"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
)
func (s Service) Get(ctx context.Context, req param.GetAddressRequest) (param.GetAddressResponse, error) {
const op = "benefactoraddressservice.Get"
if fieldErrors, vErr := s.vld.ValidateGetAddress(ctx, req); vErr != nil {
return param.GetAddressResponse{FieldErrors: fieldErrors}, richerror.New(op).WithErr(vErr)
}
address, err := s.repo.GetAddress(ctx, req.AddressID, req.BenefactorID)
if err != nil {
return param.GetAddressResponse{}, richerror.New(op).WithErr(err)
}
return param.GetAddressResponse{Data: param.Data{
ID: address.ID,
PostalCode: address.PostalCode,
Address: address.Address,
Name: address.Name,
Lat: address.Lat,
Lon: address.Lon,
CityID: address.CityID,
ProvinceID: address.ProvinceID,
BenefactorID: address.BenefactorID,
}}, nil
}