3a9eb13609d6d472f4db483ed648a7bb06ae3c5c
[motion2.git] / server / api / jscriptySessionReport / jscriptySessionReport.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 _0x4889=['name','send','index','map','JscriptySessionReport','fieldName','type','keys','query','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','show','params','length','create','body','describe','getQuestions','findOne','JscriptyQuestionReport','SessionId','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','update','then','destroy'];(function(_0x4c184d,_0x4278ab){var _0x23d997=function(_0x22d068){while(--_0x22d068){_0x4c184d['push'](_0x4c184d['shift']());}};_0x23d997(++_0x4278ab);}(_0x4889,0xc2));var _0x9488=function(_0x3f3c46,_0x33e972){_0x3f3c46=_0x3f3c46-0x0;var _0x7d1132=_0x4889[_0x3f3c46];return _0x7d1132;};'use strict';var pdf=require(_0x9488('0x0'));var emlformat=require(_0x9488('0x1'));var rimraf=require(_0x9488('0x2'));var zipdir=require(_0x9488('0x3'));var jsonpatch=require(_0x9488('0x4'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x9488('0x5'));var Mustache=require('mustache');var util=require(_0x9488('0x6'));var path=require(_0x9488('0x7'));var sox=require(_0x9488('0x8'));var csv=require(_0x9488('0x9'));var ejs=require(_0x9488('0xa'));var fs=require('fs');var _=require(_0x9488('0xb'));var squel=require(_0x9488('0xc'));var crypto=require(_0x9488('0xd'));var jsforce=require(_0x9488('0xe'));var deskjs=require(_0x9488('0xf'));var toCsv=require(_0x9488('0x9'));var querystring=require(_0x9488('0x10'));var Papa=require(_0x9488('0x11'));var Redis=require(_0x9488('0x12'));var authService=require(_0x9488('0x13'));var qs=require(_0x9488('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9488('0x15'));var logger=require('../../config/logger')(_0x9488('0x16'));var utils=require(_0x9488('0x17'));var config=require(_0x9488('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x309a31,_0x4ebc29){_0x4ebc29=_0x4ebc29||0xcc;return function(_0x586107){if(_0x586107){return _0x309a31[_0x9488('0x19')](_0x4ebc29);}return _0x309a31[_0x9488('0x1a')](_0x4ebc29)[_0x9488('0x1b')]();};}function respondWithResult(_0x215533,_0x2f9fa3){_0x2f9fa3=_0x2f9fa3||0xc8;return function(_0x189a57){if(_0x189a57){return _0x215533[_0x9488('0x1a')](_0x2f9fa3)[_0x9488('0x1c')](_0x189a57);}};}function respondWithFilteredResult(_0x26febc,_0xa060b1){return function(_0x4fa11d){if(_0x4fa11d){var _0x665753=_0x4fa11d['count'],_0xf023a1=_0xa060b1[_0x9488('0x1d')],_0x4ed1d6=_0xa060b1[_0x9488('0x1d')]+_0xa060b1[_0x9488('0x1e')],_0x44be87;if(_0x4ed1d6>=_0x665753){_0x4ed1d6=_0x665753;_0x44be87=0xc8;}else{_0x44be87=0xce;}_0x26febc[_0x9488('0x1a')](_0x44be87);return _0x26febc[_0x9488('0x1f')](_0x9488('0x20'),_0xf023a1+'-'+_0x4ed1d6+'/'+_0x665753)[_0x9488('0x1c')](_0x4fa11d);}return null;};}function patchUpdates(_0xd1e081){return function(_0x4557a7){try{jsonpatch[_0x9488('0x21')](_0x4557a7,_0xd1e081,!![]);}catch(_0xe1dd61){return BPromise['reject'](_0xe1dd61);}return _0x4557a7['save']();};}function saveUpdates(_0x351866,_0x3ba3fe){return function(_0x302d2b){if(_0x302d2b){return _0x302d2b[_0x9488('0x22')](_0x351866)[_0x9488('0x23')](function(_0x1c05c0){return _0x1c05c0;});}return null;};}function removeEntity(_0x3fe8de,_0x23e9e2){return function(_0x4c8499){if(_0x4c8499){return _0x4c8499[_0x9488('0x24')]()[_0x9488('0x23')](function(){_0x3fe8de[_0x9488('0x1a')](0xcc)[_0x9488('0x1b')]();});}};}function handleEntityNotFound(_0x23b2aa,_0x386fcb){return function(_0xce4f30){if(!_0xce4f30){_0x23b2aa[_0x9488('0x19')](0x194);}return _0xce4f30;};}function handleError(_0x43d1f3,_0x4e9458){_0x4e9458=_0x4e9458||0x1f4;return function(_0x158040){logger['error'](_0x158040['stack']);if(_0x158040[_0x9488('0x25')]){delete _0x158040[_0x9488('0x25')];}_0x43d1f3[_0x9488('0x1a')](_0x4e9458)[_0x9488('0x26')](_0x158040);};}exports[_0x9488('0x27')]=function(_0x293d84,_0x156ceb){var _0x297dc7={},_0x56a295={},_0x1071c8={'count':0x0,'rows':[]};var _0x551551=_[_0x9488('0x28')](db[_0x9488('0x29')]['rawAttributes'],function(_0x573ba6){return{'name':_0x573ba6[_0x9488('0x2a')],'type':_0x573ba6[_0x9488('0x2b')]['key']};});_0x56a295['model']=_[_0x9488('0x28')](_0x551551,_0x9488('0x25'));_0x56a295['query']=_[_0x9488('0x2c')](_0x293d84[_0x9488('0x2d')]);_0x56a295[_0x9488('0x2e')]=_['intersection'](_0x56a295[_0x9488('0x2f')],_0x56a295[_0x9488('0x2d')]);_0x297dc7[_0x9488('0x30')]=_[_0x9488('0x31')](_0x56a295[_0x9488('0x2f')],qs[_0x9488('0x32')](_0x293d84[_0x9488('0x2d')][_0x9488('0x32')]));_0x297dc7[_0x9488('0x30')]=_0x297dc7['attributes']['length']?_0x297dc7[_0x9488('0x30')]:_0x56a295['model'];if(!_0x293d84[_0x9488('0x2d')][_0x9488('0x33')](_0x9488('0x34'))){_0x297dc7[_0x9488('0x1e')]=qs[_0x9488('0x1e')](_0x293d84[_0x9488('0x2d')][_0x9488('0x1e')]);_0x297dc7[_0x9488('0x1d')]=qs[_0x9488('0x1d')](_0x293d84[_0x9488('0x2d')]['offset']);}_0x297dc7[_0x9488('0x35')]=qs[_0x9488('0x36')](_0x293d84[_0x9488('0x2d')][_0x9488('0x36')]);_0x297dc7[_0x9488('0x37')]=qs[_0x9488('0x2e')](_[_0x9488('0x38')](_0x293d84[_0x9488('0x2d')],_0x56a295[_0x9488('0x2e')]),_0x551551);if(_0x293d84[_0x9488('0x2d')]['filter']){_0x297dc7[_0x9488('0x37')]=_[_0x9488('0x39')](_0x297dc7['where'],{'$or':_['map'](_0x551551,function(_0xdfc7da){if(_0xdfc7da[_0x9488('0x2b')]!==_0x9488('0x3a')){var _0x43fa59={};_0x43fa59[_0xdfc7da[_0x9488('0x25')]]={'$like':'%'+_0x293d84[_0x9488('0x2d')][_0x9488('0x3b')]+'%'};return _0x43fa59;}})});}_0x297dc7=_[_0x9488('0x39')]({},_0x297dc7,_0x293d84[_0x9488('0x3c')]);var _0xeb57ff={'where':_0x297dc7[_0x9488('0x37')]};return db[_0x9488('0x29')][_0x9488('0x3d')](_0xeb57ff)[_0x9488('0x23')](function(_0x5f5f77){_0x1071c8[_0x9488('0x3d')]=_0x5f5f77;if(_0x293d84[_0x9488('0x2d')][_0x9488('0x3e')]){_0x297dc7[_0x9488('0x3f')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0x9488('0x40')](_0x297dc7);})[_0x9488('0x23')](function(_0x42d04c){_0x1071c8[_0x9488('0x41')]=_0x42d04c;return _0x1071c8;})[_0x9488('0x23')](respondWithFilteredResult(_0x156ceb,_0x297dc7))[_0x9488('0x42')](handleError(_0x156ceb,null));};exports[_0x9488('0x43')]=function(_0x164066,_0x5b11aa){var _0x20d50b={'raw':!![],'where':{'id':_0x164066[_0x9488('0x44')]['id']}},_0x406b80={};_0x406b80[_0x9488('0x2f')]=_['keys'](db[_0x9488('0x29')]['rawAttributes']);_0x406b80['query']=_['keys'](_0x164066[_0x9488('0x2d')]);_0x406b80[_0x9488('0x2e')]=_[_0x9488('0x31')](_0x406b80[_0x9488('0x2f')],_0x406b80[_0x9488('0x2d')]);_0x20d50b['attributes']=_[_0x9488('0x31')](_0x406b80['model'],qs[_0x9488('0x32')](_0x164066['query'][_0x9488('0x32')]));_0x20d50b[_0x9488('0x30')]=_0x20d50b[_0x9488('0x30')][_0x9488('0x45')]?_0x20d50b[_0x9488('0x30')]:_0x406b80[_0x9488('0x2f')];if(_0x164066[_0x9488('0x2d')][_0x9488('0x3e')]){_0x20d50b['include']=[{'all':!![]}];}_0x20d50b=_[_0x9488('0x39')]({},_0x20d50b,_0x164066[_0x9488('0x3c')]);return db[_0x9488('0x29')]['find'](_0x20d50b)['then'](handleEntityNotFound(_0x5b11aa,null))[_0x9488('0x23')](respondWithResult(_0x5b11aa,null))[_0x9488('0x42')](handleError(_0x5b11aa,null));};exports['create']=function(_0x2f8831,_0x45deb3){return db['JscriptySessionReport'][_0x9488('0x46')](_0x2f8831['body'],{})[_0x9488('0x23')](respondWithResult(_0x45deb3,0xc9))[_0x9488('0x42')](handleError(_0x45deb3,null));};exports[_0x9488('0x22')]=function(_0x11a44e,_0x26026b){if(_0x11a44e['body']['id']){delete _0x11a44e['body']['id'];}return db[_0x9488('0x29')]['find']({'where':{'id':_0x11a44e[_0x9488('0x44')]['id']}})[_0x9488('0x23')](handleEntityNotFound(_0x26026b,null))[_0x9488('0x23')](saveUpdates(_0x11a44e[_0x9488('0x47')],null))[_0x9488('0x23')](respondWithResult(_0x26026b,null))[_0x9488('0x42')](handleError(_0x26026b,null));};exports[_0x9488('0x24')]=function(_0x547582,_0x1037bd){return db[_0x9488('0x29')]['find']({'where':{'id':_0x547582['params']['id']}})[_0x9488('0x23')](handleEntityNotFound(_0x1037bd,null))[_0x9488('0x23')](removeEntity(_0x1037bd,null))[_0x9488('0x42')](handleError(_0x1037bd,null));};exports[_0x9488('0x48')]=function(_0x2298d1,_0x51b17f){return db[_0x9488('0x29')]['describe']()['then'](respondWithResult(_0x51b17f,null))[_0x9488('0x42')](handleError(_0x51b17f,null));};exports[_0x9488('0x49')]=function(_0x2a7a0a,_0x5f2cec,_0x3d37f0){var _0x227645={'raw':!![],'where':{}};var _0x2c3682={};var _0x2d168d={'count':0x0,'rows':[]};return db['JscriptySessionReport'][_0x9488('0x4a')]({'where':{'id':_0x2a7a0a[_0x9488('0x44')]['id']}})[_0x9488('0x23')](handleEntityNotFound(_0x5f2cec,null))[_0x9488('0x23')](function(_0x3b5290){if(_0x3b5290){_0x2c3682[_0x9488('0x2f')]=_['keys'](db[_0x9488('0x4b')]['rawAttributes']);_0x2c3682[_0x9488('0x2d')]=_['keys'](_0x2a7a0a[_0x9488('0x2d')]);_0x2c3682[_0x9488('0x2e')]=_[_0x9488('0x31')](_0x2c3682['model'],_0x2c3682[_0x9488('0x2d')]);_0x227645[_0x9488('0x30')]=_[_0x9488('0x31')](_0x2c3682[_0x9488('0x2f')],qs[_0x9488('0x32')](_0x2a7a0a[_0x9488('0x2d')][_0x9488('0x32')]));_0x227645['attributes']=_0x227645[_0x9488('0x30')][_0x9488('0x45')]?_0x227645[_0x9488('0x30')]:_0x2c3682[_0x9488('0x2f')];if(!_0x2a7a0a[_0x9488('0x2d')][_0x9488('0x33')](_0x9488('0x34'))){_0x227645['limit']=qs[_0x9488('0x1e')](_0x2a7a0a['query'][_0x9488('0x1e')]);_0x227645[_0x9488('0x1d')]=qs['offset'](_0x2a7a0a[_0x9488('0x2d')]['offset']);}_0x227645['order']=qs[_0x9488('0x36')](_0x2a7a0a[_0x9488('0x2d')][_0x9488('0x36')]);_0x227645['where']=qs[_0x9488('0x2e')](_[_0x9488('0x38')](_0x2a7a0a['query'],_0x2c3682[_0x9488('0x2e')]));_0x227645[_0x9488('0x37')][_0x9488('0x4c')]=_0x3b5290['id'];if(_0x2a7a0a[_0x9488('0x2d')][_0x9488('0x3b')]){_0x227645[_0x9488('0x37')]=_['merge'](_0x227645['where'],{'$or':_[_0x9488('0x28')](_0x227645[_0x9488('0x30')],function(_0x2892a5){var _0x1d296f={};_0x1d296f[_0x2892a5]={'$like':'%'+_0x2a7a0a['query'][_0x9488('0x3b')]+'%'};return _0x1d296f;})});}_0x227645=_[_0x9488('0x39')]({},_0x227645,_0x2a7a0a[_0x9488('0x3c')]);return db[_0x9488('0x4b')][_0x9488('0x3d')]({'where':_0x227645[_0x9488('0x37')]})[_0x9488('0x23')](function(_0xfd18dc){_0x2d168d[_0x9488('0x3d')]=_0xfd18dc;if(_0x2a7a0a[_0x9488('0x2d')][_0x9488('0x3e')]){_0x227645[_0x9488('0x3f')]=[{'all':!![]}];}return db[_0x9488('0x4b')]['findAll'](_0x227645);})['then'](function(_0x7dae99){_0x2d168d['rows']=_0x7dae99;return _0x2d168d;});}})[_0x9488('0x23')](respondWithFilteredResult(_0x5f2cec,_0x227645))['catch'](handleError(_0x5f2cec,null));};