diff --git a/apps/OpenSignServer/cloud/customRoute/saveInvoice.js b/apps/OpenSignServer/cloud/customRoute/saveInvoice.js index 06c07f63b..91bef1fec 100644 --- a/apps/OpenSignServer/cloud/customRoute/saveInvoice.js +++ b/apps/OpenSignServer/cloud/customRoute/saveInvoice.js @@ -1,11 +1,11 @@ export default async function saveInvoice(request, response) { const InvoiceId = request.body.data.invoice.invoice_id; const body = request.body; - const Email = request.body.data.email; + const Email = request.body.data.invoice.email try { const extUserCls = new Parse.Query('contracts_Users'); - extUserCls.equalTo('Customer_id', Email); + extUserCls.equalTo('Email', Email); const extUser = await extUserCls.first({ useMasterKey: true }); const invoiceCls = new Parse.Query('contracts_Invoices'); invoiceCls.equalTo('InvoiceId', InvoiceId); @@ -33,6 +33,7 @@ export default async function saveInvoice(request, response) { await createInvoice.save(null, { useMasterKey: true }); return response.status(200).json({ status: 'create invoice!' }); } + } 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 5e9a7de99..6388633db 100644 --- a/apps/OpenSignServer/cloud/customRoute/savePayments.js +++ b/apps/OpenSignServer/cloud/customRoute/savePayments.js @@ -1,11 +1,10 @@ export default async function savePayments(request, response) { const PaymentId = request.body.data.payment.payment_id; const body = request.body; - const Email = request.body.data.email; - + const Email = request.body.data.payment.email try { const extUserCls = new Parse.Query('contracts_Users'); - extUserCls.equalTo('Customer_id', Email); + extUserCls.equalTo('Email', Email); const extUser = await extUserCls.first({ useMasterKey: true }); const paymentCls = new Parse.Query('contracts_Payments'); paymentCls.equalTo('PaymentId', PaymentId); diff --git a/apps/OpenSignServer/cloud/main.js b/apps/OpenSignServer/cloud/main.js index 6b010f0ff..7fdf4bb14 100644 --- a/apps/OpenSignServer/cloud/main.js +++ b/apps/OpenSignServer/cloud/main.js @@ -54,9 +54,9 @@ Parse.Cloud.define('getTemplate', GetTemplate); Parse.Cloud.define('savewebhook', savewebhook); Parse.Cloud.define('callwebhook', callWebhook); Parse.Cloud.define('freesubscription', SubscribeFree); -Parse.Cloud.define('getInvoice', getInvoices); -Parse.Cloud.define('getPayments', getPayments); -Parse.Cloud.define('getSubscriptions', getSubscriptions); +Parse.Cloud.define('getinvoices', getInvoices); +Parse.Cloud.define('getpayments', getPayments); +Parse.Cloud.define('getsubscriptions', getSubscriptions); Parse.Cloud.afterSave('contracts_Document', DocumentAftersave); Parse.Cloud.afterSave('contracts_Contactbook', ContactbookAftersave); Parse.Cloud.afterSave('contracts_Users', ContractUsersAftersave); diff --git a/apps/OpenSignServer/cloud/parsefunction/getInvoice.js b/apps/OpenSignServer/cloud/parsefunction/getInvoice.js deleted file mode 100644 index 92f491470..000000000 --- a/apps/OpenSignServer/cloud/parsefunction/getInvoice.js +++ /dev/null @@ -1,26 +0,0 @@ -export default async function getInvoices(request) { - const limit = request.params.limit || 100; - const skip = request.params.skip || 0; - const extUserId = request.params.extUserId; - try { - const invoiceCls = new Parse.Query('contracts_Invoices'); - invoiceCls.equalTo('ExtUserPtr', { - __type: 'Pointer', - className: 'contracts_User', - objectId: extUserId, - }); - invoiceCls.limit(limit); - invoiceCls.skip(skip); - invoiceCls.descending('createdAt'); - const invoices = await invoiceCls.find({ useMasterKey: true }); - if (invoices?.length > 0) { - const _invoices = JSON.parse(JSON.stringify(invoices)); - return { status: 'success', result: _invoices }; - } else { - return { status: 'success', result: [] }; - } - } catch (err) { - console.log('Err in get invoices', err.message); - return { status: 'error', result: err.message }; - } -} diff --git a/apps/OpenSignServer/cloud/parsefunction/getInvoices.js b/apps/OpenSignServer/cloud/parsefunction/getInvoices.js new file mode 100644 index 000000000..258595756 --- /dev/null +++ b/apps/OpenSignServer/cloud/parsefunction/getInvoices.js @@ -0,0 +1,40 @@ +import axios from 'axios'; +const serverUrl = process.env.SERVER_URL; +const appId = process.env.APP_ID; +export default async function getInvoices(request) { + const limit = request.params.limit || 100; + const skip = request.params.skip || 0; + const extUserId = request.params.extUserId; + try { + const userRes = await axios.get(serverUrl + '/users/me', { + headers: { + 'X-Parse-Application-Id': appId, + 'X-Parse-Session-Token': request.headers['sessiontoken'], + }, + }); + const userId = userRes.data && userRes.data.objectId; + if (userId) { + const invoiceCls = new Parse.Query('contracts_Invoices'); + invoiceCls.equalTo('ExtUserPtr', { + __type: 'Pointer', + className: 'contracts_User', + objectId: extUserId, + }); + invoiceCls.limit(limit); + invoiceCls.skip(skip); + invoiceCls.descending('createdAt'); + const invoices = await invoiceCls.find({ useMasterKey: true }); + if (invoices?.length > 0) { + const _invoices = JSON.parse(JSON.stringify(invoices)); + return { status: 'success', result: _invoices }; + } else { + return { status: 'success', result: [] }; + } + } else { + return { status: 'error', result: 'Invalid session token!' }; + } + } catch (err) { + console.log('Err in get invoices', err.message); + return { status: 'error', result: err.message }; + } +} diff --git a/apps/OpenSignServer/cloud/parsefunction/getPayments.js b/apps/OpenSignServer/cloud/parsefunction/getPayments.js index 54e9ba738..1cad03dd1 100644 --- a/apps/OpenSignServer/cloud/parsefunction/getPayments.js +++ b/apps/OpenSignServer/cloud/parsefunction/getPayments.js @@ -1,23 +1,37 @@ +import axios from 'axios'; +const serverUrl = process.env.SERVER_URL; +const appId = process.env.APP_ID; export default async function getPayments(request) { const limit = request.params.limit || 100; const skip = request.params.skip || 0; const extUserId = request.params.extUserId; try { - const paymentsCls = new Parse.Query('contracts_Payments'); - paymentsCls.equalTo('ExtUserPtr', { - __type: 'Pointer', - className: 'contracts_User', - objectId: extUserId, + const userRes = await axios.get(serverUrl + '/users/me', { + headers: { + 'X-Parse-Application-Id': appId, + 'X-Parse-Session-Token': request.headers['sessiontoken'], + }, }); - paymentsCls.limit(limit); - paymentsCls.skip(skip); - paymentsCls.descending('createdAt'); - const payments = await paymentsCls.find({ useMasterKey: true }); - if (payments?.length > 0) { - const _payments = JSON.parse(JSON.stringify(payments)); - return { status: 'success', result: _payments }; + const userId = userRes.data && userRes.data.objectId; + if (userId) { + const paymentsCls = new Parse.Query('contracts_Payments'); + paymentsCls.equalTo('ExtUserPtr', { + __type: 'Pointer', + className: 'contracts_User', + objectId: extUserId, + }); + paymentsCls.limit(limit); + paymentsCls.skip(skip); + paymentsCls.descending('createdAt'); + const payments = await paymentsCls.find({ useMasterKey: true }); + if (payments?.length > 0) { + const _payments = JSON.parse(JSON.stringify(payments)); + return { status: 'success', result: _payments }; + } else { + return { status: 'success', result: [] }; + } } else { - return { status: 'success', result: [] }; + return { status: 'error', result: 'Invalid session token!' }; } } catch (err) { console.log('Err in get Payments', err.message); diff --git a/apps/OpenSignServer/cloud/parsefunction/getSubscriptions.js b/apps/OpenSignServer/cloud/parsefunction/getSubscriptions.js index 488c00d1d..d0562f7d8 100644 --- a/apps/OpenSignServer/cloud/parsefunction/getSubscriptions.js +++ b/apps/OpenSignServer/cloud/parsefunction/getSubscriptions.js @@ -1,23 +1,37 @@ +import axios from 'axios'; +const serverUrl = process.env.SERVER_URL; +const appId = process.env.APP_ID; export default async function getSubscription(request) { const limit = request.params.limit || 100; const skip = request.params.skip || 0; const extUserId = request.params.extUserId; try { - const subscriptionCls = new Parse.Query('contracts_Subscriptions'); - subscriptionCls.equalTo('ExtUserPtr', { - __type: 'Pointer', - className: 'contracts_User', - objectId: extUserId, + const userRes = await axios.get(serverUrl + '/users/me', { + headers: { + 'X-Parse-Application-Id': appId, + 'X-Parse-Session-Token': request.headers['sessiontoken'], + }, }); - subscriptionCls.limit(limit); - subscriptionCls.skip(skip); - subscriptionCls.descending('createdAt'); - const subcripitions = await subscriptionCls.find({ useMasterKey: true }); - if (subcripitions?.length > 0) { - const _subcripitions = JSON.parse(JSON.stringify(subcripitions)); - return { status: 'success', result: _subcripitions }; + const userId = userRes.data && userRes.data.objectId; + if (userId) { + const subscriptionCls = new Parse.Query('contracts_Subscriptions'); + subscriptionCls.equalTo('ExtUserPtr', { + __type: 'Pointer', + className: 'contracts_User', + objectId: extUserId, + }); + subscriptionCls.limit(limit); + subscriptionCls.skip(skip); + subscriptionCls.descending('createdAt'); + const subcripitions = await subscriptionCls.find({ useMasterKey: true }); + if (subcripitions?.length > 0) { + const _subcripitions = JSON.parse(JSON.stringify(subcripitions)); + return { status: 'success', result: _subcripitions }; + } else { + return { status: 'success', result: [] }; + } } else { - return { status: 'success', result: [] }; + return { status: 'error', result: 'Invalid session token!' }; } } catch (err) { console.log('Err in get subscription', err.message);