From 699184388cc0494aa4a66c707326c31ded664523 Mon Sep 17 00:00:00 2001 From: Rhys Lees <43909932+RhysLees@users.noreply.github.com> Date: Tue, 22 Oct 2024 22:42:10 +0100 Subject: [PATCH 1/7] WIP --- .phpunit.cache/test-results | 2 +- .../Invoices/CancelAnInvoiceRequest.php | 34 +++++++++++++++ .../Invoices/CreateAnInvoiceRequest.php | 43 +++++++++++++++++++ .../Invoices/DeleteAnInvoiceRequest.php | 34 +++++++++++++++ .../Invoices/IssueAnInvoiceRequest.php | 31 +++++++++++++ .../SetIssuedInvoiceToDraftRequest.php | 31 +++++++++++++ .../Saloon/Invoices/cancel-an-invoice.json | 23 ++++++++++ .../Saloon/Invoices/delete-an-invoice.json | 23 ++++++++++ .../Invoices/CancelAnInvoiceRequestTest.php | 21 +++++++++ .../Invoices/DeleteAnInvoiceRequestTest.php | 21 +++++++++ 10 files changed, 262 insertions(+), 1 deletion(-) create mode 100644 src/Requests/Invoices/CancelAnInvoiceRequest.php create mode 100644 src/Requests/Invoices/CreateAnInvoiceRequest.php create mode 100644 src/Requests/Invoices/DeleteAnInvoiceRequest.php create mode 100644 src/Requests/Invoices/IssueAnInvoiceRequest.php create mode 100644 src/Requests/Invoices/SetIssuedInvoiceToDraftRequest.php create mode 100644 tests/Fixtures/Saloon/Invoices/cancel-an-invoice.json create mode 100644 tests/Fixtures/Saloon/Invoices/delete-an-invoice.json create mode 100644 tests/Requests/Invoices/CancelAnInvoiceRequestTest.php create mode 100644 tests/Requests/Invoices/DeleteAnInvoiceRequestTest.php diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results index de64ecc..e4b280c 100644 --- a/.phpunit.cache/test-results +++ b/.phpunit.cache/test-results @@ -1 +1 @@ -{"version":"pest_2.35.1","defects":[],"times":{"P\\Tests\\Requests\\Salutations\\FetchAListOfSalutationsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\QrPayments\\UpdateQrPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\EditAContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0.013,"P\\Tests\\Requests\\Accounts\\SearchAccountsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsSectors\\SearchContactSectorsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\FetchExchangeRatesForCurrenciesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Currencies\\FetchAllPossibleCurrencyCodesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\FetchAContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsGroups\\CreateContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\AccountGroups\\FetchAListOfAccountGroupsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\CompanyProfiles\\FetchAListOfCompanyProfilesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\FetchAListOfManualEntriesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\GetASingleFileRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Payments\\DeleteAPaymentTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsRelations\\EditAContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BusinessYears\\FetchAListOfBusinessYearsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsRelations\\DeleteAContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Titles\\SearchTitlesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Titles\\FetchAListOfTitlesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\DownloadFIleRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\VatPeriods\\FetchAListOfTaxesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Notes\\CreateANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\GetAFilePreviewRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\GetNextReferenceNumberRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\QrPayments\\GetQrPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\DeleteAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BankAccounts\\FetchAListOfBankAccountsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\FetchACurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\DeleteAContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\CreateCurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Titles\\DeleteAnAdditonalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.003,"P\\Tests\\Requests\\Titles\\FetchATitleRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Contacts\\BuilkCreateContactsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsSectors\\FetchAListOfContactSectorsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\FetchAListOfContactsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ManualEntries\\AddFileToAccountingEntryLineRequestTest::__pest_evaluable_it_can_perform_the_request":0.003,"P\\Tests\\Requests\\Notes\\SearchNotesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Salutations\\DeleteASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\DeleteAContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\IbanPayments\\UpdateIbanPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\AdditionalAddresses\\FetchAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\CompanyProfiles\\FetchACompanyProfileRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\FetchFileOfAccountingEntryLineRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Notes\\FetchAListOfNotesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\CalendarYears\\CreateCalendarYearRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\CalendarYears\\SearchCalendarYearsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Payments\\FetchAListOfPaymentsTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\EditAContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Salutations\\EditASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\DeleteACurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Salutations\\FetchASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\CreateContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactAdditionalAddresses\\FetchAListOfContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\SearchContactsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsGroups\\SearchContactGroupsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Files\\CreateAFileRequestTest::__pest_evaluable_it_can_perform_the_request":0.002,"P\\Tests\\Requests\\ContactsRelations\\SearchContactRelationsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactAdditionalAddresses\\SearchContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\AdditionalAddresses\\DeleteAnAdditonalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Reports\\JournalRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Contacts\\RestoreAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Contacts\\CreateContactRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\FetchAListOfContactGroupsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Salutations\\SearchSalutationsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Currencies\\EditACurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\EditAFileRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsRelations\\CreateContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Titles\\CreateASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\IbanPayments\\GetIbanPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Accounts\\FetchAListOfAccountsRequestTest::__pest_evaluable_it_can_perform_the_request":0.002,"P\\Tests\\Requests\\ManualEntries\\FetchFilesOfAccountingEntryRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Notes\\FetchANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Currencies\\FetchAListOfCurrenciesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\QrPayments\\CreateQrPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\AdditionalAddresses\\CreateAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsRelations\\FetchAListOfContactRelationsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\FetchAContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BusinessYears\\FetchABusinessYearRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Taxes\\FetchAListOfTaxesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Payments\\CancelAPaymentTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Titles\\EditAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\AdditionalAddresses\\SearchAdditionalAddressesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BankAccounts\\FetchASingleBankAccountRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\DeleteFileOfAccountingEntryLineRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\FetchAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\CalendarYears\\FetchACalendarYearRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Core\\ArchTest::__pest_evaluable_it_will_not_use_any_debug_function":0.216,"P\\Tests\\Requests\\AdditionalAddresses\\EditAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\EditAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Notes\\DeleteANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Taxes\\FetchATaxRequestTest::__pest_evaluable_it_can_perform_the_request":0.041,"P\\Tests\\Requests\\AdditionalAddresses\\FetchAListOfAdditionalAddressesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\IbanPayments\\CreateIbanPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Notes\\EditANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsRelations\\FetchAContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\CalendarYears\\FetchAListOfCalendarYearsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\VatPeriods\\FetchATaxRequestTest::__pest_evaluable_it_can_perform_the_request":0.638,"P\\Tests\\Requests\\Taxes\\DeleteATaxRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\SearchFilesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\FetchAListOfFilesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\CreateManualEntryRequestTest::__pest_evaluable_it_can_perform_the_request":0.037,"P\\Tests\\Requests\\Files\\DeleteAFileRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Files\\ShowFileUsageRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Salutations\\CreateASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\BusinessActivities\\FetchAListOfBusinessActivitesRequestTest::__pest_evaluable_it_can_perform_the_request":0.021,"P\\Tests\\Requests\\DocumentSettings\\FetchAListOfDocumentSettingsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Languages\\FetchAListOfLanguagesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Invoices\\FetchAListOfInvoicesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\PaymentTypes\\FetchAListOfPaymentTypesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Projects\\FetchAListOfPaymentTypesRequestTest::__pest_evaluable_it_can_perform_the_request":0.002,"P\\Tests\\Requests\\Units\\FetchAListOfUnitsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Users\\FetchAListOfUsersRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Users\\FetchAuthenticatedUserRequestTest::__pest_evaluable_it_can_perform_the_request":0.463}} \ No newline at end of file +{"version":"pest_2.35.1","defects":[],"times":{"P\\Tests\\Requests\\Salutations\\FetchAListOfSalutationsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\QrPayments\\UpdateQrPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\EditAContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0.013,"P\\Tests\\Requests\\Accounts\\SearchAccountsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsSectors\\SearchContactSectorsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\FetchExchangeRatesForCurrenciesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Currencies\\FetchAllPossibleCurrencyCodesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\FetchAContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsGroups\\CreateContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\AccountGroups\\FetchAListOfAccountGroupsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\CompanyProfiles\\FetchAListOfCompanyProfilesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\FetchAListOfManualEntriesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\GetASingleFileRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Payments\\DeleteAPaymentTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsRelations\\EditAContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BusinessYears\\FetchAListOfBusinessYearsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsRelations\\DeleteAContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Titles\\SearchTitlesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Titles\\FetchAListOfTitlesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\DownloadFIleRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\VatPeriods\\FetchAListOfTaxesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Notes\\CreateANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\GetAFilePreviewRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\GetNextReferenceNumberRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\QrPayments\\GetQrPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\DeleteAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BankAccounts\\FetchAListOfBankAccountsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\FetchACurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\DeleteAContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\CreateCurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Titles\\DeleteAnAdditonalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.003,"P\\Tests\\Requests\\Titles\\FetchATitleRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Contacts\\BuilkCreateContactsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsSectors\\FetchAListOfContactSectorsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\FetchAListOfContactsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ManualEntries\\AddFileToAccountingEntryLineRequestTest::__pest_evaluable_it_can_perform_the_request":0.003,"P\\Tests\\Requests\\Notes\\SearchNotesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Salutations\\DeleteASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\DeleteAContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\IbanPayments\\UpdateIbanPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\AdditionalAddresses\\FetchAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\CompanyProfiles\\FetchACompanyProfileRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\FetchFileOfAccountingEntryLineRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Notes\\FetchAListOfNotesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\CalendarYears\\CreateCalendarYearRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\CalendarYears\\SearchCalendarYearsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Payments\\FetchAListOfPaymentsTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\EditAContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Salutations\\EditASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Currencies\\DeleteACurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Salutations\\FetchASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactAdditionalAddresses\\CreateContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactAdditionalAddresses\\FetchAListOfContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\SearchContactsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsGroups\\SearchContactGroupsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Files\\CreateAFileRequestTest::__pest_evaluable_it_can_perform_the_request":0.002,"P\\Tests\\Requests\\ContactsRelations\\SearchContactRelationsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactAdditionalAddresses\\SearchContactAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\AdditionalAddresses\\DeleteAnAdditonalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Reports\\JournalRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Contacts\\RestoreAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Contacts\\CreateContactRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\FetchAListOfContactGroupsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Salutations\\SearchSalutationsRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Currencies\\EditACurrencyRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\EditAFileRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsRelations\\CreateContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Titles\\CreateASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\IbanPayments\\GetIbanPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Accounts\\FetchAListOfAccountsRequestTest::__pest_evaluable_it_can_perform_the_request":0.002,"P\\Tests\\Requests\\ManualEntries\\FetchFilesOfAccountingEntryRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Notes\\FetchANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Currencies\\FetchAListOfCurrenciesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\QrPayments\\CreateQrPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\AdditionalAddresses\\CreateAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsRelations\\FetchAListOfContactRelationsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ContactsGroups\\FetchAContactGroupRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BusinessYears\\FetchABusinessYearRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Taxes\\FetchAListOfTaxesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Payments\\CancelAPaymentTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Titles\\EditAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\AdditionalAddresses\\SearchAdditionalAddressesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\BankAccounts\\FetchASingleBankAccountRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\DeleteFileOfAccountingEntryLineRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\FetchAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\CalendarYears\\FetchACalendarYearRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Core\\ArchTest::__pest_evaluable_it_will_not_use_any_debug_function":0.216,"P\\Tests\\Requests\\AdditionalAddresses\\EditAnAdditionalAddressRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Contacts\\EditAContactRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Notes\\DeleteANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Taxes\\FetchATaxRequestTest::__pest_evaluable_it_can_perform_the_request":0.041,"P\\Tests\\Requests\\AdditionalAddresses\\FetchAListOfAdditionalAddressesRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\IbanPayments\\CreateIbanPaymentRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Notes\\EditANoteRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\ContactsRelations\\FetchAContactRelationRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\CalendarYears\\FetchAListOfCalendarYearsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\VatPeriods\\FetchATaxRequestTest::__pest_evaluable_it_can_perform_the_request":0.638,"P\\Tests\\Requests\\Taxes\\DeleteATaxRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\SearchFilesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Files\\FetchAListOfFilesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\ManualEntries\\CreateManualEntryRequestTest::__pest_evaluable_it_can_perform_the_request":0.037,"P\\Tests\\Requests\\Files\\DeleteAFileRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Files\\ShowFileUsageRequestTest::__pest_evaluable_it_can_perform_the_request":0,"P\\Tests\\Requests\\Salutations\\CreateASalutationRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\BusinessActivities\\FetchAListOfBusinessActivitesRequestTest::__pest_evaluable_it_can_perform_the_request":0.021,"P\\Tests\\Requests\\DocumentSettings\\FetchAListOfDocumentSettingsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Languages\\FetchAListOfLanguagesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Invoices\\FetchAListOfInvoicesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\PaymentTypes\\FetchAListOfPaymentTypesRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Projects\\FetchAListOfPaymentTypesRequestTest::__pest_evaluable_it_can_perform_the_request":0.002,"P\\Tests\\Requests\\Units\\FetchAListOfUnitsRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Users\\FetchAListOfUsersRequestTest::__pest_evaluable_it_can_perform_the_request":0.001,"P\\Tests\\Requests\\Users\\FetchAuthenticatedUserRequestTest::__pest_evaluable_it_can_perform_the_request":0.463,"P\\Tests\\Requests\\Invoices\\DeleteAnInvoiceRequestTest::__pest_evaluable_it_can_perform_the_request":0.092,"P\\Tests\\Requests\\Invoices\\CancelAnInvoiceRequestTest::__pest_evaluable_it_can_perform_the_request":0.145}} \ No newline at end of file diff --git a/src/Requests/Invoices/CancelAnInvoiceRequest.php b/src/Requests/Invoices/CancelAnInvoiceRequest.php new file mode 100644 index 0000000..0476d4b --- /dev/null +++ b/src/Requests/Invoices/CancelAnInvoiceRequest.php @@ -0,0 +1,34 @@ +invoiceId.'/cancel'; + } + + /** + * @throws \JsonException + */ + public function createDtoFromResponse(Response $response): mixed + { + if (! $response->successful()) { + throw new Exception('Request was not successful. Unable to create DTO.'); + } + + return $response->json(); + } +} diff --git a/src/Requests/Invoices/CreateAnInvoiceRequest.php b/src/Requests/Invoices/CreateAnInvoiceRequest.php new file mode 100644 index 0000000..dc66f43 --- /dev/null +++ b/src/Requests/Invoices/CreateAnInvoiceRequest.php @@ -0,0 +1,43 @@ +successful()) { + throw new Exception('Request was not successful. Unable to create DTO.'); + } + + $res = $response->json(); + + $invoices = collect(); + + foreach ($res as $invoice) { + $invoices->push(InvoiceDTO::fromArray($invoice)); + } + + return $invoices; + } +} diff --git a/src/Requests/Invoices/DeleteAnInvoiceRequest.php b/src/Requests/Invoices/DeleteAnInvoiceRequest.php new file mode 100644 index 0000000..f5a0a38 --- /dev/null +++ b/src/Requests/Invoices/DeleteAnInvoiceRequest.php @@ -0,0 +1,34 @@ +invoiceId; + } + + /** + * @throws \JsonException + */ + public function createDtoFromResponse(Response $response): mixed + { + if (! $response->successful()) { + throw new Exception('Request was not successful. Unable to create DTO.'); + } + + return $response->json(); + } +} diff --git a/src/Requests/Invoices/IssueAnInvoiceRequest.php b/src/Requests/Invoices/IssueAnInvoiceRequest.php new file mode 100644 index 0000000..1efa6da --- /dev/null +++ b/src/Requests/Invoices/IssueAnInvoiceRequest.php @@ -0,0 +1,31 @@ +invoiceId.'/issue'; + } + + public function createDtoFromResponse(Response $response): mixed + { + if (! $response->successful()) { + throw new Exception('Request was not successful. Unable to create DTO.'); + } + + return $response->json(); + } +} diff --git a/src/Requests/Invoices/SetIssuedInvoiceToDraftRequest.php b/src/Requests/Invoices/SetIssuedInvoiceToDraftRequest.php new file mode 100644 index 0000000..e962cfe --- /dev/null +++ b/src/Requests/Invoices/SetIssuedInvoiceToDraftRequest.php @@ -0,0 +1,31 @@ +invoiceId.'/issue'; + } + + public function createDtoFromResponse(Response $response): mixed + { + if (! $response->successful()) { + throw new Exception('Request was not successful. Unable to create DTO.'); + } + + return $response->json(); + } +} diff --git a/tests/Fixtures/Saloon/Invoices/cancel-an-invoice.json b/tests/Fixtures/Saloon/Invoices/cancel-an-invoice.json new file mode 100644 index 0000000..f22e069 --- /dev/null +++ b/tests/Fixtures/Saloon/Invoices/cancel-an-invoice.json @@ -0,0 +1,23 @@ +{ + "statusCode": 200, + "headers": { + "Date": "Tue, 01 Oct 2024 18:24:11 GMT", + "Content-Type": "application\/json", + "Content-Length": "16", + "Connection": "keep-alive", + "x-ratelimit-remaining-minute": "999", + "x-ratelimit-limit-minute": "1000", + "ratelimit-remaining": "999", + "ratelimit-reset": "50", + "ratelimit-limit": "1000", + "Cache-Control": "no-store", + "pragma": "no-cache", + "vary": "Origin", + "access-control-allow-origin": "https:\/\/office.bexio.com", + "via": "1.1 google", + "CF-Cache-Status": "DYNAMIC", + "Server": "cloudflare", + "CF-RAY": "8cbe7cf34df271de-LHR" + }, + "data": "{\"success\":true}" +} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/Invoices/delete-an-invoice.json b/tests/Fixtures/Saloon/Invoices/delete-an-invoice.json new file mode 100644 index 0000000..67322da --- /dev/null +++ b/tests/Fixtures/Saloon/Invoices/delete-an-invoice.json @@ -0,0 +1,23 @@ +{ + "statusCode": 403, + "headers": { + "Date": "Tue, 01 Oct 2024 18:22:06 GMT", + "Content-Type": "application\/json", + "Transfer-Encoding": "chunked", + "Connection": "keep-alive", + "x-ratelimit-remaining-minute": "999", + "x-ratelimit-limit-minute": "1000", + "ratelimit-remaining": "999", + "ratelimit-limit": "1000", + "ratelimit-reset": "54", + "Cache-Control": "no-store", + "pragma": "no-cache", + "vary": "Origin", + "access-control-allow-origin": "https:\/\/office.bexio.com", + "via": "1.1 google", + "CF-Cache-Status": "DYNAMIC", + "Server": "cloudflare", + "CF-RAY": "8cbe79e9f85f3dca-LHR" + }, + "data": "{\"error_code\":403,\"message\":\"You are not allowed to access this resource.\"}" +} \ No newline at end of file diff --git a/tests/Requests/Invoices/CancelAnInvoiceRequestTest.php b/tests/Requests/Invoices/CancelAnInvoiceRequestTest.php new file mode 100644 index 0000000..44d449b --- /dev/null +++ b/tests/Requests/Invoices/CancelAnInvoiceRequestTest.php @@ -0,0 +1,21 @@ + MockResponse::fixture('Invoices/cancel-an-invoice'), + ]); + + $connector = new BexioConnector; + $connector->withMockClient($mockClient); + + $response = $connector->send(new CancelAnInvoiceRequest( + invoiceId: 1, + )); + + $mockClient->assertSent(CancelAnInvoiceRequest::class); +})->only(); diff --git a/tests/Requests/Invoices/DeleteAnInvoiceRequestTest.php b/tests/Requests/Invoices/DeleteAnInvoiceRequestTest.php new file mode 100644 index 0000000..c1b22e8 --- /dev/null +++ b/tests/Requests/Invoices/DeleteAnInvoiceRequestTest.php @@ -0,0 +1,21 @@ + MockResponse::fixture('Invoices/delete-an-invoice'), + ]); + + $connector = new BexioConnector; + $connector->withMockClient($mockClient); + + $response = $connector->send(new DeleteAnInvoiceRequest( + invoiceId: 1, + )); + + $mockClient->assertSent(DeleteAnInvoiceRequest::class); +}); From 258f5cbe422fb0e5b1b8aeec689a3ba0462d09a1 Mon Sep 17 00:00:00 2001 From: Rhys Lees <43909932+RhysLees@users.noreply.github.com> Date: Thu, 24 Oct 2024 14:23:15 +0100 Subject: [PATCH 2/7] WIP --- src/Dto/Invoices/InvoiceDTO.php | 2 + src/Dto/Invoices/InvoicePositionDTO.php | 77 +++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 src/Dto/Invoices/InvoicePositionDTO.php diff --git a/src/Dto/Invoices/InvoiceDTO.php b/src/Dto/Invoices/InvoiceDTO.php index 0ed9350..ebfb2f1 100644 --- a/src/Dto/Invoices/InvoiceDTO.php +++ b/src/Dto/Invoices/InvoiceDTO.php @@ -49,6 +49,7 @@ public function __construct( public ?string $template_slug, public Collection $taxs, public ?string $network_link, + public ?Collection $positions, ) {} public static function fromResponse(Response $response): self @@ -107,6 +108,7 @@ public static function fromArray(array $data): self template_slug: Arr::get($data, 'template_slug'), taxs: collect(Arr::get($data, 'taxs', []))->map(fn (array $tax) => InvoiceTaxDTO::fromArray($tax)), network_link: Arr::get($data, 'network_link'), + positions: collect(Arr::get($data, 'positions', []))->map(fn (array $tax) => InvoicePositionDTO::fromArray($tax)), ); } } diff --git a/src/Dto/Invoices/InvoicePositionDTO.php b/src/Dto/Invoices/InvoicePositionDTO.php new file mode 100644 index 0000000..57db039 --- /dev/null +++ b/src/Dto/Invoices/InvoicePositionDTO.php @@ -0,0 +1,77 @@ +failed()) { + throw new \Exception('Failed to create DTO from Response'); + } + + $data = $response->json(); + + return self::fromArray($data); + } + + public static function fromArray(array $data): self + { + if (! $data) { + throw new Exception('Unable to create DTO. Data missing from response.'); + } + + return new self( + type: Arr::get($data, 'type'), + id: Arr::get($data, 'id'), + amount: Arr::get($data, 'amount'), + unit_id: Arr::get($data, 'unit_id'), + unit_name: Arr::get($data, 'unit_name'), + account_id: Arr::get($data, 'account_id'), + tax_id: Arr::get($data, 'tax_id'), + tax_value: Arr::get($data, 'tax_value'), + text: Arr::get($data, 'text'), + unit_price: Arr::get($data, 'unit_price'), + discount_in_percent: Arr::get($data, 'discount_in_percent'), + position_total: Arr::get($data, 'position_total'), + parent_id: Arr::get($data, 'parent_id'), + article_id: Arr::get($data, 'article_id'), + show_pos_nr: Arr::get($data, 'show_pos_nr'), + pagebreak: Arr::get($data, 'pagebreak'), + is_percentual: Arr::get($data, 'is_percentual'), + value: Arr::get($data, 'value'), + pos: Arr::get($data, 'pos'), + internal_pos: Arr::get($data, 'internal_pos'), + is_optional: Arr::get($data, 'is_optional'), + ); + } +} From a872a35798615049c8c07fc2cd1e5bac94af96e0 Mon Sep 17 00:00:00 2001 From: Rhys Lees <43909932+RhysLees@users.noreply.github.com> Date: Thu, 24 Oct 2024 14:26:15 +0100 Subject: [PATCH 3/7] WIP --- src/Requests/Invoices/CreateAnInvoiceRequest.php | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/Requests/Invoices/CreateAnInvoiceRequest.php b/src/Requests/Invoices/CreateAnInvoiceRequest.php index dc66f43..b19dcd8 100644 --- a/src/Requests/Invoices/CreateAnInvoiceRequest.php +++ b/src/Requests/Invoices/CreateAnInvoiceRequest.php @@ -24,7 +24,7 @@ public function resolveEndpoint(): string return '/2.0/kb_invoice'; } - public function createDtoFromResponse(Response $response): Collection + public function createDtoFromResponse(Response $response): InvoiceDTO { if (! $response->successful()) { throw new Exception('Request was not successful. Unable to create DTO.'); @@ -32,12 +32,6 @@ public function createDtoFromResponse(Response $response): Collection $res = $response->json(); - $invoices = collect(); - - foreach ($res as $invoice) { - $invoices->push(InvoiceDTO::fromArray($invoice)); - } - - return $invoices; + return InvoiceDTO::fromArray($res); } } From 3feb3202a16366d277bb54cf58089a65dfca8352 Mon Sep 17 00:00:00 2001 From: Rhys Lees <43909932+RhysLees@users.noreply.github.com> Date: Thu, 24 Oct 2024 14:51:01 +0100 Subject: [PATCH 4/7] WIP --- .../CreateADefaultPositionRequest.php | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/Requests/Invoices/DefaultPositions/CreateADefaultPositionRequest.php diff --git a/src/Requests/Invoices/DefaultPositions/CreateADefaultPositionRequest.php b/src/Requests/Invoices/DefaultPositions/CreateADefaultPositionRequest.php new file mode 100644 index 0000000..1952447 --- /dev/null +++ b/src/Requests/Invoices/DefaultPositions/CreateADefaultPositionRequest.php @@ -0,0 +1,39 @@ +kb_document_type, $this->invoice_id); + } + + public function createDtoFromResponse(Response $response): InvoicePositionDTO + { + if (! $response->successful()) { + throw new Exception('Request was not successful. Unable to create DTO.'); + } + + $res = $response->json(); + + return InvoicePositionDTO::fromArray($res); + } +} From 742c74ce59694589421abaecbf7536bb9bea5945 Mon Sep 17 00:00:00 2001 From: Rhys Lees <43909932+RhysLees@users.noreply.github.com> Date: Thu, 24 Oct 2024 16:45:09 +0100 Subject: [PATCH 5/7] WIP --- .../CreateASubPositionRequest.php | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php diff --git a/src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php b/src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php new file mode 100644 index 0000000..be34077 --- /dev/null +++ b/src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php @@ -0,0 +1,39 @@ +kb_document_type, $this->invoice_id); + } + + public function createDtoFromResponse(Response $response): InvoicePositionDTO + { + if (! $response->successful()) { + throw new Exception('Request was not successful. Unable to create DTO.'); + } + + $res = $response->json(); + + return InvoicePositionDTO::fromArray($res); + } +} From 197940d3856084ff82644cb7d4b651b58910e12c Mon Sep 17 00:00:00 2001 From: Rhys Lees <43909932+RhysLees@users.noreply.github.com> Date: Thu, 24 Oct 2024 16:51:04 +0100 Subject: [PATCH 6/7] WIP --- .../Invoices/SubPositions/CreateASubPositionRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php b/src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php index be34077..7001a1d 100644 --- a/src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php +++ b/src/Requests/Invoices/SubPositions/CreateASubPositionRequest.php @@ -1,6 +1,6 @@ Date: Thu, 24 Oct 2024 17:25:54 +0100 Subject: [PATCH 7/7] WIP --- src/Dto/Invoices/InvoicePositionDTO.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Dto/Invoices/InvoicePositionDTO.php b/src/Dto/Invoices/InvoicePositionDTO.php index 57db039..64189ce 100644 --- a/src/Dto/Invoices/InvoicePositionDTO.php +++ b/src/Dto/Invoices/InvoicePositionDTO.php @@ -28,7 +28,7 @@ public function __construct( public ?bool $pagebreak, public ?bool $is_percentual, public ?string $value, - public ?int $pos, + public ?string $pos, public ?string $internal_pos, public ?bool $is_optional, ) {}