Files
automatisch/packages/backend/src/apps/invoice-ninja/actions/create-payment/index.ts
2023-10-16 18:30:10 +03:00

43 lines
995 B
TypeScript

import defineAction from '../../../../helpers/define-action';
import { filterProvidedFields } from '../../common/filter-provided-fields';
import { fields } from './fields';
export default defineAction({
name: 'Create payment',
key: 'createPayment',
description: 'Creates a new payment.',
arguments: fields,
async run($) {
const {
clientId,
paymentDate,
invoiceId,
invoiceAmount,
paymentType,
transferReference,
privateNotes,
} = $.step.parameters;
const bodyFields = {
client_id: clientId,
date: paymentDate,
invoices: [
{
invoice_id: invoiceId,
amount: invoiceAmount,
},
],
type_id: paymentType,
transaction_reference: transferReference,
private_notes: privateNotes,
};
const body = filterProvidedFields(bodyFields);
const response = await $.http.post('/v1/payments', body);
$.setActionItem({ raw: response.data.data });
},
});