fix(Invoice Ninja Node): Fix assigning an invoice to a payment (#9590)

This commit is contained in:
CodeShakingSheep
2024-07-03 14:22:48 -05:00
committed by GitHub
parent f64ca621e1
commit 7a3c127b2c
2 changed files with 23 additions and 3 deletions

View File

@@ -660,18 +660,31 @@ export class InvoiceNinja implements INodeType {
if (resource === 'payment') {
if (operation === 'create') {
const additionalFields = this.getNodeParameter('additionalFields', i);
const invoice = this.getNodeParameter('invoice', i) as number;
const invoice = this.getNodeParameter('invoice', i) as number | string;
const client = (
await invoiceNinjaApiRequest.call(this, 'GET', `/invoices/${invoice}`, {}, qs)
).data?.client_id as string;
const amount = this.getNodeParameter('amount', i) as number;
const body: IPayment = {
invoice_id: invoice,
amount,
client_id: client,
};
if (apiVersion === 'v4') {
body.invoice_id = invoice as number;
} else if (apiVersion === 'v5') {
body.invoices = [
{
invoice_id: invoice as string,
amount,
},
];
}
if (additionalFields.paymentType) {
body.payment_type_id = additionalFields.paymentType as number;
if (apiVersion === 'v4') {
body.payment_type_id = additionalFields.paymentType as number;
} else if (apiVersion == 'v5') {
body.type_id = additionalFields.paymentType as number;
}
}
if (additionalFields.transferReference) {
body.transaction_reference = additionalFields.transferReference as string;