mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-08-21 07:02:32 +02:00
Merge pull request #2460 from nxglabs/sync-to-public_repo-25861367352
Merge pull request #2459 from nxglabs/staging
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
import { setDocumentCount } from '../../utils/CountUtils.js';
|
||||
|
||||
export default async function createDocumentFromApp(request) {
|
||||
const doc = request.params?.document;
|
||||
|
||||
if (!doc) {
|
||||
throw new Parse.Error(Parse.Error.INVALID_JSON, 'Missing document payload.');
|
||||
}
|
||||
|
||||
if (!request.user) {
|
||||
throw new Parse.Error(Parse.Error.INVALID_SESSION_TOKEN, 'User is not authenticated.');
|
||||
}
|
||||
|
||||
const SentToOthers = doc.SentToOthers !== undefined ? doc.SentToOthers : false;
|
||||
const SendinOrder = doc.SendinOrder !== undefined ? doc.SendinOrder : false;
|
||||
const SendInOrderStrict = doc.SendInOrderStrict !== undefined ? !!doc.SendInOrderStrict : false;
|
||||
const IsEnableOTP = doc?.IsEnableOTP !== undefined ? doc?.IsEnableOTP : false;
|
||||
const IsTourEnabled = doc?.IsTourEnabled !== undefined ? doc?.IsTourEnabled : false;
|
||||
const AllowModifications =
|
||||
doc?.AllowModifications !== undefined ? doc?.AllowModifications : false;
|
||||
const AutomaticReminders =
|
||||
doc?.AutomaticReminders !== undefined ? doc?.AutomaticReminders : false;
|
||||
const NotifyOnSignatures = doc.NotifyOnSignatures !== undefined ? doc.NotifyOnSignatures : false;
|
||||
|
||||
try {
|
||||
const docCls = new Parse.Object('contracts_Document');
|
||||
|
||||
docCls.set('Name', doc?.Name || 'untitled document');
|
||||
docCls.set('URL', doc?.URL);
|
||||
docCls.set('ExtUserPtr', doc.ExtUserPtr);
|
||||
docCls.set('CreatedBy', doc.CreatedBy);
|
||||
|
||||
if (doc.Description) {
|
||||
docCls.set('Description', doc.Description);
|
||||
}
|
||||
if (doc.Note) {
|
||||
docCls.set('Note', doc.Note);
|
||||
}
|
||||
if (doc.SignedUrl) {
|
||||
docCls.set('SignedUrl', doc.SignedUrl);
|
||||
}
|
||||
|
||||
docCls.set('SentToOthers', SentToOthers);
|
||||
docCls.set('SendinOrder', SendinOrder);
|
||||
docCls.set('SendInOrderStrict', SendInOrderStrict);
|
||||
docCls.set('IsEnableOTP', IsEnableOTP);
|
||||
docCls.set('IsTourEnabled', IsTourEnabled);
|
||||
docCls.set('AllowModifications', AllowModifications);
|
||||
docCls.set('AutomaticReminders', AutomaticReminders);
|
||||
docCls.set('NotifyOnSignatures', NotifyOnSignatures);
|
||||
|
||||
if (doc.TimeToCompleteDays !== undefined) {
|
||||
docCls.set('TimeToCompleteDays', Number(doc.TimeToCompleteDays));
|
||||
}
|
||||
if (doc.RemindOnceInEvery !== undefined) {
|
||||
docCls.set('RemindOnceInEvery', Number(doc.RemindOnceInEvery));
|
||||
}
|
||||
|
||||
if (doc?.DocSentAt?.iso) {
|
||||
docCls.set('DocSentAt', new Date(doc?.DocSentAt?.iso));
|
||||
}
|
||||
|
||||
if (doc.RedirectUrl) {
|
||||
docCls.set('RedirectUrl', doc.RedirectUrl);
|
||||
}
|
||||
if (doc.TemplateId) {
|
||||
docCls.set('TemplateId', doc.TemplateId);
|
||||
}
|
||||
|
||||
if (Array.isArray(doc.Signers) && doc?.Signers?.length > 0) {
|
||||
docCls.set('Signers', doc.Signers);
|
||||
}
|
||||
if (Array.isArray(doc.Placeholders) && doc?.Placeholders?.length > 0) {
|
||||
docCls.set('Placeholders', doc.Placeholders);
|
||||
}
|
||||
if (Array.isArray(doc.SignatureType) && doc.SignatureType.length > 0) {
|
||||
docCls.set('SignatureType', doc.SignatureType);
|
||||
}
|
||||
if (Array.isArray(doc.Bcc) && doc?.Bcc?.length > 0) {
|
||||
docCls.set('Bcc', doc.Bcc);
|
||||
}
|
||||
if (Array.isArray(doc.Cc) && doc?.Cc?.length > 0) {
|
||||
docCls.set('Cc', doc.Cc);
|
||||
}
|
||||
if (Array.isArray(doc?.PenColors) && doc?.PenColors?.length > 0) {
|
||||
docCls.set('PenColors', doc.PenColors);
|
||||
}
|
||||
|
||||
const docRes = await docCls.save(null, { useMasterKey: true });
|
||||
|
||||
// update documentCount in Users and tenant account
|
||||
setDocumentCount(doc?.ExtUserPtr?.id);
|
||||
|
||||
return docRes;
|
||||
} catch (error) {
|
||||
console.log('error in create document from app: ', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user