mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-08-17 21:25:54 +02:00
change userId type from string to pointer in appToken class and handle stringify array
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -371,7 +371,7 @@ const ReportTable = ({
|
||||
)}
|
||||
{heading.includes("Folder") && (
|
||||
<td className="px-4 py-2">
|
||||
{item?.Folder?.Name || "OpenSignDrive"}
|
||||
{item?.Folder?.Name || "OpenSign™ Drive"}
|
||||
</td>
|
||||
)}
|
||||
<td className="px-4 py-2">
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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!' });
|
||||
|
||||
@@ -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 });
|
||||
|
||||
@@ -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 });
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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!' });
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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!" };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user