niki/domain/wallet/service/get_user_wallet.go

29 lines
667 B
Go

package service
import (
"context"
"git.gocasts.ir/ebhomengo/niki/domain/wallet/param"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
)
func (s Service) GetUserWallet(ctx context.Context, request param.WalletRequest) (param.WalletResponse, error) {
const op = richerror.Op("wallet.service.GetUserWallet")
wallet, err := s.repo.GetWalletByUserID(ctx, request.UserID)
if err != nil {
return param.WalletResponse{}, richerror.New(op).WithErr(err)
}
return param.WalletResponse{
Wallet: param.WalletInfo{
Balance: wallet.Balance,
Currency: wallet.Currency,
UpdatedAt: wallet.UpdatedAt,
Status: wallet.Status,
},
}, nil
}