Skip to content

Commit

Permalink
Merge pull request #111 from VincentVrijburg/develop
Browse files Browse the repository at this point in the history
Release version 0.14.0
  • Loading branch information
VincentVrijburg committed Jul 7, 2024
2 parents 8a3b1d9 + 873e012 commit db369d7
Show file tree
Hide file tree
Showing 139 changed files with 1,621 additions and 309 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.14.0 | 2024-07-07
* Add support for `Time entry` endpoint
* Refactoring of the `Note` entity from `ContactNote` to a generic `Note` used in multiple entity types
* Refactoring of endpoint namespaces after moving them within the solution
* Refactoring of fields with a price or discount value from `string` to a `double` through serialization
* Improved deserialization of error messages
* Change various `Id` fields from `int` to `string` due to incorrect documentation
* Updates of dependency versions

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

Expand Down
2 changes: 1 addition & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ The goal is to provide a stable version that has the basic functionality to inte
- [x] Sales invoices (limited)
- [ ] Subscriptions
- [x] Tax rates
- [ ] Time entries
- [x] Time entries
- [x] Users
- [x] Verifications
- [x] Webhooks
Expand Down
5 changes: 5 additions & 0 deletions src/Moneybird.Net/Abstractions/IMoneybirdClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ public interface IMoneybirdClient : IDisposable
/// </summary>
ITaxRateEndpoint TaxRate { get; }

/// <summary>
/// The TimeEntry Endpoint.
/// </summary>
ITimeEntryEndpoint TimeEntry { get; }

/// <summary>
/// The User Endpoint.
/// </summary>
Expand Down
6 changes: 4 additions & 2 deletions src/Moneybird.Net/Endpoints/Abstractions/IContactEndpoint.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Endpoints.Contacts.Models;
using Moneybird.Net.Entities.Contacts;
using Moneybird.Net.Entities.Notes;
using Moneybird.Net.Models.Contacts;
using Moneybird.Net.Models.Notes;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand All @@ -18,7 +20,7 @@ public interface IContactEndpoint :
Task<IEnumerable<SynchronizationContact>> GetSynchronizationContactsAsync(string administrationId, string accessToken, ContactFilterOptions options);
Task<IEnumerable<Contact>> GetContactsByIdsAsync(string administrationId, string accessToken, ContactListOptions options);
Task<Contact> GetContactByCustomerIdAsync(string administrationId, string customerId, string accessToken);
Task<ContactNote> CreateContactNoteAsync(string administrationId, string contactId, ContactNoteCreateOptions options, string accessToken);
Task<Note> CreateContactNoteAsync(string administrationId, string contactId, NoteCreateOptions options, string accessToken);
Task<bool> DeleteContactNoteByIdAsync(string administrationId, string contactId, string noteId, string accessToken);
Task<ContactPerson> GetContactPersonByIdAsync(string administrationId, string contactId, string contactPersonId, string accessToken);
Task<ContactPerson> CreateContactPersonAsync(string administrationId, string contactId, ContactPersonCreateOptions options, string accessToken);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System.IO;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Endpoints.ExternalSalesInvoices.Models;
using Moneybird.Net.Entities.ExternalSalesInvoices;
using Moneybird.Net.Models.ExternalSalesInvoices;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Endpoints.FinancialStatements.Models;
using Moneybird.Net.Entities.FinancialStatements;
using Moneybird.Net.Models.FinancialStatements;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.LegderAccounts.Models;
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Entities.LedgerAccounts;
using Moneybird.Net.Models.LedgerAccounts;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System.Threading;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Endpoints.Products.Models;
using Moneybird.Net.Entities.Products;
using Moneybird.Net.Models.Products;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Endpoints.Projects.Models;
using Moneybird.Net.Entities.Projects;
using Moneybird.Net.Models.Projects;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System.IO;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Endpoints.SalesInvoices.Models;
using Moneybird.Net.Entities.SalesInvoices;
using Moneybird.Net.Models.SalesInvoices;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Moneybird.Net.Endpoints.TaxRates.Models;
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Entities.TaxRates;
using Moneybird.Net.Models.TaxRates;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
21 changes: 21 additions & 0 deletions src/Moneybird.Net/Endpoints/Abstractions/ITimeEntryEndpoint.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Entities.Notes;
using Moneybird.Net.Entities.TimeEntries;
using Moneybird.Net.Models.Notes;
using Moneybird.Net.Models.TimeEntries;

namespace Moneybird.Net.Endpoints.Abstractions
{
public interface ITimeEntryEndpoint :
IReadEndpoint<TimeEntry>,
IReadFilterEndpoint<TimeEntry, TimeEntryFilterOptions>,
IGetEndpoint<TimeEntry>,
ICreateEndpoint<TimeEntry, TimeEntryCreateOptions>,
IUpdateEndpoint<TimeEntry, TimeEntryUpdateOptions>,
IDeleteEndpoint
{
Task<Note> CreateTimeEntryNoteAsync(string administrationId, string timeEntryId, NoteCreateOptions options, string accessToken);
Task<bool> DeleteTimeEntryNoteByIdAsync(string administrationId, string timeEntryId, string noteId, string accessToken);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Moneybird.Net.Endpoints.Abstractions.Common;
using Moneybird.Net.Endpoints.Webhooks.Models;
using Moneybird.Net.Entities.Webhooks;
using Moneybird.Net.Models.Webhooks;

namespace Moneybird.Net.Endpoints.Abstractions
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using Moneybird.Net.Entities.Administrations;
using Moneybird.Net.Http;

namespace Moneybird.Net.Endpoints.Administrations
namespace Moneybird.Net.Endpoints
{
public class AdministrationEndpoint : IAdministrationEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.Contacts.Models;
using Moneybird.Net.Entities.Contacts;
using Moneybird.Net.Entities.Notes;
using Moneybird.Net.Extensions;
using Moneybird.Net.Http;
using Moneybird.Net.Models.Contacts;
using Moneybird.Net.Models.Notes;

namespace Moneybird.Net.Endpoints.Contacts
namespace Moneybird.Net.Endpoints
{
public class ContactEndpoint : IContactEndpoint
{
Expand Down Expand Up @@ -149,15 +151,15 @@ public async Task<bool> DeleteByIdAsync(string administrationId, string id, stri
return response;
}

public async Task<ContactNote> CreateContactNoteAsync(string administrationId, string contactId, ContactNoteCreateOptions options, string accessToken)
public async Task<Note> CreateContactNoteAsync(string administrationId, string contactId, NoteCreateOptions options, string accessToken)
{
var relativeUrl = string.Format(ContactsIdNotesUri, administrationId, contactId);
var body = JsonSerializer.Serialize(options, _config.SerializerOptions);
var responseJson = await _requester
.CreatePostRequestAsync(_config.ApiUri, relativeUrl, accessToken, body)
.ConfigureAwait(false);

return JsonSerializer.Deserialize<ContactNote>(responseJson, _config.SerializerOptions);
return JsonSerializer.Deserialize<Note>(responseJson, _config.SerializerOptions);
}

public async Task<bool> DeleteContactNoteByIdAsync(string administrationId, string contactId, string noteId, string accessToken)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using Moneybird.Net.Entities.CustomFields;
using Moneybird.Net.Http;

namespace Moneybird.Net.Endpoints.CustomFields
namespace Moneybird.Net.Endpoints
{
public class CustomFieldEndpoint : ICustomFieldEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using Moneybird.Net.Entities.DocumentStyles;
using Moneybird.Net.Http;

namespace Moneybird.Net.Endpoints.DocumentStyles
namespace Moneybird.Net.Endpoints
{
public class DocumentStyleEndpoint : IDocumentStyleEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.ExternalSalesInvoices.Models;
using Moneybird.Net.Entities.ExternalSalesInvoices;
using Moneybird.Net.Extensions;
using Moneybird.Net.Http;
using Moneybird.Net.Models.ExternalSalesInvoices;

namespace Moneybird.Net.Endpoints.ExternalSalesInvoices
namespace Moneybird.Net.Endpoints
{
public class ExternalSalesInvoiceEndpoint : IExternalSalesInvoiceEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using Moneybird.Net.Entities.FinancialAccounts;
using Moneybird.Net.Http;

namespace Moneybird.Net.Endpoints.FinancialAccounts
namespace Moneybird.Net.Endpoints
{
public class FinancialAccountEndpoint : IFinancialAccountEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.FinancialStatements.Models;
using Moneybird.Net.Entities.FinancialStatements;
using Moneybird.Net.Http;
using Moneybird.Net.Models.FinancialStatements;

namespace Moneybird.Net.Endpoints.FinancialStatements
namespace Moneybird.Net.Endpoints
{
public class FinancialStatementEndpoint : IFinancialStatementEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.LegderAccounts.Models;
using Moneybird.Net.Entities.LedgerAccounts;
using Moneybird.Net.Http;
using Moneybird.Net.Models.LedgerAccounts;

namespace Moneybird.Net.Endpoints.LegderAccounts
namespace Moneybird.Net.Endpoints
{
public class LedgerAccountEndpoint : ILedgerAccountEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using Moneybird.Net.Entities.Payments;
using Moneybird.Net.Http;

namespace Moneybird.Net.Endpoints.Payments
namespace Moneybird.Net.Endpoints
{
public class PaymentEndpoint : IPaymentEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.Products.Models;
using Moneybird.Net.Entities.Products;
using Moneybird.Net.Http;
using Moneybird.Net.Models.Products;

namespace Moneybird.Net.Endpoints.Products
namespace Moneybird.Net.Endpoints
{
public class ProductEndpoint : IProductEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.Projects.Models;
using Moneybird.Net.Entities.Projects;
using Moneybird.Net.Extensions;
using Moneybird.Net.Http;
using Moneybird.Net.Models.Projects;

namespace Moneybird.Net.Endpoints.Projects
namespace Moneybird.Net.Endpoints
{
public class ProjectEndpoint : IProjectEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.SalesInvoices.Models;
using Moneybird.Net.Entities.SalesInvoices;
using Moneybird.Net.Extensions;
using Moneybird.Net.Http;
using Moneybird.Net.Models.SalesInvoices;

namespace Moneybird.Net.Endpoints.SalesInvoices
namespace Moneybird.Net.Endpoints
{
public class SalesInvoiceEndpoint : ISalesInvoiceEndpoint
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
using System.Text.Json;
using System.Threading.Tasks;
using Moneybird.Net.Endpoints.Abstractions;
using Moneybird.Net.Endpoints.TaxRates.Models;
using Moneybird.Net.Entities.TaxRates;
using Moneybird.Net.Extensions;
using Moneybird.Net.Http;
using Moneybird.Net.Models.TaxRates;

namespace Moneybird.Net.Endpoints.TaxRates
namespace Moneybird.Net.Endpoints
{
public class TaxRateEndpoint : ITaxRateEndpoint
{
Expand Down
Loading

0 comments on commit db369d7

Please sign in to comment.