Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 123 additions & 9 deletions accounting/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -20127,13 +20127,13 @@ type GeneralLedgerTransactionLine struct {
// The exchange rate between the base currency and the transaction currency.
ExchangeRate *string `json:"exchange_rate,omitempty"`
// A description of the line item.
Description *string `json:"description,omitempty"`
TrackingCategories []*TrackingCategory `json:"tracking_categories,omitempty"`
DebitAmount string `json:"debit_amount"`
CreditAmount string `json:"credit_amount"`
Item *GeneralLedgerTransactionLineItem `json:"item,omitempty"`
ForeignDebitAmount string `json:"foreign_debit_amount"`
ForeignCreditAmount string `json:"foreign_credit_amount"`
Description *string `json:"description,omitempty"`
TrackingCategories []*GeneralLedgerTransactionLineTrackingCategoriesItem `json:"tracking_categories,omitempty"`
DebitAmount string `json:"debit_amount"`
CreditAmount string `json:"credit_amount"`
Item *GeneralLedgerTransactionLineItem `json:"item,omitempty"`
ForeignDebitAmount string `json:"foreign_debit_amount"`
ForeignCreditAmount string `json:"foreign_credit_amount"`
// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
RemoteWasDeleted *bool `json:"remote_was_deleted,omitempty"`
FieldMappings map[string]interface{} `json:"field_mappings,omitempty"`
Expand Down Expand Up @@ -20815,6 +20815,63 @@ func (g *GeneralLedgerTransactionLineItem) Accept(visitor GeneralLedgerTransacti
}
}

type GeneralLedgerTransactionLineTrackingCategoriesItem struct {
typeName string
String string
TrackingCategory *TrackingCategory
}

func NewGeneralLedgerTransactionLineTrackingCategoriesItemFromString(value string) *GeneralLedgerTransactionLineTrackingCategoriesItem {
return &GeneralLedgerTransactionLineTrackingCategoriesItem{typeName: "string", String: value}
}

func NewGeneralLedgerTransactionLineTrackingCategoriesItemFromTrackingCategory(value *TrackingCategory) *GeneralLedgerTransactionLineTrackingCategoriesItem {
return &GeneralLedgerTransactionLineTrackingCategoriesItem{typeName: "trackingCategory", TrackingCategory: value}
}

func (g *GeneralLedgerTransactionLineTrackingCategoriesItem) UnmarshalJSON(data []byte) error {
var valueString string
if err := json.Unmarshal(data, &valueString); err == nil {
g.typeName = "string"
g.String = valueString
return nil
}
valueTrackingCategory := new(TrackingCategory)
if err := json.Unmarshal(data, &valueTrackingCategory); err == nil {
g.typeName = "trackingCategory"
g.TrackingCategory = valueTrackingCategory
return nil
}
return fmt.Errorf("%s cannot be deserialized as a %T", data, g)
}

func (g GeneralLedgerTransactionLineTrackingCategoriesItem) MarshalJSON() ([]byte, error) {
switch g.typeName {
default:
return nil, fmt.Errorf("invalid type %s in %T", g.typeName, g)
case "string":
return json.Marshal(g.String)
case "trackingCategory":
return json.Marshal(g.TrackingCategory)
}
}

type GeneralLedgerTransactionLineTrackingCategoriesItemVisitor interface {
VisitString(string) error
VisitTrackingCategory(*TrackingCategory) error
}

func (g *GeneralLedgerTransactionLineTrackingCategoriesItem) Accept(visitor GeneralLedgerTransactionLineTrackingCategoriesItemVisitor) error {
switch g.typeName {
default:
return fmt.Errorf("invalid type %s in %T", g.typeName, g)
case "string":
return visitor.VisitString(g.String)
case "trackingCategory":
return visitor.VisitTrackingCategory(g.TrackingCategory)
}
}

// The transaction currency that the transaction is made in.
//
// - `XUA` - ADB Unit of Account
Expand Down Expand Up @@ -40360,8 +40417,8 @@ func (r *RemoteEndpointInfo) String() string {
}

type RemoteField struct {
RemoteFieldClass *RemoteFieldClass `json:"remote_field_class,omitempty"`
Value map[string]interface{} `json:"value,omitempty"`
RemoteFieldClass *RemoteFieldRemoteFieldClass `json:"remote_field_class,omitempty"`
Value map[string]interface{} `json:"value,omitempty"`

_rawJSON json.RawMessage
}
Expand Down Expand Up @@ -40568,6 +40625,63 @@ func (r *RemoteFieldClass) String() string {
return fmt.Sprintf("%#v", r)
}

type RemoteFieldRemoteFieldClass struct {
typeName string
String string
RemoteFieldClass *RemoteFieldClass
}

func NewRemoteFieldRemoteFieldClassFromString(value string) *RemoteFieldRemoteFieldClass {
return &RemoteFieldRemoteFieldClass{typeName: "string", String: value}
}

func NewRemoteFieldRemoteFieldClassFromRemoteFieldClass(value *RemoteFieldClass) *RemoteFieldRemoteFieldClass {
return &RemoteFieldRemoteFieldClass{typeName: "remoteFieldClass", RemoteFieldClass: value}
}

func (r *RemoteFieldRemoteFieldClass) UnmarshalJSON(data []byte) error {
var valueString string
if err := json.Unmarshal(data, &valueString); err == nil {
r.typeName = "string"
r.String = valueString
return nil
}
valueRemoteFieldClass := new(RemoteFieldClass)
if err := json.Unmarshal(data, &valueRemoteFieldClass); err == nil {
r.typeName = "remoteFieldClass"
r.RemoteFieldClass = valueRemoteFieldClass
return nil
}
return fmt.Errorf("%s cannot be deserialized as a %T", data, r)
}

func (r RemoteFieldRemoteFieldClass) MarshalJSON() ([]byte, error) {
switch r.typeName {
default:
return nil, fmt.Errorf("invalid type %s in %T", r.typeName, r)
case "string":
return json.Marshal(r.String)
case "remoteFieldClass":
return json.Marshal(r.RemoteFieldClass)
}
}

type RemoteFieldRemoteFieldClassVisitor interface {
VisitString(string) error
VisitRemoteFieldClass(*RemoteFieldClass) error
}

func (r *RemoteFieldRemoteFieldClass) Accept(visitor RemoteFieldRemoteFieldClassVisitor) error {
switch r.typeName {
default:
return fmt.Errorf("invalid type %s in %T", r.typeName, r)
case "string":
return visitor.VisitString(r.String)
case "remoteFieldClass":
return visitor.VisitRemoteFieldClass(r.RemoteFieldClass)
}
}

type RemoteFieldRequest struct {
RemoteFieldClass *RemoteFieldRequestRemoteFieldClass `json:"remote_field_class,omitempty"`
Value interface{} `json:"value,omitempty"`
Expand Down
2 changes: 1 addition & 1 deletion core/client_option.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,6 @@ func (c *ClientOptions) cloneHeader() http.Header {
headers := c.HTTPHeader.Clone()
headers.Set("X-Fern-Language", "Go")
headers.Set("X-Fern-SDK-Name", "github.com/merge-api/merge-go-client")
headers.Set("X-Fern-SDK-Version", "v1.1.0")
headers.Set("X-Fern-SDK-Version", "v1.1.1")
return headers
}
2 changes: 1 addition & 1 deletion crm/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -9938,7 +9938,7 @@ func (r *RemoteEndpointInfo) String() string {

type RemoteField struct {
RemoteFieldClass *RemoteFieldRemoteFieldClass `json:"remote_field_class,omitempty"`
Value interface{} `json:"value,omitempty"`
Value map[string]interface{} `json:"value,omitempty"`

_rawJSON json.RawMessage
}
Expand Down
2 changes: 2 additions & 0 deletions ticketing/tickets.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ type PatchedTicketEndpointRequest struct {
type TicketsRemoteFieldClassesListRequest struct {
// The pagination cursor value.
Cursor *string `json:"-"`
// If provided, will only return remote field classes with the `ids` in this list
Ids *string `json:"-"`
// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
IncludeDeletedData *bool `json:"-"`
// Whether to include the original data Merge fetched from the third-party to produce these models.
Expand Down
3 changes: 3 additions & 0 deletions ticketing/tickets/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,9 @@ func (c *Client) RemoteFieldClassesList(ctx context.Context, request *ticketing.
if request.Cursor != nil {
queryParams.Add("cursor", fmt.Sprintf("%v", *request.Cursor))
}
if request.Ids != nil {
queryParams.Add("ids", fmt.Sprintf("%v", *request.Ids))
}
if request.IncludeDeletedData != nil {
queryParams.Add("include_deleted_data", fmt.Sprintf("%v", *request.IncludeDeletedData))
}
Expand Down
4 changes: 2 additions & 2 deletions ticketing/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -4452,7 +4452,7 @@ func (r *RemoteEndpointInfo) String() string {

type RemoteField struct {
RemoteFieldClass *RemoteFieldRemoteFieldClass `json:"remote_field_class,omitempty"`
Value interface{} `json:"value,omitempty"`
Value map[string]interface{} `json:"value,omitempty"`

_rawJSON json.RawMessage
}
Expand Down Expand Up @@ -4851,7 +4851,7 @@ func (r *RemoteFieldRemoteFieldClass) Accept(visitor RemoteFieldRemoteFieldClass

type RemoteFieldRequest struct {
RemoteFieldClass *RemoteFieldRequestRemoteFieldClass `json:"remote_field_class,omitempty"`
Value *string `json:"value,omitempty"`
Value interface{} `json:"value,omitempty"`

_rawJSON json.RawMessage
}
Expand Down