Initial commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package rudder
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"hub.rudder.build/rudder/rudder-go-sdk/models"
|
||||
)
|
||||
|
||||
type WalletService struct {
|
||||
transport *transport
|
||||
}
|
||||
|
||||
type AdjustWalletParameters struct {
|
||||
CurrencyCode string
|
||||
Amount int64
|
||||
Reason string
|
||||
}
|
||||
|
||||
func (s *WalletService) Adjust(ctx context.Context, playerID string, parameters AdjustWalletParameters) (*models.WalletDetails, error) {
|
||||
body := models.AdjustPlayerWalletRequest{
|
||||
PlayerID: playerID,
|
||||
CurrencyCode: parameters.CurrencyCode,
|
||||
Amount: parameters.Amount,
|
||||
Reason: parameters.Reason,
|
||||
}
|
||||
|
||||
var response models.WalletDetails
|
||||
if err := s.transport.do(ctx, http.MethodPost, "/players/"+url.PathEscape(playerID)+"/wallet/adjust", nil, body, &response); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &response, nil
|
||||
}
|
||||
Reference in New Issue
Block a user