Files
payments/pkg/client/models/components/transferinitiationrequest.go
CrimsonandGitHub 4ae387a5d1 test: setup go SDK generation for use in e2e tests and start running CI steps with nix (#377)
* Use formance-sdk-go/v3 to in connector uninstall e2e test

* Compile API docs from openapi spec

* Generate go SDK locally for use in integration tests

* Get rid of unnecessary redirect in e2e tests now that SDK is generated

* Omit generated SDK code from codecoverage checks

* Add flake and envrc for nix

* Run Dirty and Tests CI steps with nix

* Run pre-commit using nix

* Remove duplicated steps from Earthfile

* Fixes for linter

* Add go generate to Justfile pre-commit

* Still run Deploy on ubuntu-latest

* Address coderabbit feedback
2025-03-31 10:30:34 +02:00

140 lines
3.3 KiB
Go

// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
package components
import (
"encoding/json"
"fmt"
"github.com/formancehq/payments/pkg/client/internal/utils"
"math/big"
"time"
)
type TransferInitiationRequestType string
const (
TransferInitiationRequestTypeTransfer TransferInitiationRequestType = "TRANSFER"
TransferInitiationRequestTypePayout TransferInitiationRequestType = "PAYOUT"
)
func (e TransferInitiationRequestType) ToPointer() *TransferInitiationRequestType {
return &e
}
func (e *TransferInitiationRequestType) UnmarshalJSON(data []byte) error {
var v string
if err := json.Unmarshal(data, &v); err != nil {
return err
}
switch v {
case "TRANSFER":
fallthrough
case "PAYOUT":
*e = TransferInitiationRequestType(v)
return nil
default:
return fmt.Errorf("invalid value for TransferInitiationRequestType: %v", v)
}
}
type TransferInitiationRequest struct {
Reference string `json:"reference"`
ScheduledAt time.Time `json:"scheduledAt"`
Description string `json:"description"`
SourceAccountID string `json:"sourceAccountID"`
DestinationAccountID string `json:"destinationAccountID"`
ConnectorID *string `json:"connectorID,omitempty"`
Type TransferInitiationRequestType `json:"type"`
Amount *big.Int `json:"amount"`
Asset string `json:"asset"`
Validated bool `json:"validated"`
Metadata map[string]string `json:"metadata,omitempty"`
}
func (t TransferInitiationRequest) MarshalJSON() ([]byte, error) {
return utils.MarshalJSON(t, "", false)
}
func (t *TransferInitiationRequest) UnmarshalJSON(data []byte) error {
if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
return err
}
return nil
}
func (o *TransferInitiationRequest) GetReference() string {
if o == nil {
return ""
}
return o.Reference
}
func (o *TransferInitiationRequest) GetScheduledAt() time.Time {
if o == nil {
return time.Time{}
}
return o.ScheduledAt
}
func (o *TransferInitiationRequest) GetDescription() string {
if o == nil {
return ""
}
return o.Description
}
func (o *TransferInitiationRequest) GetSourceAccountID() string {
if o == nil {
return ""
}
return o.SourceAccountID
}
func (o *TransferInitiationRequest) GetDestinationAccountID() string {
if o == nil {
return ""
}
return o.DestinationAccountID
}
func (o *TransferInitiationRequest) GetConnectorID() *string {
if o == nil {
return nil
}
return o.ConnectorID
}
func (o *TransferInitiationRequest) GetType() TransferInitiationRequestType {
if o == nil {
return TransferInitiationRequestType("")
}
return o.Type
}
func (o *TransferInitiationRequest) GetAmount() *big.Int {
if o == nil {
return big.NewInt(0)
}
return o.Amount
}
func (o *TransferInitiationRequest) GetAsset() string {
if o == nil {
return ""
}
return o.Asset
}
func (o *TransferInitiationRequest) GetValidated() bool {
if o == nil {
return false
}
return o.Validated
}
func (o *TransferInitiationRequest) GetMetadata() map[string]string {
if o == nil {
return nil
}
return o.Metadata
}