diff --git a/apps/OpenSignServer/cloud/customRoute/saveInvoice.js b/apps/OpenSignServer/cloud/customRoute/saveInvoice.js index 91bef1fec..615d3b301 100644 --- a/apps/OpenSignServer/cloud/customRoute/saveInvoice.js +++ b/apps/OpenSignServer/cloud/customRoute/saveInvoice.js @@ -1,39 +1,42 @@ export default async function saveInvoice(request, response) { const InvoiceId = request.body.data.invoice.invoice_id; const body = request.body; - const Email = request.body.data.invoice.email - + const Email = request.body.data.invoice.email; + try { const extUserCls = new Parse.Query('contracts_Users'); extUserCls.equalTo('Email', Email); const extUser = await extUserCls.first({ useMasterKey: true }); - const invoiceCls = new Parse.Query('contracts_Invoices'); - invoiceCls.equalTo('InvoiceId', InvoiceId); - const invoice = await invoiceCls.first({ useMasterKey: true }); - if (invoice) { - const updateInvoice = new Parse.Object('contracts_Invoices'); - updateInvoice.id = invoice.id; - updateInvoice.set('InvoiceDetails', body); - await updateInvoice.save(null, { useMasterKey: true }); - return response.status(200).json({ status: 'update invoice!' }); + if (extUser) { + const invoiceCls = new Parse.Query('contracts_Invoices'); + invoiceCls.equalTo('InvoiceId', InvoiceId); + const invoice = await invoiceCls.first({ useMasterKey: true }); + if (invoice) { + const updateInvoice = new Parse.Object('contracts_Invoices'); + updateInvoice.id = invoice.id; + updateInvoice.set('InvoiceDetails', body); + await updateInvoice.save(null, { useMasterKey: true }); + return response.status(200).json({ status: 'update invoice!' }); + } else { + const createInvoice = new Parse.Object('contracts_Invoices'); + createInvoice.set('InvoiceId', InvoiceId); + createInvoice.set('InvoiceDetails', body); + createInvoice.set('ExtUserPtr', { + __type: 'Pointer', + className: 'contracts_Users', + objectId: extUser.id, + }); + createInvoice.set('CreatedBy', { + __type: 'Pointer', + className: '_User', + objectId: extUser.get('UserId').id, + }); + await createInvoice.save(null, { useMasterKey: true }); + return response.status(200).json({ status: 'create invoice!' }); + } } else { - const createInvoice = new Parse.Object('contracts_Invoices'); - createInvoice.set('InvoiceId', InvoiceId); - createInvoice.set('InvoiceDetails', body); - createInvoice.set('ExtUserPtr', { - __type: 'Pointer', - className: 'contracts_Users', - objectId: extUser.id, - }); - createInvoice.set('CreatedBy', { - __type: 'Pointer', - className: '_User', - objectId: extUser.get('UserId').id, - }); - await createInvoice.save(null, { useMasterKey: true }); - return response.status(200).json({ status: 'create invoice!' }); + return response.status(404).json({ status: 'user not found!' }); } - } catch (err) { console.log('Err in save invoice', err); return response.status(400).json({ status: 'error:' + err.message }); diff --git a/apps/OpenSignServer/cloud/customRoute/savePayments.js b/apps/OpenSignServer/cloud/customRoute/savePayments.js index 6388633db..f032cdbc2 100644 --- a/apps/OpenSignServer/cloud/customRoute/savePayments.js +++ b/apps/OpenSignServer/cloud/customRoute/savePayments.js @@ -1,36 +1,40 @@ 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 + 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 }); - 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!' }); + 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, + }); + await createPayment.save(null, { useMasterKey: true }); + return response.status(200).json({ status: 'create payments!' }); + } } 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, - }); - await createPayment.save(null, { useMasterKey: true }); - return response.status(200).json({ status: 'create payments!' }); + return response.status(404).json({ status: 'user not found!' }); } } catch (err) { console.log('Err in save payment', err); diff --git a/apps/OpenSignServer/cloud/customRoute/saveSubscription.js b/apps/OpenSignServer/cloud/customRoute/saveSubscription.js index 64b937bd8..b7203be10 100644 --- a/apps/OpenSignServer/cloud/customRoute/saveSubscription.js +++ b/apps/OpenSignServer/cloud/customRoute/saveSubscription.js @@ -1,37 +1,41 @@ export default async function saveSubscription(request, response) { const SubscriptionId = request.body.data.subscription.subscription_id; const body = request.body; - const Email = request.body.data.subscription.customer.email + const Email = request.body.data.subscription.customer.email; try { const extUserCls = new Parse.Query('contracts_Users'); extUserCls.equalTo('Email', Email); const extUser = await extUserCls.first({ useMasterKey: true }); - const subcriptionCls = new Parse.Query('contracts_Subscriptions'); - subcriptionCls.equalTo('SubscriptionId', SubscriptionId); - const subscription = await subcriptionCls.first({ useMasterKey: true }); - if (subscription) { - const updateSubscription = new Parse.Object('contracts_Subscriptions'); - updateSubscription.id = subscription.id; - updateSubscription.set('SubscriptionDetails', body); - await updateSubscription.save(null, { useMasterKey: true }); - return response.status(200).json({ status: 'update subscription!' }); + if (extUser) { + const subcriptionCls = new Parse.Query('contracts_Subscriptions'); + subcriptionCls.equalTo('SubscriptionId', SubscriptionId); + const subscription = await subcriptionCls.first({ useMasterKey: true }); + if (subscription) { + const updateSubscription = new Parse.Object('contracts_Subscriptions'); + updateSubscription.id = subscription.id; + updateSubscription.set('SubscriptionDetails', body); + await updateSubscription.save(null, { useMasterKey: true }); + return response.status(200).json({ status: 'update subscription!' }); + } else { + const createSubscription = new Parse.Object('contracts_Subscriptions'); + createSubscription.set('SubscriptionId', SubscriptionId); + createSubscription.set('SubscriptionDetails', body); + createSubscription.set('ExtUserPtr', { + __type: 'Pointer', + className: 'contracts_Users', + objectId: extUser.id, + }); + createSubscription.set('CreatedBy', { + __type: 'Pointer', + className: '_User', + objectId: extUser.get('UserId').id, + }); + await createSubscription.save(null, { useMasterKey: true }); + return response.status(200).json({ status: 'create subscription!' }); + } } else { - const createSubscription = new Parse.Object('contracts_Subscriptions'); - createSubscription.set('SubscriptionId', SubscriptionId); - createSubscription.set('SubscriptionDetails', body); - createSubscription.set('ExtUserPtr', { - __type: 'Pointer', - className: 'contracts_Users', - objectId: extUser.id, - }); - createSubscription.set('CreatedBy', { - __type: 'Pointer', - className: '_User', - objectId: extUser.get('UserId').id, - }); - await createSubscription.save(null, { useMasterKey: true }); - return response.status(200).json({ status: 'create subscription!' }); + return response.status(404).json({ status: 'user not found!' }); } } catch (err) { console.log('Err in save subscription', err);