Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge hotfix into develop #110

Merged
merged 8 commits into from
Jul 6, 2024
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
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## 0.13.3 | 2024-07-05
* Fix deserialization for id in CustomFieldAttribute entity.

## 0.13.2 | 2024-06-26
* Fix deserialization for sales_invoice in `CustomFieldSource` enum.

Expand Down
3 changes: 2 additions & 1 deletion src/Moneybird.Net/Entities/Contacts/Contact.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Entities.Notes;
using Moneybird.Net.Misc;

Expand Down Expand Up @@ -141,7 +142,7 @@ public class Contact : IMoneybirdEntity
public List<Note> Notes { get; set; }

[JsonPropertyName("custom_fields")]
public List<ContactCustomFieldsAttribute> CustomFields { get; set; }
public List<CustomFieldAttribute> CustomFields { get; set; }

[JsonPropertyName("contact_people")]
public List<ContactPerson> ContactPeople { get; set; }
Expand Down

This file was deleted.

17 changes: 17 additions & 0 deletions src/Moneybird.Net/Entities/CustomFields/CustomFieldAttribute.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using System.Text.Json.Serialization;

namespace Moneybird.Net.Entities.CustomFields
{
public class CustomFieldAttribute
{
[JsonPropertyName("id")]
public string Id { get; set; }

[JsonPropertyName("name")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string Name { get; set; }

[JsonPropertyName("value")]
public string Value { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Moneybird.Net.Entities.Contacts;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Entities.Payments;
using Moneybird.Net.Entities.SalesInvoices;

Expand Down Expand Up @@ -101,7 +102,7 @@ public class ExternalSalesInvoice : IMoneybirdEntity
public string PaymentUrl { get; set; }

[JsonPropertyName("custom_fields")]
public List<ExternalSalesInvoiceCustomField> CustomFields { get; set; }
public List<CustomFieldAttribute> CustomFields { get; set; }

[JsonPropertyName("tax_totals")]
public List<SalesInvoiceTaxTotal> TaxTotals { get; set; }
Expand Down

This file was deleted.

3 changes: 2 additions & 1 deletion src/Moneybird.Net/Entities/SalesInvoices/SalesInvoice.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Moneybird.Net.Entities.Contacts;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Entities.Payments;

namespace Moneybird.Net.Entities.SalesInvoices
Expand Down Expand Up @@ -165,7 +166,7 @@ public class SalesInvoice : IMoneybirdEntity
public string PaymentUrl { get; set; }

[JsonPropertyName("custom_fields")]
public List<SalesInvoiceCustomField> CustomFields { get; set; }
public List<CustomFieldAttribute> CustomFields { get; set; }

[JsonPropertyName("tax_totals")]
public List<SalesInvoiceTaxTotal> TaxTotals { get; set; }
Expand Down

This file was deleted.

3 changes: 2 additions & 1 deletion src/Moneybird.Net/Models/Contacts/ContactCreateItem.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Moneybird.Net.Entities.Contacts;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Misc;

namespace Moneybird.Net.Models.Contacts
Expand Down Expand Up @@ -101,7 +102,7 @@ public class ContactCreateItem
public bool? DirectDebit { get; set; }

[JsonPropertyName("custom_fields_attributes")]
public List<ContactCustomFieldsAttribute> CustomFieldsAttributes { get; set; }
public List<CustomFieldAttribute> CustomFieldsAttributes { get; set; }

[JsonPropertyName("create_event")]
public bool? CreateEvent { get; set; }
Expand Down
3 changes: 2 additions & 1 deletion src/Moneybird.Net/Models/Contacts/ContactUpdateItem.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Moneybird.Net.Entities.Contacts;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Misc;

namespace Moneybird.Net.Models.Contacts
Expand Down Expand Up @@ -101,6 +102,6 @@ public class ContactUpdateItem
public bool? DirectDebit { get; set; }

[JsonPropertyName("custom_fields_attributes")]
public List<ContactCustomFieldsAttribute> CustomFieldsAttributes { get; set; }
public List<CustomFieldAttribute> CustomFieldsAttributes { get; set; }
}
}
3 changes: 2 additions & 1 deletion src/Moneybird.Net/Models/SalesInvoices/SalesInvoiceCreate.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Entities.SalesInvoices;

namespace Moneybird.Net.Models.SalesInvoices
Expand Down Expand Up @@ -70,6 +71,6 @@ public class SalesInvoiceCreate
public IReadOnlyList<SalesInvoiceCreateDetail> DetailsAttributes { get; set; }

[JsonPropertyName("custom_fields_attributes")]
public IReadOnlyList<SalesInvoiceCustomField> CustomFieldsAttributes { get; set; }
public IReadOnlyList<CustomFieldAttribute> CustomFieldsAttributes { get; set; }
}
}
3 changes: 2 additions & 1 deletion src/Moneybird.Net/Models/SalesInvoices/SalesInvoiceUpdate.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Entities.SalesInvoices;

namespace Moneybird.Net.Models.SalesInvoices
Expand Down Expand Up @@ -76,6 +77,6 @@ public class SalesInvoiceUpdate
public IReadOnlyList<SalesInvoiceUpdateDetail> DetailsAttributes { get; set; }

[JsonPropertyName("custom_fields_attributes")]
public IReadOnlyList<SalesInvoiceCustomField> CustomFieldsAttributes { get; set; }
public IReadOnlyList<CustomFieldAttribute> CustomFieldsAttributes { get; set; }
}
}
4 changes: 2 additions & 2 deletions src/Moneybird.Net/Moneybird.Net.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>9</LangVersion>
<PackageId>Moneybird.Net</PackageId>
<Version>0.13.1</Version>
<Version>0.13.3</Version>
<Authors>Vincent Vrijburg</Authors>
<Description>A wrapper for the Moneybird API.</Description>
<Copyright>Copyright © Vincent Vrijburg 2021</Copyright>
Expand All @@ -12,7 +12,7 @@
<PackageTags>dotnet dotnet-core dotnet-standard client wrapper moneybird</PackageTags>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<PackageVersion>0.13.1</PackageVersion>
<PackageVersion>0.13.3</PackageVersion>
</PropertyGroup>

<ItemGroup>
Expand Down
15 changes: 12 additions & 3 deletions tests/Moneybird.Net.Tests/Endpoints/ContactEndpointTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using Moneybird.Net.Endpoints;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Entities.Contacts;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Entities.Notes;
using Moneybird.Net.Http;
using Moneybird.Net.Misc;
Expand Down Expand Up @@ -259,7 +260,14 @@ public async void CreateContactAsync_ByAccessToken_Returns_NewContact()
SiIdentifierTypeType = null,
CreateEvent = true,
DirectDebit = false,
CustomFieldsAttributes = null
CustomFieldsAttributes = new List<CustomFieldAttribute>
{
new ()
{
Id = "343816698630643114",
Value = "Custom field test value"
}
}
}
};

Expand All @@ -271,6 +279,7 @@ public async void CreateContactAsync_ByAccessToken_Returns_NewContact()

var contact = JsonSerializer.Deserialize<Contact>(contactJson, _config.SerializerOptions);
Assert.NotNull(contact);
Assert.NotNull(contact.CustomFields.First().Name);

var actualContact = await _contactEndpoint.CreateAsync(AdministrationId, contactCreateOptions, AccessToken);
Assert.NotNull(actualContact);
Expand Down Expand Up @@ -317,11 +326,11 @@ public async void UpdateContactAsync_ByAccessToken_Returns_UpdatedContact()
SiIdentifier = "",
SiIdentifierTypeType = null,
DirectDebit = false,
CustomFieldsAttributes = new List<ContactCustomFieldsAttribute>
CustomFieldsAttributes = new List<CustomFieldAttribute>
{
new ()
{
Id = 1,
Id = "1",
Value = "Custom contact field"
}
}
Expand Down
15 changes: 8 additions & 7 deletions tests/Moneybird.Net.Tests/Endpoints/SalesInvoiceEndpointTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Text.Json;
using FluentAssertions;
using Moneybird.Net.Endpoints;
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Entities.SalesInvoices;
using Moneybird.Net.Http;
using Moneybird.Net.Models.SalesInvoices;
Expand Down Expand Up @@ -155,9 +156,9 @@ public async void CreateSalesInvoiceAsync_ByAccessToken_Returns_NewSalesInvoice(
Discount = 0,
CustomFieldsAttributes = new []
{
new SalesInvoiceCustomField
new CustomFieldAttribute
{
Id = 1,
Id = "1",
Value = "Custom field value"
}
}
Expand Down Expand Up @@ -227,14 +228,14 @@ public async void UpdateSalesInvoiceAsync_ByAccessToken_Returns_UpdatedSalesInvo
},
CustomFieldsAttributes = new []
{
new SalesInvoiceCustomField
new CustomFieldAttribute()
{
Id = 1,
Id = "1",
Value = "Custom field value"
},
new SalesInvoiceCustomField
new CustomFieldAttribute
{
Id = 2,
Id = "2",
Value = "Second custom field value"
}
}
Expand Down Expand Up @@ -275,4 +276,4 @@ public async void AddSalesInvoiceAttachmentAsync_ByAccessToken_Returns()
var file = new MemoryStream();
await _salesInvoiceEndpoint.AddAttachmentAsync(AdministrationId, SalesInvoiceId, file, AccessToken, "testfile.pdf");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,13 @@
"version": 1640619493,
"sales_invoices_url": "https://moneybird.com/322056713748350877/sales_invoices/6af2bbb86743f70b85c9371911a7ce22686d04069a3c858d6817c2cc3e5c8c4b/all",
"notes": [],
"custom_fields": [],
"custom_fields": [
{
"id": "343816698630643114",
"name": "Test field",
"value": "Custom field test value"
}
],
"contact_people": [],
"events": []
}
Loading