From 39b494dca20baeb67c6cf5044f87b2a27b5d61ec Mon Sep 17 00:00:00 2001 From: Anna Velentsevich Date: Mon, 13 Jan 2025 11:35:23 +0100 Subject: [PATCH 1/3] update go-client with invoice_custom_sections --- customer.go | 16 +++++++++++++++- invoice.go | 20 +++++++++++++++----- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/customer.go b/customer.go index 453cdc6..863f24c 100644 --- a/customer.go +++ b/customer.go @@ -109,6 +109,8 @@ type CustomerInput struct { IntegrationCustomers []IntegrationCustomer `json:"integration_customers,omitempty"` TaxCodes []string `json:"tax_codes,omitempty"` FinalizeZeroAmountInvoice FinalizeZeroAmountInvoice `json:"finalize_zero_amount_invoice,omitempty"` + SkipInvoiceCustomSections bool `json:"skip_invoice_custom_sections,omitempty"` + InvoiceCustomSectionCodes []string `json:"invoice_custom_section_codes,omitempty"` } type CustomerListInput struct { @@ -153,6 +155,17 @@ type IntegrationCustomer struct { SyncWithProvider bool `json:"sync_with_provider,omitempty"` } +type InvoiceCustomSection struct { + LagoId uuid.UUID `json:"lago_id,omitempty"` + Code string `json:"code,omitempty"` + Name string `json:"name,omitempty"` + Description string `json:"description,omitempty"` + Details float32 `json:"details,omitempty"` + DisplayName string `json:"display_name,omitempty"` + SelectedForOrganization bool `json:"selected_for_organization,omitempty"` + CreatedAt time.Time `json:"created_at,omitempty"` +} + type IntegrationCustomersResponse struct { LagoID uuid.UUID `json:"lago_id,omitempty"` ExternalCustomerId string `json:"external_customer_id,omitempty"` @@ -254,7 +267,8 @@ type Customer struct { Timezone string `json:"timezone,omitempty"` ApplicableTimezone string `json:"applicable_timezone,omitempty"` - Taxes []Tax `json:"taxes,omitempty"` + Taxes []Tax `json:"taxes,omitempty"` + ApplicableInvoiceCustomSections []InvoiceCustomSection `json:"applicable_invoice_custom_sections,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` diff --git a/invoice.go b/invoice.go index 5f24aaa..a4439c4 100644 --- a/invoice.go +++ b/invoice.go @@ -131,6 +131,15 @@ type InvoiceCredit struct { BeforeTaxes bool `json:"before_taxes,omitempty"` } +type InvoiceAppliedInvoiceCustomSection struct { + LagoId uuid.UUID `json:"lago_id,omitempty"` + LagoInvoiceId uuid.UUID `json:"lago_invoice_id,omitempty"` + Code string `json:"code,omitempty"` + Details float32 `json:"details,omitempty"` + DisplayName string `json:"display_name,omitempty"` + CreatedAt time.Time `json:"created_at,omitempty"` +} + type InvoiceAppliedTax struct { LagoId uuid.UUID `json:"lago_id,omitempty"` LagoInvoiceId uuid.UUID `json:"lago_invoice_id,omitempty"` @@ -185,11 +194,12 @@ type Invoice struct { Customer *Customer `json:"customer,omitempty"` Subscriptions []Subscription `json:"subscriptions,omitempty"` - Fees []Fee `json:"fees,omitempty"` - Credits []InvoiceCredit `json:"credits,omitempty"` - AppliedTaxes []InvoiceAppliedTax `json:"applied_taxes,omitempty"` - ErrorDetails []InvoiceErrorDetail `json:"error_details,omitempty"` - AppliedUsageThreshold []AppliedUsageThreshold `json:"applied_usage_threshold,omitempty"` + Fees []Fee `json:"fees,omitempty"` + Credits []InvoiceCredit `json:"credits,omitempty"` + AppliedInvoiceCustomSections []InvoiceAppliedInvoiceCustomSection `json:"applied_invoice_custom_section,omitempty"` + AppliedTaxes []InvoiceAppliedTax `json:"applied_taxes,omitempty"` + ErrorDetails []InvoiceErrorDetail `json:"error_details,omitempty"` + AppliedUsageThreshold []AppliedUsageThreshold `json:"applied_usage_threshold,omitempty"` } type InvoicePaymentUrl struct { From 1363fec5c4c0c0732ee7254df4fddd4fb8b1ba8a Mon Sep 17 00:00:00 2001 From: Anna Velentsevich Date: Tue, 14 Jan 2025 10:03:50 +0100 Subject: [PATCH 2/3] fix wrong type for ics details --- customer.go | 2 +- invoice.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/customer.go b/customer.go index 863f24c..979e579 100644 --- a/customer.go +++ b/customer.go @@ -160,7 +160,7 @@ type InvoiceCustomSection struct { Code string `json:"code,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` - Details float32 `json:"details,omitempty"` + Details string `json:"details,omitempty"` DisplayName string `json:"display_name,omitempty"` SelectedForOrganization bool `json:"selected_for_organization,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` diff --git a/invoice.go b/invoice.go index a4439c4..b16d878 100644 --- a/invoice.go +++ b/invoice.go @@ -135,7 +135,7 @@ type InvoiceAppliedInvoiceCustomSection struct { LagoId uuid.UUID `json:"lago_id,omitempty"` LagoInvoiceId uuid.UUID `json:"lago_invoice_id,omitempty"` Code string `json:"code,omitempty"` - Details float32 `json:"details,omitempty"` + Details string `json:"details,omitempty"` DisplayName string `json:"display_name,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` } From bd63f900d18dde0016924bdb193a3744ec54e768 Mon Sep 17 00:00:00 2001 From: Anna Velentsevich Date: Tue, 14 Jan 2025 12:54:16 +0100 Subject: [PATCH 3/3] fix misspellings --- customer.go | 3 ++- invoice.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/customer.go b/customer.go index 979e579..756b303 100644 --- a/customer.go +++ b/customer.go @@ -162,7 +162,7 @@ type InvoiceCustomSection struct { Description string `json:"description,omitempty"` Details string `json:"details,omitempty"` DisplayName string `json:"display_name,omitempty"` - SelectedForOrganization bool `json:"selected_for_organization,omitempty"` + AppliedToOrganization bool `json:"applied_to_organization,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` } @@ -266,6 +266,7 @@ type Customer struct { Currency Currency `json:"currency,omitempty"` Timezone string `json:"timezone,omitempty"` ApplicableTimezone string `json:"applicable_timezone,omitempty"` + SkipInvoiceCustomSections bool `json:"skip_invoice_custom_sections,omitempty"` Taxes []Tax `json:"taxes,omitempty"` ApplicableInvoiceCustomSections []InvoiceCustomSection `json:"applicable_invoice_custom_sections,omitempty"` diff --git a/invoice.go b/invoice.go index b16d878..3a2a792 100644 --- a/invoice.go +++ b/invoice.go @@ -196,7 +196,7 @@ type Invoice struct { Fees []Fee `json:"fees,omitempty"` Credits []InvoiceCredit `json:"credits,omitempty"` - AppliedInvoiceCustomSections []InvoiceAppliedInvoiceCustomSection `json:"applied_invoice_custom_section,omitempty"` + AppliedInvoiceCustomSections []InvoiceAppliedInvoiceCustomSection `json:"applied_invoice_custom_sections,omitempty"` AppliedTaxes []InvoiceAppliedTax `json:"applied_taxes,omitempty"` ErrorDetails []InvoiceErrorDetail `json:"error_details,omitempty"` AppliedUsageThreshold []AppliedUsageThreshold `json:"applied_usage_threshold,omitempty"`