mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-08-17 21:25:54 +02:00
51 lines
2.0 KiB
JavaScript
51 lines
2.0 KiB
JavaScript
export default async function savePayments(request, response) {
|
|
const PaymentId = request.body.data.payment.payment_id;
|
|
const body = request.body;
|
|
const Email = request.body.data.payment.email;
|
|
try {
|
|
const extUserCls = new Parse.Query('contracts_Users');
|
|
extUserCls.equalTo('Email', Email);
|
|
const extUser = await extUserCls.first({ useMasterKey: true });
|
|
if (extUser) {
|
|
const paymentCls = new Parse.Query('contracts_Payments');
|
|
paymentCls.equalTo('PaymentId', PaymentId);
|
|
const payment = await paymentCls.first({ useMasterKey: true });
|
|
if (payment) {
|
|
const updatePayment = new Parse.Object('contracts_Payments');
|
|
updatePayment.id = payment.id;
|
|
updatePayment.set('PaymentDetails', body);
|
|
await updatePayment.save(null, { useMasterKey: true });
|
|
return response.status(200).json({ status: 'update Payment!' });
|
|
} else {
|
|
const createPayment = new Parse.Object('contracts_Payments');
|
|
createPayment.set('PaymentId', PaymentId);
|
|
createPayment.set('PaymentDetails', body);
|
|
createPayment.set('ExtUserPtr', {
|
|
__type: 'Pointer',
|
|
className: 'contracts_Users',
|
|
objectId: extUser.id,
|
|
});
|
|
createPayment.set('CreatedBy', {
|
|
__type: 'Pointer',
|
|
className: '_User',
|
|
objectId: extUser.get('UserId').id,
|
|
});
|
|
if (extUser?.get('TenantId')?.id) {
|
|
createPayment.set('TenantId', {
|
|
__type: 'Pointer',
|
|
className: 'partners_Tenant',
|
|
objectId: extUser.get('TenantId').id,
|
|
});
|
|
}
|
|
await createPayment.save(null, { useMasterKey: true });
|
|
return response.status(200).json({ status: 'create payments!' });
|
|
}
|
|
} else {
|
|
return response.status(404).json({ status: 'user not found!' });
|
|
}
|
|
} catch (err) {
|
|
console.log('Err in save payment', err);
|
|
return response.status(400).json({ status: 'error:' + err.message });
|
|
}
|
|
}
|