Built motion from commit 14588770.|2.5.38
[motion2.git] / server / api / jscriptyProject / jscriptyProject.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xd48a=['omit','createdAt','updatedAt','getSessions','findOne','hasOwnProperty','pick','ProjectId','JscriptySessionReport','rows','getAnswers','JscriptyAnswerReport','fromCharCode','apply','toString','indexOf','replace','getSummary','startTime','starttime','parse','-createdAt','questionId','question','format','SessionId','answer','push','isEmpty','now','writeFileSync','setHeader','Content-type','/tmp/Jscripty_Project_%d_Summary_%s.csv','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','status','end','json','undefined','limit','offset','count','Content-Range','reject','save','update','then','destroy','get','Projects','UserProfileResource','sendStatus','error','name','send','index','rawAttributes','type','key','model','map','query','filters','intersection','attributes','fields','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','include','JscriptyProject','findAll','show','params','length','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','keys'];(function(_0x20ea3b,_0x3bd9b1){var _0x27845d=function(_0x47c4c8){while(--_0x47c4c8){_0x20ea3b['push'](_0x20ea3b['shift']());}};_0x27845d(++_0x3bd9b1);}(_0xd48a,0x96));var _0xad48=function(_0x3b53cc,_0x2790f3){_0x3b53cc=_0x3b53cc-0x0;var _0xef37e1=_0xd48a[_0x3b53cc];return _0xef37e1;};'use strict';var emlformat=require(_0xad48('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xad48('0x1'));var jsonpatch=require(_0xad48('0x2'));var rp=require(_0xad48('0x3'));var moment=require(_0xad48('0x4'));var BPromise=require(_0xad48('0x5'));var Mustache=require(_0xad48('0x6'));var util=require('util');var path=require(_0xad48('0x7'));var sox=require(_0xad48('0x8'));var csv=require('to-csv');var ejs=require(_0xad48('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xad48('0xa'));var jsforce=require(_0xad48('0xb'));var deskjs=require(_0xad48('0xc'));var toCsv=require(_0xad48('0xd'));var querystring=require(_0xad48('0xe'));var Papa=require(_0xad48('0xf'));var Redis=require(_0xad48('0x10'));var authService=require(_0xad48('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xad48('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xad48('0x13'))(_0xad48('0x14'));var utils=require('../../config/utils');var config=require(_0xad48('0x15'));var licenseUtil=require(_0xad48('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5e93f6,_0x1b25f1){_0x1b25f1=_0x1b25f1||0xcc;return function(_0x3fafa0){if(_0x3fafa0){return _0x5e93f6['sendStatus'](_0x1b25f1);}return _0x5e93f6[_0xad48('0x17')](_0x1b25f1)[_0xad48('0x18')]();};}function respondWithResult(_0x57ca5a,_0x2a2236){_0x2a2236=_0x2a2236||0xc8;return function(_0xb798e0){if(_0xb798e0){return _0x57ca5a[_0xad48('0x17')](_0x2a2236)[_0xad48('0x19')](_0xb798e0);}};}function respondWithFilteredResult(_0x47ecce,_0x98d233){return function(_0x54a20f){if(_0x54a20f){var _0x562d95=typeof _0x98d233['offset']===_0xad48('0x1a')&&typeof _0x98d233[_0xad48('0x1b')]===_0xad48('0x1a');var _0xd5df14=_0x54a20f['count'];var _0xb42bde=_0x562d95?0x0:_0x98d233[_0xad48('0x1c')];var _0x44543f=_0x562d95?_0x54a20f[_0xad48('0x1d')]:_0x98d233['offset']+_0x98d233['limit'];var _0xdbbe36;if(_0x44543f>=_0xd5df14){_0x44543f=_0xd5df14;_0xdbbe36=0xc8;}else{_0xdbbe36=0xce;}_0x47ecce[_0xad48('0x17')](_0xdbbe36);return _0x47ecce['set'](_0xad48('0x1e'),_0xb42bde+'-'+_0x44543f+'/'+_0xd5df14)[_0xad48('0x19')](_0x54a20f);}return null;};}function patchUpdates(_0x1014cc){return function(_0x467e7a){try{jsonpatch['apply'](_0x467e7a,_0x1014cc,!![]);}catch(_0x3b63ae){return BPromise[_0xad48('0x1f')](_0x3b63ae);}return _0x467e7a[_0xad48('0x20')]();};}function saveUpdates(_0x49869b,_0x4280a4){return function(_0x3832fb){if(_0x3832fb){return _0x3832fb[_0xad48('0x21')](_0x49869b)[_0xad48('0x22')](function(_0x441612){return _0x441612;});}return null;};}function removeEntity(_0x4e0af4,_0x17c80){return function(_0x38f31d){if(_0x38f31d){return _0x38f31d[_0xad48('0x23')]()[_0xad48('0x22')](function(){var _0x3a4f01=_0x38f31d[_0xad48('0x24')]({'plain':!![]});var _0x1aace0=_0xad48('0x25');return db[_0xad48('0x26')]['destroy']({'where':{'type':_0x1aace0,'resourceId':_0x3a4f01['id']}})[_0xad48('0x22')](function(){return _0x38f31d;});})[_0xad48('0x22')](function(){_0x4e0af4[_0xad48('0x17')](0xcc)[_0xad48('0x18')]();});}};}function handleEntityNotFound(_0x48a021,_0x1e454f){return function(_0x136750){if(!_0x136750){_0x48a021[_0xad48('0x27')](0x194);}return _0x136750;};}function handleError(_0x551af6,_0x2c9f05){_0x2c9f05=_0x2c9f05||0x1f4;return function(_0x4158c3){logger[_0xad48('0x28')](_0x4158c3['stack']);if(_0x4158c3[_0xad48('0x29')]){delete _0x4158c3['name'];}_0x551af6[_0xad48('0x17')](_0x2c9f05)[_0xad48('0x2a')](_0x4158c3);};}exports[_0xad48('0x2b')]=function(_0x3cdb31,_0xf4c77f){var _0x4ea044={},_0x1ef71a={},_0x21e773={'count':0x0,'rows':[]};var _0x131971=_['map'](db['JscriptyProject'][_0xad48('0x2c')],function(_0x10956f){return{'name':_0x10956f['fieldName'],'type':_0x10956f[_0xad48('0x2d')][_0xad48('0x2e')]};});_0x1ef71a[_0xad48('0x2f')]=_[_0xad48('0x30')](_0x131971,'name');_0x1ef71a[_0xad48('0x31')]=_['keys'](_0x3cdb31[_0xad48('0x31')]);_0x1ef71a[_0xad48('0x32')]=_[_0xad48('0x33')](_0x1ef71a['model'],_0x1ef71a[_0xad48('0x31')]);_0x4ea044[_0xad48('0x34')]=_['intersection'](_0x1ef71a[_0xad48('0x2f')],qs[_0xad48('0x35')](_0x3cdb31[_0xad48('0x31')][_0xad48('0x35')]));_0x4ea044[_0xad48('0x34')]=_0x4ea044[_0xad48('0x34')]['length']?_0x4ea044[_0xad48('0x34')]:_0x1ef71a[_0xad48('0x2f')];if(!_0x3cdb31[_0xad48('0x31')]['hasOwnProperty'](_0xad48('0x36'))){_0x4ea044[_0xad48('0x1b')]=qs[_0xad48('0x1b')](_0x3cdb31[_0xad48('0x31')]['limit']);_0x4ea044['offset']=qs[_0xad48('0x1c')](_0x3cdb31['query'][_0xad48('0x1c')]);}_0x4ea044[_0xad48('0x37')]=qs[_0xad48('0x38')](_0x3cdb31[_0xad48('0x31')][_0xad48('0x38')]);_0x4ea044['where']=qs[_0xad48('0x32')](_['pick'](_0x3cdb31[_0xad48('0x31')],_0x1ef71a[_0xad48('0x32')]),_0x131971);if(_0x3cdb31[_0xad48('0x31')][_0xad48('0x39')]){_0x4ea044[_0xad48('0x3a')]=_[_0xad48('0x3b')](_0x4ea044[_0xad48('0x3a')],{'$or':_['map'](_0x131971,function(_0x1f31d1){if(_0x1f31d1[_0xad48('0x2d')]!==_0xad48('0x3c')){var _0x4b74fe={};_0x4b74fe[_0x1f31d1[_0xad48('0x29')]]={'$like':'%'+_0x3cdb31['query'][_0xad48('0x39')]+'%'};return _0x4b74fe;}})});}_0x4ea044=_['merge']({},_0x4ea044,_0x3cdb31[_0xad48('0x3d')]);var _0xf5bbe5={'where':_0x4ea044[_0xad48('0x3a')]};return db['JscriptyProject'][_0xad48('0x1d')](_0xf5bbe5)[_0xad48('0x22')](function(_0x56cce3){_0x21e773['count']=_0x56cce3;if(_0x3cdb31[_0xad48('0x31')][_0xad48('0x3e')]){_0x4ea044[_0xad48('0x3f')]=[{'all':!![]}];}return db[_0xad48('0x40')][_0xad48('0x41')](_0x4ea044);})[_0xad48('0x22')](function(_0x5bdb78){_0x21e773['rows']=_0x5bdb78;return _0x21e773;})[_0xad48('0x22')](respondWithFilteredResult(_0xf4c77f,_0x4ea044))['catch'](handleError(_0xf4c77f,null));};exports[_0xad48('0x42')]=function(_0x2b8450,_0x1346e7){var _0x2c5dbd={'raw':![],'where':{'id':_0x2b8450[_0xad48('0x43')]['id']}},_0x35efd8={};_0x35efd8['model']=_['keys'](db[_0xad48('0x40')][_0xad48('0x2c')]);_0x35efd8[_0xad48('0x31')]=_['keys'](_0x2b8450[_0xad48('0x31')]);_0x35efd8['filters']=_[_0xad48('0x33')](_0x35efd8[_0xad48('0x2f')],_0x35efd8[_0xad48('0x31')]);_0x2c5dbd[_0xad48('0x34')]=_[_0xad48('0x33')](_0x35efd8['model'],qs[_0xad48('0x35')](_0x2b8450[_0xad48('0x31')]['fields']));_0x2c5dbd[_0xad48('0x34')]=_0x2c5dbd[_0xad48('0x34')][_0xad48('0x44')]?_0x2c5dbd['attributes']:_0x35efd8['model'];if(_0x2b8450['query'][_0xad48('0x3e')]){_0x2c5dbd['include']=[{'all':!![]}];}_0x2c5dbd=_[_0xad48('0x3b')]({},_0x2c5dbd,_0x2b8450[_0xad48('0x3d')]);return db[_0xad48('0x40')][_0xad48('0x45')](_0x2c5dbd)[_0xad48('0x22')](handleEntityNotFound(_0x1346e7,null))[_0xad48('0x22')](respondWithResult(_0x1346e7,null))[_0xad48('0x46')](handleError(_0x1346e7,null));};exports[_0xad48('0x47')]=function(_0x3556fa,_0x4a3124){return db[_0xad48('0x40')]['create'](_0x3556fa[_0xad48('0x48')],{})[_0xad48('0x22')](function(_0x4924a0){var _0x3b48ac=_0x3556fa[_0xad48('0x49')][_0xad48('0x24')]({'plain':!![]});if(!_0x3b48ac)throw new Error(_0xad48('0x4a'));if(_0x3b48ac[_0xad48('0x4b')]===_0xad48('0x49')){var _0x245a53=_0x4924a0[_0xad48('0x24')]({'plain':!![]});var _0x408c92=_0xad48('0x25');return db[_0xad48('0x4c')][_0xad48('0x45')]({'where':{'name':_0x408c92,'userProfileId':_0x3b48ac[_0xad48('0x4d')]},'raw':!![]})[_0xad48('0x22')](function(_0x15591b){if(_0x15591b&&_0x15591b[_0xad48('0x4e')]===0x0){return db['UserProfileResource'][_0xad48('0x47')]({'name':_0x245a53[_0xad48('0x29')],'resourceId':_0x245a53['id'],'type':_0x15591b['name'],'sectionId':_0x15591b['id']},{})['then'](function(){return _0x4924a0;});}else{return _0x4924a0;}})[_0xad48('0x46')](function(_0x120742){logger['error'](_0xad48('0x4f'),_0x120742);throw _0x120742;});}return _0x4924a0;})[_0xad48('0x22')](respondWithResult(_0x4a3124,0xc9))[_0xad48('0x46')](handleError(_0x4a3124,null));};exports[_0xad48('0x50')]=function(_0xd77f01,_0x4930d9){var _0x168935={'where':{'id':_0xd77f01['params']['id']}},_0x543f00={};_0x543f00[_0xad48('0x2f')]=_[_0xad48('0x51')](db[_0xad48('0x40')][_0xad48('0x2c')]);_0x168935['attributes']=_[_0xad48('0x33')](_0x543f00[_0xad48('0x2f')],qs[_0xad48('0x35')](_0xd77f01[_0xad48('0x31')][_0xad48('0x35')]));_0x168935[_0xad48('0x34')]=_0x168935['attributes'][_0xad48('0x44')]?_0x168935[_0xad48('0x34')]:_0x543f00[_0xad48('0x2f')];if(_0xd77f01['query']['includeAll']){_0x168935[_0xad48('0x3f')]=[{'all':!![]}];}_0x168935=_[_0xad48('0x3b')]({},_0x168935,_0xd77f01[_0xad48('0x3d')]);return db[_0xad48('0x40')][_0xad48('0x45')](_0x168935)['then'](handleEntityNotFound(_0x4930d9,null))[_0xad48('0x22')](function(_0x3cad70){if(_0x3cad70){var _0x28a2f3=_0x3cad70[_0xad48('0x24')]({'plain':!![]});_0x28a2f3=qs[_0xad48('0x52')](_0x28a2f3,['id',_0xad48('0x53'),_0xad48('0x54')]);_0xd77f01[_0xad48('0x48')]=_[_0xad48('0x52')](_0xd77f01[_0xad48('0x48')],['id',_0xad48('0x53'),_0xad48('0x54')]);return db[_0xad48('0x40')][_0xad48('0x47')](_[_0xad48('0x3b')](_0x28a2f3,_0xd77f01[_0xad48('0x48')]),{'include':_0xd77f01[_0xad48('0x31')][_0xad48('0x3e')]?[{'all':!![]}]:undefined})['then'](function(_0x2730ec){var _0x24d69c=_0xd77f01[_0xad48('0x49')][_0xad48('0x24')]({'plain':!![]});if(!_0x24d69c)throw new Error(_0xad48('0x4a'));if(_0x24d69c[_0xad48('0x4b')]==='user'){var _0x387439=_0x2730ec[_0xad48('0x24')]({'plain':!![]});var _0x1b0ed2='Projects';return db[_0xad48('0x4c')][_0xad48('0x45')]({'where':{'name':_0x1b0ed2,'userProfileId':_0x24d69c[_0xad48('0x4d')]},'raw':!![]})[_0xad48('0x22')](function(_0x20e473){if(_0x20e473&&_0x20e473['autoAssociation']===0x0){return db[_0xad48('0x26')][_0xad48('0x47')]({'name':_0x387439['name'],'resourceId':_0x387439['id'],'type':_0x20e473['name'],'sectionId':_0x20e473['id']},{})[_0xad48('0x22')](function(){return _0x2730ec;});}else{return _0x2730ec;}})[_0xad48('0x46')](function(_0x401f88){logger['error'](_0xad48('0x4f'),_0x401f88);throw _0x401f88;});}return _0x2730ec;});}})[_0xad48('0x22')](respondWithResult(_0x4930d9,0xc9))[_0xad48('0x46')](handleError(_0x4930d9,null));};exports[_0xad48('0x21')]=function(_0xa57351,_0x433726){if(_0xa57351['body']['id']){delete _0xa57351['body']['id'];}return db[_0xad48('0x40')][_0xad48('0x45')]({'where':{'id':_0xa57351[_0xad48('0x43')]['id']}})[_0xad48('0x22')](handleEntityNotFound(_0x433726,null))[_0xad48('0x22')](saveUpdates(_0xa57351['body'],null))[_0xad48('0x22')](respondWithResult(_0x433726,null))[_0xad48('0x46')](handleError(_0x433726,null));};exports['destroy']=function(_0x496615,_0x50e2e4){return db[_0xad48('0x40')]['find']({'where':{'id':_0x496615[_0xad48('0x43')]['id']}})['then'](handleEntityNotFound(_0x50e2e4,null))[_0xad48('0x22')](removeEntity(_0x50e2e4,null))['catch'](handleError(_0x50e2e4,null));};exports[_0xad48('0x55')]=function(_0x3d4e0f,_0x3cfdea,_0x33ea21){var _0x5e6fa8={'raw':!![],'where':{}};var _0x1c4caf={};var _0x2bb857={'count':0x0,'rows':[]};return db['JscriptyProject'][_0xad48('0x56')]({'where':{'id':_0x3d4e0f[_0xad48('0x43')]['id']}})[_0xad48('0x22')](handleEntityNotFound(_0x3cfdea,null))[_0xad48('0x22')](function(_0x133bec){if(_0x133bec){_0x1c4caf[_0xad48('0x2f')]=_[_0xad48('0x51')](db['JscriptySessionReport'][_0xad48('0x2c')]);_0x1c4caf[_0xad48('0x31')]=_[_0xad48('0x51')](_0x3d4e0f[_0xad48('0x31')]);_0x1c4caf[_0xad48('0x32')]=_['intersection'](_0x1c4caf[_0xad48('0x2f')],_0x1c4caf['query']);_0x5e6fa8[_0xad48('0x34')]=_[_0xad48('0x33')](_0x1c4caf[_0xad48('0x2f')],qs[_0xad48('0x35')](_0x3d4e0f[_0xad48('0x31')][_0xad48('0x35')]));_0x5e6fa8['attributes']=_0x5e6fa8[_0xad48('0x34')][_0xad48('0x44')]?_0x5e6fa8[_0xad48('0x34')]:_0x1c4caf['model'];if(!_0x3d4e0f['query'][_0xad48('0x57')]('nolimit')){_0x5e6fa8[_0xad48('0x1b')]=qs[_0xad48('0x1b')](_0x3d4e0f[_0xad48('0x31')][_0xad48('0x1b')]);_0x5e6fa8[_0xad48('0x1c')]=qs[_0xad48('0x1c')](_0x3d4e0f[_0xad48('0x31')][_0xad48('0x1c')]);}_0x5e6fa8['order']=qs['sort'](_0x3d4e0f[_0xad48('0x31')][_0xad48('0x38')]);_0x5e6fa8[_0xad48('0x3a')]=qs['filters'](_[_0xad48('0x58')](_0x3d4e0f[_0xad48('0x31')],_0x1c4caf[_0xad48('0x32')]));_0x5e6fa8[_0xad48('0x3a')][_0xad48('0x59')]=_0x133bec['id'];if(_0x3d4e0f[_0xad48('0x31')]['filter']){_0x5e6fa8[_0xad48('0x3a')]=_['merge'](_0x5e6fa8['where'],{'$or':_['map'](_0x5e6fa8['attributes'],function(_0x1ed9aa){var _0x3ecf4c={};_0x3ecf4c[_0x1ed9aa]={'$like':'%'+_0x3d4e0f[_0xad48('0x31')][_0xad48('0x39')]+'%'};return _0x3ecf4c;})});}_0x5e6fa8=_[_0xad48('0x3b')]({},_0x5e6fa8,_0x3d4e0f[_0xad48('0x3d')]);return db['JscriptySessionReport']['count']({'where':_0x5e6fa8[_0xad48('0x3a')]})[_0xad48('0x22')](function(_0x142d36){_0x2bb857[_0xad48('0x1d')]=_0x142d36;if(_0x3d4e0f[_0xad48('0x31')]['includeAll']){_0x5e6fa8['include']=[{'all':!![]}];}return db[_0xad48('0x5a')][_0xad48('0x41')](_0x5e6fa8);})[_0xad48('0x22')](function(_0x208493){_0x2bb857[_0xad48('0x5b')]=_0x208493;return _0x2bb857;});}})[_0xad48('0x22')](respondWithFilteredResult(_0x3cfdea,_0x5e6fa8))[_0xad48('0x46')](handleError(_0x3cfdea,null));};exports[_0xad48('0x5c')]=function(_0x58f5c7,_0x2c3d92,_0x669e34){var _0x353bc4={'raw':!![],'where':{}};var _0x1610a4={};var _0xc8dc39={'count':0x0,'rows':[]};return db[_0xad48('0x40')][_0xad48('0x56')]({'where':{'id':_0x58f5c7[_0xad48('0x43')]['id']}})[_0xad48('0x22')](handleEntityNotFound(_0x2c3d92,null))[_0xad48('0x22')](function(_0x306828){if(_0x306828){_0x1610a4[_0xad48('0x2f')]=_[_0xad48('0x51')](db['JscriptyAnswerReport'][_0xad48('0x2c')]);_0x1610a4[_0xad48('0x31')]=_[_0xad48('0x51')](_0x58f5c7[_0xad48('0x31')]);_0x1610a4[_0xad48('0x32')]=_[_0xad48('0x33')](_0x1610a4[_0xad48('0x2f')],_0x1610a4[_0xad48('0x31')]);_0x353bc4[_0xad48('0x34')]=_['intersection'](_0x1610a4[_0xad48('0x2f')],qs[_0xad48('0x35')](_0x58f5c7[_0xad48('0x31')][_0xad48('0x35')]));_0x353bc4[_0xad48('0x34')]=_0x353bc4[_0xad48('0x34')]['length']?_0x353bc4['attributes']:_0x1610a4[_0xad48('0x2f')];if(!_0x58f5c7[_0xad48('0x31')]['hasOwnProperty'](_0xad48('0x36'))){_0x353bc4['limit']=qs[_0xad48('0x1b')](_0x58f5c7[_0xad48('0x31')][_0xad48('0x1b')]);_0x353bc4['offset']=qs['offset'](_0x58f5c7[_0xad48('0x31')][_0xad48('0x1c')]);}_0x353bc4[_0xad48('0x37')]=qs['sort'](_0x58f5c7['query']['sort']);_0x353bc4['where']=qs[_0xad48('0x32')](_[_0xad48('0x58')](_0x58f5c7[_0xad48('0x31')],_0x1610a4[_0xad48('0x32')]));_0x353bc4[_0xad48('0x3a')][_0xad48('0x59')]=_0x306828['id'];if(_0x58f5c7[_0xad48('0x31')]['filter']){_0x353bc4[_0xad48('0x3a')]=_[_0xad48('0x3b')](_0x353bc4[_0xad48('0x3a')],{'$or':_['map'](_0x353bc4[_0xad48('0x34')],function(_0x41664d){var _0x48585c={};_0x48585c[_0x41664d]={'$like':'%'+_0x58f5c7[_0xad48('0x31')][_0xad48('0x39')]+'%'};return _0x48585c;})});}_0x353bc4=_[_0xad48('0x3b')]({},_0x353bc4,_0x58f5c7[_0xad48('0x3d')]);return db[_0xad48('0x5d')][_0xad48('0x1d')]({'where':_0x353bc4[_0xad48('0x3a')]})[_0xad48('0x22')](function(_0x1deaff){_0xc8dc39['count']=_0x1deaff;if(_0x58f5c7[_0xad48('0x31')]['includeAll']){_0x353bc4[_0xad48('0x3f')]=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0xad48('0x41')](_0x353bc4);})[_0xad48('0x22')](function(_0x273023){_0xc8dc39[_0xad48('0x5b')]=_0x273023;return _0xc8dc39;});}})[_0xad48('0x22')](respondWithFilteredResult(_0x2c3d92,_0x353bc4))[_0xad48('0x46')](handleError(_0x2c3d92,null));};function char(_0x424335){return'number'===typeof _0x424335?String[_0xad48('0x5e')][_0xad48('0x5f')](null,arguments):_0x424335;}function needsEncapsulation(_0x1f15f1){return!!_0x1f15f1&&(_0x1f15f1[_0xad48('0x60')]()[_0xad48('0x61')](char(0xd))>=0x0||_0x1f15f1['toString']()[_0xad48('0x61')](char(0xa))>=0x0||_0x1f15f1['toString']()['indexOf'](char(0x2c))>=0x0||_0x1f15f1['toString']()[_0xad48('0x61')](char(0x22))>=0x0);}function encapsulate(_0x74d68f){var _0x1ca911=char(0x22),_0x233b08='\x5c'+char(0x22),_0x1945c9=_0x74d68f[_0xad48('0x60')]()[_0xad48('0x62')](new RegExp(_0x1ca911,'g'),_0x233b08);return _0x1ca911+_0x1945c9+_0x1ca911;}exports[_0xad48('0x63')]=function(_0x10324e,_0x1b35e4,_0x439d46){var _0x1c0090,_0x30f5ba;var _0x52fb11={'where':{'ProjectId':_0x10324e[_0xad48('0x43')]['id']}};if(_0x10324e[_0xad48('0x31')][_0xad48('0x64')]){_0x52fb11[_0xad48('0x3a')][_0xad48('0x65')]=JSON[_0xad48('0x66')](_0x10324e[_0xad48('0x31')][_0xad48('0x64')]);}return db[_0xad48('0x5a')]['findAll'](_0x52fb11)[_0xad48('0x22')](handleEntityNotFound(_0x1b35e4,null))['then'](function(_0x54d0ea){if(_0x54d0ea){_0x1c0090=_0x54d0ea;return db['JscriptyQuestionReport'][_0xad48('0x41')]({'where':{'SessionId':{'$in':_[_0xad48('0x30')](_0x1c0090,'id')},'ProjectId':_0x10324e[_0xad48('0x43')]['id']},'order':_0xad48('0x67')});}})[_0xad48('0x22')](handleEntityNotFound(_0x1b35e4,null))[_0xad48('0x22')](function(_0x1e5b77){if(_0x1e5b77){_0x30f5ba=_0x1e5b77;var _0x448c06={};for(var _0x235665=0x0,_0x566b68=_0x30f5ba[_0xad48('0x44')];_0x235665<_0x566b68;_0x235665++){if(!_0x448c06[_0xad48('0x57')](_0x30f5ba[_0x235665][_0xad48('0x68')])){_0x448c06[_0x30f5ba[_0x235665][_0xad48('0x68')]]=needsEncapsulation(_0x30f5ba[_0x235665][_0xad48('0x69')])?encapsulate(_0x30f5ba[_0x235665][_0xad48('0x69')]):_0x30f5ba[_0x235665]['question'];}}var _0x14b8a8=[],_0x9dc768={};for(var _0x135c0f=0x0,_0x2d8818=_0x1c0090['length'];_0x135c0f<_0x2d8818;_0x135c0f++){_0x9dc768={'ProjectId':_0x10324e[_0xad48('0x43')]['id'],'SessionId':_0x1c0090[_0x135c0f]['id'],'StartTime':moment(_0x1c0090[_0x135c0f]['starttime'])[_0xad48('0x6a')]('YYYY-MM-DD\x20HH:mm:ss')};for(var _0x32d976=0x0,_0x4e2c7a=_0x30f5ba['length'];_0x32d976<_0x4e2c7a;_0x32d976++){if(_0x30f5ba[_0x32d976][_0xad48('0x6b')]==_0x1c0090[_0x135c0f]['id']&&_0x448c06[_0xad48('0x57')](_0x30f5ba[_0x32d976][_0xad48('0x68')])){_0x9dc768[_0x448c06[_0x30f5ba[_0x32d976]['questionId']]]=_0x30f5ba[_0x32d976][_0xad48('0x6c')];}}for(var _0x4403a8 in _0x448c06){if(!_0x9dc768['hasOwnProperty'](_0x448c06[_0x4403a8])){_0x9dc768[_0x448c06[_0x4403a8]]=null;}}_0x14b8a8[_0xad48('0x6d')](_0x9dc768);}return _0x14b8a8;}})[_0xad48('0x22')](function(_0x3ae46f){if(!_[_0xad48('0x6e')](_0x3ae46f)){var _0x39dff2=toCsv(_0x3ae46f);var _0x4070ee=Date[_0xad48('0x6f')]();fs[_0xad48('0x70')](util[_0xad48('0x6a')]('/tmp/Jscripty_Project_%d_Summary_%s.csv',_0x10324e[_0xad48('0x43')]['id'],_0x4070ee),_0x39dff2);_0x1b35e4[_0xad48('0x71')]('Content-disposition','attachment;\x20filename='+util[_0xad48('0x6a')]('Jscripty_Project_%d_Summary_%s.csv',_0x10324e[_0xad48('0x43')]['id'],_0x4070ee));_0x1b35e4['setHeader'](_0xad48('0x72'),'text/csv');return _0x1b35e4['download'](util[_0xad48('0x6a')](_0xad48('0x73'),_0x10324e['params']['id'],_0x4070ee));}else{return _0x1b35e4[_0xad48('0x27')](0xcc);}})['catch'](handleError(_0x1b35e4,null));};