feat: add update template api and update all apis

This commit is contained in:
prafull-opensignlabs
2024-01-11 22:19:40 +05:30
parent ea9b0370c4
commit eebcfe94d9
14 changed files with 124 additions and 26 deletions
@@ -14,6 +14,7 @@ import createTemplate from './routes/createTemplate.js';
import getTemplate from './routes/getTemplate.js';
import deletedTemplate from './routes/deleteTemplate.js';
import getTemplatetList from './routes/getTemplateList.js';
import updateTemplate from './routes/updateTemplate.js';
dotenv.config();
app.use(cors());
@@ -47,9 +48,11 @@ app.post('/createtemplate', createTemplate);
// get template on the basis of id
app.get('/template/:template_id', getTemplate);
// get template on the basis of id
app.put('/template/:template_id', updateTemplate);
// get template on the basis of id
app.delete('/template/:template_id', deletedTemplate);
// get all types of documents on the basis of doctype
app.get('/templatelist', getTemplatetList);
@@ -70,9 +70,13 @@ export default async function createContact(request, response) {
contactQuery.setACL(acl);
await contactQuery.save();
const contactRes = await contactQuery.save();
// const parseData = JSON.parse(JSON.stringify(res));
return response.json({ code: 200, message: 'Contact create sucessfully!' });
return response.json({
code: 200,
message: 'Contact created sucessfully!',
result: { id: contactRes.id },
});
}
} catch (err) {
console.log('err ', err);
@@ -106,8 +110,12 @@ export default async function createContact(request, response) {
acl.setWriteAccess(userRes.id, true);
contactQuery.setACL(acl);
await contactQuery.save();
return response.json({ code: 200, message: 'Contact create sucessfully!' });
const contactRes = await contactQuery.save();
return response.json({
code: 200,
message: 'Contact created sucessfully!',
result: { id: contactRes.id },
});
// const parseData = JSON.parse(JSON.stringify(res));
}
}
@@ -115,6 +123,6 @@ export default async function createContact(request, response) {
return response.json({ code: 404, message: 'Something went wrong, please try again later!' });
}
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
}
@@ -5,6 +5,7 @@ export default async function createDocument(request, response) {
const signers = request.body.signer;
const folderId = request.body.folderId;
const file = request.body.file;
const url = process.env.SERVER_URL;
try {
const reqToken = request.headers['x-api-token'];
@@ -44,9 +45,13 @@ export default async function createDocument(request, response) {
object.set('Folder', folderPtr);
}
const res = await object.save(null, { useMasterKey: true });
return response.json({ code: 200, result: res });
return response.json({
code: 200,
message: 'Document created successfully!',
result: { id: res.id, url: url },
});
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -5,6 +5,7 @@ export default async function createTemplate(request, response) {
const signers = request.body.signer;
const folderId = request.body.folderId;
const file = request.body.file;
const url = process.env.SERVER_URL
try {
const reqToken = request.headers['x-api-token'];
if (!reqToken) {
@@ -43,9 +44,13 @@ export default async function createTemplate(request, response) {
object.set('Folder', folderPtr);
}
const res = await object.save(null, { useMasterKey: true });
return response.json({ code: 200, result: res });
return response.json({
code: 200,
message: 'Template created successfully!',
result: { id: res.id, url: url },
});
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, result: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -26,14 +26,14 @@ export default async function deleteContact(request, response) {
deleteQuery.set('IsDeleted', true);
const deleteRes = await deleteQuery.save(null, { useMasterKey: true });
if (deleteRes) {
return response.json({ code: 200, result: 'Record delete successfully!' });
return response.json({ code: 200, message: 'Record delete successfully!' });
}
}
} else {
return response.json({ code: 404, message: 'Record not found!' });
}
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -26,14 +26,14 @@ export default async function deletedTemplate(request, response) {
deleteQuery.set('IsArchive', true);
const deleteRes = await deleteQuery.save(null, { useMasterKey: true });
if (deleteRes) {
return response.json({ code: 200, result: 'Record delete successfully!' });
return response.json({ code: 200, message: 'Template delete successfully!' });
}
}
} else {
return response.json({ code: 404, message: 'Record not found!' });
}
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -14,14 +14,21 @@ export default async function getContact(request, response) {
const Contactbook = new Parse.Query('contracts_Contactbook');
Contactbook.equalTo('objectId', request.params.contact_id);
Contactbook.equalTo('CreatedBy', userId);
Contactbook.notEqualTo('IsDeleted', true);
Contactbook.select('Name,Email,Phone');
const res = await Contactbook.first({ useMasterKey: true });
if (res) {
return response.json({ code: 200, result: res });
const parseRes = JSON.parse(JSON.stringify(res));
return response.json({
code: 200,
result: { objectId: parseRes.objectId, Name: parseRes.Name, Email: parseRes.Email },
});
} else {
return response.json({ code: 404, message: 'Record not found!' });
}
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -25,7 +25,7 @@ export default async function getContactList(request, response) {
return response.json({ code: 200, result: [] });
}
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -14,6 +14,7 @@ export default async function getDocument(request, response) {
const Document = new Parse.Query('contracts_Document');
Document.equalTo('objectId', request.params.document_id);
Document.equalTo('CreatedBy', userId);
Document.notEqualTo('IsArchive', true);
const res = await Document.first({ useMasterKey: true });
if (res) {
return response.json({ code: 200, result: res });
@@ -21,7 +22,7 @@ export default async function getDocument(request, response) {
return response.json({ code: 404, message: 'Document not found!' });
}
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -63,5 +63,5 @@ export default async function getDocumentList(request, response) {
return response.json({ code: 404, message: 'Report is not available!' });
}
}
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
@@ -14,14 +14,15 @@ export default async function getTemplate(request, response) {
const Document = new Parse.Query('contracts_Template');
Document.equalTo('objectId', request.params.template_id);
Document.equalTo('CreatedBy', userId);
Document.notEqualTo('IsArchive', true);
const res = await Document.first({ useMasterKey: true });
if (res) {
return response.json({ code: 200, result: res });
} else {
return response.json({ code: 404, message: 'Document not found!' });
return response.json({ code: 404, message: 'Template not found!' });
}
} else {
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
@@ -53,5 +53,5 @@ export default async function getTemplatetList(request, response) {
return response.json({ code: 200, result: [] });
}
}
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
@@ -12,9 +12,9 @@ export default async function getUser(request, response) {
if (token !== undefined) {
// Valid Token then proceed request
const userId = token.get('Id');
const query = new Parse.Query(Parse.User);
query.equalTo('objectId', userId);
query.exclude('authData');
const query = new Parse.Query('contracts_Users');
query.equalTo('UserId', { __type: 'Pointer', className: '_User', objectId: userId });
query.exclude('IsContactEntry,TourStatus,UserRole,TenantId,UserId,CreatedBy,Plan');
let user = await query.first({ useMasterKey: true });
const result = user;
if (result) {
@@ -23,5 +23,5 @@ export default async function getUser(request, response) {
return response.json({ code: 404, message: 'Record not found!' });
}
}
return response.json({ code: 404, message: 'Invalid API Token!' });
return response.json({ code: 405, message: 'Invalid API Token!' });
}
@@ -0,0 +1,68 @@
export default async function updateTemplate(request, response) {
try {
const reqToken = request.headers['x-api-token'];
if (!reqToken) {
return response.json({ message: 'Please Provide API Token' });
}
const tokenQuery = new Parse.Query('appToken');
tokenQuery.equalTo('token', reqToken);
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 template = new Parse.Query('contracts_Template');
template.equalTo('objectId', request.params.template_id);
template.equalTo('CreatedBy', userId);
const res = await template.first({ useMasterKey: true });
if (res) {
const isArchive = res.get('IsArchive');
if (isArchive && isArchive) {
return response.json({ code: 404, message: 'Record not found!' });
} else {
const template = Parse.Object.extend('contracts_Template');
const updateQuery = new template();
updateQuery.id = request.params.template_id;
if (request?.body?.Name) {
updateQuery.set('Name', request?.body?.Name);
}
if (request?.body?.Note) {
updateQuery.set('Note', request?.body?.Note);
}
if (request?.body?.Description) {
updateQuery.set('Name', request?.body?.Description);
}
if (request?.body?.FolderId) {
updateQuery.set('Folder', {
__type: 'Pointer',
className: 'contracts_Template',
objectId: request?.body?.FolderId,
});
}
const updatedRes = await updateQuery.save(null, { useMasterKey: true });
if (updatedRes) {
return response.json({
code: 200,
message: 'Template updated successfully!',
result: updatedRes.id,
});
}
}
} else {
return response.json({ code: 404, message: 'Record not found!' });
}
} else {
return response.json({ code: 400, message: 'Please provide valid field names!' });
}
} else {
return response.json({ code: 405, message: 'Invalid API Token!' });
}
} catch (err) {
console.log('err ', err);
return response.json(err);
}
}