diff --git a/apps/OpenSign/src/json/plansArr.json b/apps/OpenSign/src/json/plansArr.json
index d4ae65baa..8d337fdb0 100644
--- a/apps/OpenSign/src/json/plansArr.json
+++ b/apps/OpenSign/src/json/plansArr.json
@@ -33,7 +33,7 @@
"target": "_self",
"benefits": [
"Sign Unlimited Documents",
- "Unlimited Secure Doc Storage with OpenSignDrive",
+ "Unlimited Secure Doc Storage with OpenSign™ Drive",
"Unlimited Guest Signers",
"Unlimited completion certificates",
"Unique Code(OTP) verification for guest signers",
diff --git a/apps/OpenSign/src/primitives/GetReportDisplay.js b/apps/OpenSign/src/primitives/GetReportDisplay.js
index b9786d55d..8e50fb667 100644
--- a/apps/OpenSign/src/primitives/GetReportDisplay.js
+++ b/apps/OpenSign/src/primitives/GetReportDisplay.js
@@ -371,7 +371,7 @@ const ReportTable = ({
)}
{heading.includes("Folder") && (
- {item?.Folder?.Name || "OpenSignDrive"}
+ {item?.Folder?.Name || "OpenSign™ Drive"}
|
)}
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/apiV1.js b/apps/OpenSignServer/cloud/customRoute/v1/apiV1.js
index 84418f549..2d6d391c0 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/apiV1.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/apiV1.js
@@ -17,9 +17,10 @@ import getTemplatetList from './routes/getTemplateList.js';
import updateTemplate from './routes/updateTemplate.js';
import createContact from './routes/createContact.js';
import multer from 'multer';
-import fs from 'node:fs';
+// import fs from 'node:fs';
import updateDocument from './routes/updateDocument.js';
import deleteDocument from './routes/deleteDocument.js';
+// import createDocumentWithTemplate from './routes/CreateDocumentWithTemplate.js';
dotenv.config();
const storage = multer.memoryStorage();
@@ -47,6 +48,8 @@ app.get('/contactlist', getContactList);
// create Document
app.post('/createdocument', upload.array('file', 1), createDocument);
+// create Document with templateId
+// app.post('/createdocument/:template_id', createDocumentWithTemplate);
// get Document on the basis of id
app.get('/document/:document_id', getDocument);
@@ -60,7 +63,7 @@ app.delete('/document/:document_id', deleteDocument);
app.get('/documentlist/:doctype', getDocumentList);
// create Template
-app.post('/createtemplate',upload.array('file', 1), createTemplate);
+app.post('/createtemplate', upload.array('file', 1), createTemplate);
// get template on the basis of id
app.get('/template/:template_id', getTemplate);
@@ -73,4 +76,3 @@ app.delete('/template/:template_id', deletedTemplate);
// get all types of documents on the basis of doctype
app.get('/templatelist', getTemplatetList);
-
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/createContact.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/createContact.js
index c95691066..2079f059a 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/createContact.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/createContact.js
@@ -14,11 +14,10 @@ export default async function createContact(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
try {
const Tenant = new Parse.Query('partners_Tenant');
- Tenant.equalTo('UserId', userId);
+ Tenant.equalTo('UserId', userPtr);
const tenantRes = await Tenant.first({ useMasterKey: true });
const contactQuery = new Parse.Object('contracts_Contactbook');
@@ -56,13 +55,13 @@ export default async function createContact(request, response) {
userId: user.id,
};
await axios.post(roleurl, body, { headers: headers });
- const currentUser = userId;
+ const currentUser = userPtr;
contactQuery.set('CreatedBy', currentUser);
contactQuery.set('UserId', user);
const acl = new Parse.ACL();
- acl.setReadAccess(id, true);
- acl.setWriteAccess(id, true);
+ acl.setReadAccess(userPtr.id, true);
+ acl.setWriteAccess(userPtr.id, true);
acl.setReadAccess(user.id, true);
acl.setWriteAccess(user.id, true);
contactQuery.setACL(acl);
@@ -79,7 +78,7 @@ export default async function createContact(request, response) {
});
}
} catch (err) {
- console.log('err ', err);
+ console.log('err in', err);
if (err.code === 202) {
const params = { email: email };
const userRes = await Parse.Cloud.run('getUserId', params);
@@ -95,15 +94,15 @@ export default async function createContact(request, response) {
userId: userRes.id,
};
await axios.post(roleurl, body, { headers: headers });
- contactQuery.set('CreatedBy', userId);
+ contactQuery.set('CreatedBy', userPtr);
contactQuery.set('UserId', {
__type: 'Pointer',
className: '_User',
objectId: userRes.id,
});
const acl = new Parse.ACL();
- acl.setReadAccess(id, true);
- acl.setWriteAccess(id, true);
+ acl.setReadAccess(userPtr.id, true);
+ acl.setWriteAccess(userPtr.id, true);
acl.setReadAccess(userRes.id, true);
acl.setWriteAccess(userRes.id, true);
@@ -121,6 +120,9 @@ export default async function createContact(request, response) {
});
}
} else {
+ if (err.code === 137) {
+ return response.status(401).json({ error: 'Contact already exists!' });
+ }
return response
.status(400)
.json({ error: 'Something went wrong, please try again later!' });
@@ -128,7 +130,13 @@ export default async function createContact(request, response) {
}
} catch (err) {
console.log('err ', err);
- return response.status(400).json({ error: 'Something went wrong, please try again later!' });
+ if (err.code === 137) {
+ return response.status(137).json({ error: 'Contact already exists!' });
+ } else {
+ return response
+ .status(400)
+ .json({ error: 'Something went wrong, please try again later!' });
+ }
}
} else {
return response.status(405).json({ error: 'Invalid API Token!' });
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocument.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocument.js
index 2724e3fc6..05c99ccde 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocument.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/createDocument.js
@@ -9,12 +9,6 @@ export default async function createDocument(request, response) {
const url = process.env.SERVER_URL;
const fileData = request.files[0] ? request.files[0].buffer : null;
try {
- const file = new Parse.File(request.files[0].originalname, {
- base64: fileData.toString('base64'),
- });
- await file.save({ useMasterKey: true });
- const fileUrl = file.url();
-
const reqToken = request.headers['x-api-token'];
if (!reqToken) {
return response.status(400).json({ error: 'Please Provide API Token' });
@@ -24,11 +18,15 @@ export default async function createDocument(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
+ const file = new Parse.File(request.files?.[0]?.originalname, {
+ base64: fileData.toString('base64'),
+ });
+ await file.save({ useMasterKey: true });
+ const fileUrl = file.url();
const contractsUser = new Parse.Query('contracts_Users');
- contractsUser.equalTo('UserId', userId);
+ contractsUser.equalTo('UserId', userPtr);
const extUser = await contractsUser.first({ useMasterKey: true });
const extUserPtr = { __type: 'Pointer', className: 'contracts_Users', objectId: extUser.id };
@@ -43,10 +41,11 @@ export default async function createDocument(request, response) {
object.set('Description', description);
}
object.set('URL', fileUrl);
- object.set('CreatedBy', userId);
+ object.set('CreatedBy', userPtr);
object.set('ExtUserPtr', extUserPtr);
if (signers) {
- const placeholders = signers.map(x => ({
+ const parseSigners = JSON.parse(signers);
+ const placeholders = parseSigners.map(x => ({
email: x,
Id: randomId(),
Role: '',
@@ -63,8 +62,8 @@ export default async function createDocument(request, response) {
const newACL = new Parse.ACL();
newACL.setPublicReadAccess(false);
newACL.setPublicWriteAccess(false);
- newACL.setReadAccess(id, true);
- newACL.setWriteAccess(id, true);
+ newACL.setReadAccess(userPtr.id, true);
+ newACL.setWriteAccess(userPtr.id, true);
object.setACL(newACL);
const res = await object.save(null, { useMasterKey: true });
return response.json({ objectId: res.id, url: url });
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/createTemplate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/createTemplate.js
index a2728bbcd..83580707f 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/createTemplate.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/createTemplate.js
@@ -9,11 +9,6 @@ export default async function createTemplate(request, response) {
const url = process.env.SERVER_URL;
const fileData = request.files[0] ? request.files[0].buffer : null;
try {
- const file = new Parse.File(request.files[0].originalname, {
- base64: fileData.toString('base64'),
- });
- await file.save({ useMasterKey: true });
- const fileUrl = file.url();
const reqToken = request.headers['x-api-token'];
if (!reqToken) {
return response.status(400).json({ error: 'Please Provide API Token' });
@@ -23,9 +18,12 @@ export default async function createTemplate(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
-
+ const userPtr = token.get('userId');
+ const file = new Parse.File(request.files?.[0]?.originalname, {
+ base64: fileData.toString('base64'),
+ });
+ await file.save({ useMasterKey: true });
+ const fileUrl = file.url();
const contractsUser = new Parse.Query('contracts_Users');
contractsUser.equalTo('UserId', userId);
const extUser = await contractsUser.first({ useMasterKey: true });
@@ -42,10 +40,11 @@ export default async function createTemplate(request, response) {
object.set('Description', description);
}
object.set('URL', fileUrl);
- object.set('CreatedBy', userId);
+ object.set('CreatedBy', userPtr);
object.set('ExtUserPtr', extUserPtr);
if (signers) {
- const placeholders = signers.map((x, i) => ({
+ const parseSigners = JSON.parse(signers);
+ const placeholders = parseSigners.map((x, i) => ({
email: x,
Id: randomId(),
Role: 'User ' + (i + 1),
@@ -62,8 +61,8 @@ export default async function createTemplate(request, response) {
const newACL = new Parse.ACL();
newACL.setPublicReadAccess(false);
newACL.setPublicWriteAccess(false);
- newACL.setReadAccess(id, true);
- newACL.setWriteAccess(id, true);
+ newACL.setReadAccess(userPtr.id, true);
+ newACL.setWriteAccess(userPtr.id, true);
object.setACL(newACL);
const res = await object.save(null, { useMasterKey: true });
return response.json({ objectId: res.id, url: url });
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteContact.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteContact.js
index 1dadb0e0f..b9e57012a 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteContact.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteContact.js
@@ -9,11 +9,10 @@ export default async function deleteContact(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const Contactbook = new Parse.Query('contracts_Contactbook');
Contactbook.equalTo('objectId', request.params.contact_id);
- Contactbook.equalTo('CreatedBy', userId);
+ Contactbook.equalTo('CreatedBy', userPtr);
const res = await Contactbook.first({ useMasterKey: true });
if (res) {
const isDeleted = res.get('IsDeleted');
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteDocument.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteDocument.js
index 71259085f..543dd73ba 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteDocument.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteDocument.js
@@ -9,11 +9,10 @@ export default async function deleteDocument(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const Document = new Parse.Query('contracts_Document');
Document.equalTo('objectId', request.params.document_id);
- Document.equalTo('CreatedBy', userId);
+ Document.equalTo('CreatedBy', userPtr);
const res = await Document.first({ useMasterKey: true });
if (res) {
const isArchive = res.get('IsArchive');
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteTemplate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteTemplate.js
index de3586195..9967f9001 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteTemplate.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/deleteTemplate.js
@@ -9,11 +9,10 @@ export default async function deletedTemplate(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const template = new Parse.Query('contracts_Template');
template.equalTo('objectId', request.params.template_id);
- template.equalTo('CreatedBy', userId);
+ template.equalTo('CreatedBy', userPtr);
const res = await template.first({ useMasterKey: true });
if (res) {
const isArchive = res.get('IsArchive');
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/getContact.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/getContact.js
index ad5eea4d5..0a68b31bc 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/getContact.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/getContact.js
@@ -9,11 +9,10 @@ export default async function getContact(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const Contactbook = new Parse.Query('contracts_Contactbook');
Contactbook.equalTo('objectId', request.params.contact_id);
- Contactbook.equalTo('CreatedBy', userId);
+ Contactbook.equalTo('CreatedBy', userPtr);
Contactbook.notEqualTo('IsDeleted', true);
Contactbook.select('Name,Email,Phone');
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/getContactList.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/getContactList.js
index 02c6dd620..a6b74a819 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/getContactList.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/getContactList.js
@@ -9,12 +9,12 @@ export default async function getContactList(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
+
const limit = request?.query?.limit ? request.query.limit : 100;
const skip = request?.query?.skip ? request.query.skip : 0;
const Contactbook = new Parse.Query('contracts_Contactbook');
- Contactbook.equalTo('CreatedBy', userId);
+ Contactbook.equalTo('CreatedBy', userPtr);
Contactbook.notEqualTo('IsDeleted', true);
Contactbook.limit(limit);
Contactbook.skip(skip);
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocument.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocument.js
index d59ba86b2..76046aa5e 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocument.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocument.js
@@ -9,11 +9,10 @@ export default async function getDocument(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const Document = new Parse.Query('contracts_Document');
Document.equalTo('objectId', request.params.document_id);
- Document.equalTo('CreatedBy', userId);
+ Document.equalTo('CreatedBy', userPtr);
Document.notEqualTo('IsArchive', true);
Document.include('Signers');
Document.include('Folder');
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocumentList.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocumentList.js
index 3ef4d338c..f586cc2c6 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocumentList.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/getDocumentList.js
@@ -15,7 +15,7 @@ export default async function getDocumentList(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const userId = token.get('Id');
+ const userPtr = token.get('userId');
const docType = request.params.doctype;
const limit = request?.query?.limit ? request.query.limit : 100;
const skip = request?.query?.skip ? request.query.skip : 0;
@@ -42,7 +42,7 @@ export default async function getDocumentList(request, response) {
default:
reportId = '';
}
- const json = reportId && reportJson(reportId, userId);
+ const json = reportId && reportJson(reportId, userPtr.id);
const clsName = 'contracts_Document';
if (reportId && json) {
const { params, keys } = json;
@@ -59,14 +59,14 @@ export default async function getDocumentList(request, response) {
if (res.data && res.data.results.length > 0) {
const updateRes = res.data.results.map(x => ({
objectId: x.objectId,
- title: x.Name,
- note: x.Note || '',
- folder: x?.Folder?.Name || 'OpenSign™ Drive',
- file: x?.SignedUrl || x.URL,
- owner: x?.ExtUserPtr?.Name,
- signers: x?.Signers?.map(y => y?.Name) || '',
- created_at: x.createdAt,
- updated_at: x.updatedAt,
+ Title: x.Name,
+ Note: x.Note || '',
+ Folder: x?.Folder?.Name || 'OpenSign™ Drive',
+ File: x?.SignedUrl || x.URL,
+ Owner: x?.ExtUserPtr?.Name,
+ Signers: x?.Signers?.map(y => y?.Name) || '',
+ createdAt: x.createdAt,
+ updatedAt: x.updatedAt,
}));
return response.json({ result: updateRes });
} else {
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplate.js
index 2621707fc..f69bd896a 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplate.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplate.js
@@ -9,11 +9,10 @@ export default async function getTemplate(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const Template = new Parse.Query('contracts_Template');
Template.equalTo('objectId', request.params.template_id);
- Template.equalTo('CreatedBy', userId);
+ Template.equalTo('CreatedBy', userPtr);
Template.notEqualTo('IsArchive', true);
Template.include('Signers');
Template.include('Folder');
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplateList.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplateList.js
index d8e046853..0e641e20a 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplateList.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/getTemplateList.js
@@ -14,18 +14,14 @@ export default async function getTemplatetList(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const userId = token.get('Id');
+ const userPtr = token.get('userId');
const limit = request?.query?.limit ? request.query.limit : 100;
const skip = request?.query?.skip ? request.query.skip : 0;
const clsName = 'contracts_Template';
const params = {
Type: { $ne: 'Folder' },
- CreatedBy: {
- __type: 'Pointer',
- className: '_User',
- objectId: userId,
- },
+ CreatedBy: userPtr,
IsArchive: { $ne: true },
};
const keys = [
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/getUser.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/getUser.js
index 20015f0b9..54f92ef52 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/getUser.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/getUser.js
@@ -11,9 +11,9 @@ export default async function getUser(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const userId = token.get('Id');
+ const userPtr = token.get('userId');
const query = new Parse.Query('contracts_Users');
- query.equalTo('UserId', { __type: 'Pointer', className: '_User', objectId: userId });
+ query.equalTo('UserId', userPtr);
query.exclude('IsContactEntry,TourStatus,UserRole,TenantId,UserId,CreatedBy,Plan');
const user = await query.first({ useMasterKey: true });
if (user) {
@@ -26,7 +26,7 @@ export default async function getUser(request, response) {
JobTitle: parseRes.JobTitle,
Company: parseRes.Company,
createdAt: parseRes.createdAt,
- updateAt: parseRes.updateAt,
+ updatedAt: parseRes.updatedAt,
});
} else {
return response.status(404).json({ error: 'User not found!' });
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/updateDocument.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/updateDocument.js
index f30b07389..2f0b76c53 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/updateDocument.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/updateDocument.js
@@ -8,16 +8,15 @@ export default async function updateDocument(request, response) {
tokenQuery.equalTo('token', reqToken);
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
- // Valid Token then proceed request
- const id = token.get('Id');
+ // Valid Token then proceed request
const allowedKeys = ['Name', 'Note', 'Description'];
const objectKeys = Object.keys(request.body);
const isValid = objectKeys.every(key => allowedKeys.includes(key)) && objectKeys.length > 0;
if (isValid) {
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const document = new Parse.Query('contracts_Document');
document.equalTo('objectId', request.params.document_id);
- document.equalTo('CreatedBy', userId);
+ document.equalTo('CreatedBy', userPtr);
const res = await document.first({ useMasterKey: true });
if (res) {
const isArchive = res.get('IsArchive');
diff --git a/apps/OpenSignServer/cloud/customRoute/v1/routes/updateTemplate.js b/apps/OpenSignServer/cloud/customRoute/v1/routes/updateTemplate.js
index c2cdbbeee..d3445bcf5 100644
--- a/apps/OpenSignServer/cloud/customRoute/v1/routes/updateTemplate.js
+++ b/apps/OpenSignServer/cloud/customRoute/v1/routes/updateTemplate.js
@@ -9,15 +9,14 @@ export default async function updateTemplate(request, response) {
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// Valid Token then proceed request
- const id = token.get('Id');
const allowedKeys = ['Name', 'Note', 'Description'];
const objectKeys = Object.keys(request.body);
const isValid = objectKeys.every(key => allowedKeys.includes(key)) && objectKeys.length > 0;
if (isValid) {
- const userId = { __type: 'Pointer', className: '_User', objectId: id };
+ const userPtr = token.get('userId');
const template = new Parse.Query('contracts_Template');
template.equalTo('objectId', request.params.template_id);
- template.equalTo('CreatedBy', userId);
+ template.equalTo('CreatedBy', userPtr);
const res = await template.first({ useMasterKey: true });
if (res) {
const isArchive = res.get('IsArchive');
diff --git a/apps/OpenSignServer/cloud/parsefunction/generateApiToken.js b/apps/OpenSignServer/cloud/parsefunction/generateApiToken.js
index bdf7842cc..8f39ccfdb 100644
--- a/apps/OpenSignServer/cloud/parsefunction/generateApiToken.js
+++ b/apps/OpenSignServer/cloud/parsefunction/generateApiToken.js
@@ -12,7 +12,7 @@ export default async function generateApiToken(request) {
const userId = userRes.data && userRes.data.objectId;
if (userId) {
const tokenQuery = new Parse.Query('appToken');
- tokenQuery.equalTo('Id', userId);
+ tokenQuery.equalTo('userId', { __type: 'Pointer', className: '_User', objectId: userId });
const token = await tokenQuery.first({ useMasterKey: true });
if (token !== undefined) {
// return exsiting Token
@@ -31,7 +31,7 @@ export default async function generateApiToken(request) {
const appTokenQuery = new appToken();
const token = generateApiKey({ method: 'base62', prefix: 'opensign' });
appTokenQuery.set('token', token);
- appTokenQuery.set('Id', userId);
+ appTokenQuery.set('userId', { __type: 'Pointer', className: '_User', objectId: userId });
const newRes = await appTokenQuery.save(null, { useMasterKey: true });
return newRes;
}
diff --git a/apps/OpenSignServer/cloud/parsefunction/getapitoken.js b/apps/OpenSignServer/cloud/parsefunction/getapitoken.js
index 5e12d6a39..570679f57 100644
--- a/apps/OpenSignServer/cloud/parsefunction/getapitoken.js
+++ b/apps/OpenSignServer/cloud/parsefunction/getapitoken.js
@@ -11,7 +11,7 @@ export default async function getapitoken(request) {
const userId = userRes.data && userRes.data.objectId;
if (userId) {
const tokenQuery = new Parse.Query('appToken');
- tokenQuery.equalTo('Id', userId);
+ tokenQuery.equalTo('userId', { __type: 'Pointer', className: '_User', objectId: userId });
const res = await tokenQuery.first({ useMasterKey: true });
if (res) {
return { status: 'success', result: res.get('token') };
@@ -19,6 +19,11 @@ export default async function getapitoken(request) {
}
} catch (err) {
console.log('Err', err);
- return { status: 'error', result: err };
+ console.log('err', err);
+ if (err.code == 209) {
+ return { error: 'Invalid session token' };
+ } else {
+ return { error: "You don't have access!" };
+ }
}
}
diff --git a/apps/OpenSignServer/index.js b/apps/OpenSignServer/index.js
index b69429e59..92deb1572 100644
--- a/apps/OpenSignServer/index.js
+++ b/apps/OpenSignServer/index.js
@@ -74,6 +74,7 @@ export const config = {
import('./cloud/main.js');
},
appId: process.env.APP_ID || 'myAppId',
+ maxLimit: 500,
masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!
masterKeyIps: ['0.0.0.0/0', '::1'], // '::1'
serverURL: process.env.SERVER_URL || 'http://localhost:8080/app', // Don't forget to change to https if needed
|