Files
2024-01-19 11:33:42 +00:00

258 lines
6.3 KiB
Go

// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
package shared
import (
"errors"
"github.com/formancehq/formance-sdk-go/v2/pkg/utils"
)
type TasksCursorDataType string
const (
TasksCursorDataTypeTaskStripe TasksCursorDataType = "TaskStripe"
TasksCursorDataTypeTaskWise TasksCursorDataType = "TaskWise"
TasksCursorDataTypeTaskCurrencyCloud TasksCursorDataType = "TaskCurrencyCloud"
TasksCursorDataTypeTaskDummyPay TasksCursorDataType = "TaskDummyPay"
TasksCursorDataTypeTaskModulr TasksCursorDataType = "TaskModulr"
TasksCursorDataTypeTaskBankingCircle TasksCursorDataType = "TaskBankingCircle"
TasksCursorDataTypeTaskMangoPay TasksCursorDataType = "TaskMangoPay"
TasksCursorDataTypeTaskMoneycorp TasksCursorDataType = "TaskMoneycorp"
)
type TasksCursorData struct {
TaskStripe *TaskStripe
TaskWise *TaskWise
TaskCurrencyCloud *TaskCurrencyCloud
TaskDummyPay *TaskDummyPay
TaskModulr *TaskModulr
TaskBankingCircle *TaskBankingCircle
TaskMangoPay *TaskMangoPay
TaskMoneycorp *TaskMoneycorp
Type TasksCursorDataType
}
func CreateTasksCursorDataTaskStripe(taskStripe TaskStripe) TasksCursorData {
typ := TasksCursorDataTypeTaskStripe
return TasksCursorData{
TaskStripe: &taskStripe,
Type: typ,
}
}
func CreateTasksCursorDataTaskWise(taskWise TaskWise) TasksCursorData {
typ := TasksCursorDataTypeTaskWise
return TasksCursorData{
TaskWise: &taskWise,
Type: typ,
}
}
func CreateTasksCursorDataTaskCurrencyCloud(taskCurrencyCloud TaskCurrencyCloud) TasksCursorData {
typ := TasksCursorDataTypeTaskCurrencyCloud
return TasksCursorData{
TaskCurrencyCloud: &taskCurrencyCloud,
Type: typ,
}
}
func CreateTasksCursorDataTaskDummyPay(taskDummyPay TaskDummyPay) TasksCursorData {
typ := TasksCursorDataTypeTaskDummyPay
return TasksCursorData{
TaskDummyPay: &taskDummyPay,
Type: typ,
}
}
func CreateTasksCursorDataTaskModulr(taskModulr TaskModulr) TasksCursorData {
typ := TasksCursorDataTypeTaskModulr
return TasksCursorData{
TaskModulr: &taskModulr,
Type: typ,
}
}
func CreateTasksCursorDataTaskBankingCircle(taskBankingCircle TaskBankingCircle) TasksCursorData {
typ := TasksCursorDataTypeTaskBankingCircle
return TasksCursorData{
TaskBankingCircle: &taskBankingCircle,
Type: typ,
}
}
func CreateTasksCursorDataTaskMangoPay(taskMangoPay TaskMangoPay) TasksCursorData {
typ := TasksCursorDataTypeTaskMangoPay
return TasksCursorData{
TaskMangoPay: &taskMangoPay,
Type: typ,
}
}
func CreateTasksCursorDataTaskMoneycorp(taskMoneycorp TaskMoneycorp) TasksCursorData {
typ := TasksCursorDataTypeTaskMoneycorp
return TasksCursorData{
TaskMoneycorp: &taskMoneycorp,
Type: typ,
}
}
func (u *TasksCursorData) UnmarshalJSON(data []byte) error {
taskStripe := TaskStripe{}
if err := utils.UnmarshalJSON(data, &taskStripe, "", true, true); err == nil {
u.TaskStripe = &taskStripe
u.Type = TasksCursorDataTypeTaskStripe
return nil
}
taskWise := TaskWise{}
if err := utils.UnmarshalJSON(data, &taskWise, "", true, true); err == nil {
u.TaskWise = &taskWise
u.Type = TasksCursorDataTypeTaskWise
return nil
}
taskCurrencyCloud := TaskCurrencyCloud{}
if err := utils.UnmarshalJSON(data, &taskCurrencyCloud, "", true, true); err == nil {
u.TaskCurrencyCloud = &taskCurrencyCloud
u.Type = TasksCursorDataTypeTaskCurrencyCloud
return nil
}
taskDummyPay := TaskDummyPay{}
if err := utils.UnmarshalJSON(data, &taskDummyPay, "", true, true); err == nil {
u.TaskDummyPay = &taskDummyPay
u.Type = TasksCursorDataTypeTaskDummyPay
return nil
}
taskModulr := TaskModulr{}
if err := utils.UnmarshalJSON(data, &taskModulr, "", true, true); err == nil {
u.TaskModulr = &taskModulr
u.Type = TasksCursorDataTypeTaskModulr
return nil
}
taskBankingCircle := TaskBankingCircle{}
if err := utils.UnmarshalJSON(data, &taskBankingCircle, "", true, true); err == nil {
u.TaskBankingCircle = &taskBankingCircle
u.Type = TasksCursorDataTypeTaskBankingCircle
return nil
}
taskMangoPay := TaskMangoPay{}
if err := utils.UnmarshalJSON(data, &taskMangoPay, "", true, true); err == nil {
u.TaskMangoPay = &taskMangoPay
u.Type = TasksCursorDataTypeTaskMangoPay
return nil
}
taskMoneycorp := TaskMoneycorp{}
if err := utils.UnmarshalJSON(data, &taskMoneycorp, "", true, true); err == nil {
u.TaskMoneycorp = &taskMoneycorp
u.Type = TasksCursorDataTypeTaskMoneycorp
return nil
}
return errors.New("could not unmarshal into supported union types")
}
func (u TasksCursorData) MarshalJSON() ([]byte, error) {
if u.TaskStripe != nil {
return utils.MarshalJSON(u.TaskStripe, "", true)
}
if u.TaskWise != nil {
return utils.MarshalJSON(u.TaskWise, "", true)
}
if u.TaskCurrencyCloud != nil {
return utils.MarshalJSON(u.TaskCurrencyCloud, "", true)
}
if u.TaskDummyPay != nil {
return utils.MarshalJSON(u.TaskDummyPay, "", true)
}
if u.TaskModulr != nil {
return utils.MarshalJSON(u.TaskModulr, "", true)
}
if u.TaskBankingCircle != nil {
return utils.MarshalJSON(u.TaskBankingCircle, "", true)
}
if u.TaskMangoPay != nil {
return utils.MarshalJSON(u.TaskMangoPay, "", true)
}
if u.TaskMoneycorp != nil {
return utils.MarshalJSON(u.TaskMoneycorp, "", true)
}
return nil, errors.New("could not marshal union type: all fields are null")
}
type TasksCursorCursor struct {
Data []TasksCursorData `json:"data"`
HasMore bool `json:"hasMore"`
Next *string `json:"next,omitempty"`
PageSize int64 `json:"pageSize"`
Previous *string `json:"previous,omitempty"`
}
func (o *TasksCursorCursor) GetData() []TasksCursorData {
if o == nil {
return []TasksCursorData{}
}
return o.Data
}
func (o *TasksCursorCursor) GetHasMore() bool {
if o == nil {
return false
}
return o.HasMore
}
func (o *TasksCursorCursor) GetNext() *string {
if o == nil {
return nil
}
return o.Next
}
func (o *TasksCursorCursor) GetPageSize() int64 {
if o == nil {
return 0
}
return o.PageSize
}
func (o *TasksCursorCursor) GetPrevious() *string {
if o == nil {
return nil
}
return o.Previous
}
type TasksCursor struct {
Cursor TasksCursorCursor `json:"cursor"`
}
func (o *TasksCursor) GetCursor() TasksCursorCursor {
if o == nil {
return TasksCursorCursor{}
}
return o.Cursor
}