export default async function declinedocument(request) { const docId = request.params.docId; const reason = request.params?.reason || ''; const declineBy = { __type: 'Pointer', className: '_User', objectId: request.params?.userId, }; try { const docCls = new Parse.Query('contracts_Document'); const updateDoc = await docCls.get(docId, { useMasterKey: true }); if (updateDoc) { const isEnableOTP = updateDoc?.get('IsEnableOTP') || false; if (!isEnableOTP) { updateDoc.set('IsDeclined', true); updateDoc.set('DeclineReason', reason); updateDoc.set('DeclineBy', declineBy); await updateDoc.save(null, { useMasterKey: true }); return 'document declined'; } else { if (!request?.user) { throw new Parse.Error(Parse.Error.INVALID_SESSION_TOKEN, 'User is not authenticated.'); } updateDoc.set('IsDeclined', true); updateDoc.set('DeclineReason', reason); updateDoc.set('DeclineBy', declineBy); await updateDoc.save(null, { useMasterKey: true }); return 'document declined'; } } else { throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Document not found.'); } } catch (err) { console.log('err while decling doc', err); throw err; } }