diff --git a/apps/OpenSign/src/primitives/AddContact.js b/apps/OpenSign/src/primitives/AddContact.js index 0365c2b5b..2414c0c86 100644 --- a/apps/OpenSign/src/primitives/AddContact.js +++ b/apps/OpenSign/src/primitives/AddContact.js @@ -60,7 +60,6 @@ const AddContact = (props) => { ); const userId = user?.objectId || ""; const tenantDetails = await getTenantDetails(userId, props.jwttoken); - console.log("tenantDetails", tenantDetails); const tenantId = tenantDetails?.objectId || ""; if (tenantId) { try { @@ -78,7 +77,6 @@ const AddContact = (props) => { const axiosRes = await axios.post(url, data, { headers }); const contactRes = axiosRes?.data?.result || {}; if (contactRes?.objectId) { - console.log("contactRes ", contactRes); props.details(contactRes); if (props.closePopup) { props.closePopup(); diff --git a/apps/OpenSignServer/cloud/parsefunction/getTenant.js b/apps/OpenSignServer/cloud/parsefunction/getTenant.js index 2b5957a0a..af7a3139b 100644 --- a/apps/OpenSignServer/cloud/parsefunction/getTenant.js +++ b/apps/OpenSignServer/cloud/parsefunction/getTenant.js @@ -1,5 +1,35 @@ import { parseJwt } from '../../Utils.js'; import jwt from 'jsonwebtoken'; + +async function getTenantByUserId(userId) { + try { + const query = new Parse.Query('contracts_Users'); + query.equalTo('UserId', { + __type: 'Pointer', + className: '_User', + objectId: userId, + }); + const extuser = await query.first({ useMasterKey: true }); + if (extuser) { + const user = extuser?.get('CreatedBy')?.id || userId; + const tenantCreditsQuery = new Parse.Query('partners_Tenant'); + tenantCreditsQuery.equalTo('UserId', { + __type: 'Pointer', + className: '_User', + objectId: user, + }); + tenantCreditsQuery.exclude('FileAdapters'); + tenantCreditsQuery.exclude('PfxFile'); + const res = await tenantCreditsQuery.first({ useMasterKey: true }); + return res; + } else { + return {}; + } + } catch (err) { + console.log('err in getTenant ', err); + return 'user does not exist!'; + } +} export default async function getTenant(request) { const jwttoken = request.headers.jwttoken || ''; const userId = request.params.userId || ''; @@ -10,50 +40,22 @@ export default async function getTenant(request) { const userCls = new Parse.Query(Parse.User); userCls.equalTo('email', jwtDecode?.user_email); const userRes = await userCls.first({ useMasterKey: true }); - const userId = userRes?.id; + const apiUserId = userRes?.id; const tokenQuery = new Parse.Query('appToken'); tokenQuery.equalTo('userId', { __type: 'Pointer', className: '_User', - objectId: userId, + objectId: apiUserId, }); const appRes = await tokenQuery.first({ useMasterKey: true }); const decoded = jwt.verify(verifyToken, appRes?.get('token')); if (decoded?.user_email) { - try { - const tenantCreditsQuery = new Parse.Query('partners_Tenant'); - tenantCreditsQuery.equalTo('UserId', { - __type: 'Pointer', - className: '_User', - objectId: userId, - }); - tenantCreditsQuery.exclude('FileAdapters'); - tenantCreditsQuery.exclude('PfxFile'); - const res = await tenantCreditsQuery.first({ useMasterKey: true }); - if (res) { - return res; - } - } catch (e) { - return 'user does not exist!'; - } + return await getTenantByUserId(apiUserId); } else { return { status: 'error', result: 'Invalid token!' }; } } } else if (userId) { - try { - const tenantCreditsQuery = new Parse.Query('partners_Tenant'); - tenantCreditsQuery.equalTo('UserId', { - __type: 'Pointer', - className: '_User', - objectId: userId, - }); - const res = await tenantCreditsQuery.first(); - if (res) { - return res; - } - } catch (e) { - return 'user does not exist!'; - } + return await getTenantByUserId(userId); } }