675c0bdae37137388329de44217c8cd1fede0196
[motion2.git] / server / api / jscriptyQuestionReport / jscriptyQuestionReport.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 _0x0e6c=['rawAttributes','type','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','JscriptyQuestionReport','count','includeAll','include','findAll','catch','show','find','create','body','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','Content-Range','apply','save','update','then','error','stack','name','send','index','map'];(function(_0x1b9ecf,_0x415e21){var _0xa6706e=function(_0x4b8c49){while(--_0x4b8c49){_0x1b9ecf['push'](_0x1b9ecf['shift']());}};_0xa6706e(++_0x415e21);}(_0x0e6c,0x6b));var _0xc0e6=function(_0x12db36,_0x2f535d){_0x12db36=_0x12db36-0x0;var _0x1b5d9e=_0x0e6c[_0x12db36];return _0x1b5d9e;};'use strict';var emlformat=require(_0xc0e6('0x0'));var rimraf=require(_0xc0e6('0x1'));var zipdir=require(_0xc0e6('0x2'));var jsonpatch=require(_0xc0e6('0x3'));var rp=require(_0xc0e6('0x4'));var moment=require('moment');var BPromise=require(_0xc0e6('0x5'));var Mustache=require(_0xc0e6('0x6'));var util=require(_0xc0e6('0x7'));var path=require(_0xc0e6('0x8'));var sox=require(_0xc0e6('0x9'));var csv=require(_0xc0e6('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc0e6('0xb'));var _=require(_0xc0e6('0xc'));var squel=require(_0xc0e6('0xd'));var crypto=require(_0xc0e6('0xe'));var jsforce=require(_0xc0e6('0xf'));var deskjs=require(_0xc0e6('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xc0e6('0x11'));var Redis=require(_0xc0e6('0x12'));var authService=require(_0xc0e6('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xc0e6('0x14'));var hardwareService=require(_0xc0e6('0x15'));var logger=require('../../config/logger')(_0xc0e6('0x16'));var utils=require(_0xc0e6('0x17'));var config=require(_0xc0e6('0x18'));var licenseUtil=require(_0xc0e6('0x19'));var db=require(_0xc0e6('0x1a'))['db'];function respondWithStatusCode(_0x8b0171,_0x1a9950){_0x1a9950=_0x1a9950||0xcc;return function(_0xc255ce){if(_0xc255ce){return _0x8b0171[_0xc0e6('0x1b')](_0x1a9950);}return _0x8b0171[_0xc0e6('0x1c')](_0x1a9950)[_0xc0e6('0x1d')]();};}function respondWithResult(_0x320bb1,_0x27c414){_0x27c414=_0x27c414||0xc8;return function(_0x592771){if(_0x592771){return _0x320bb1[_0xc0e6('0x1c')](_0x27c414)[_0xc0e6('0x1e')](_0x592771);}};}function respondWithFilteredResult(_0x2f5aed,_0x242291){return function(_0x1c3de8){if(_0x1c3de8){var _0x4e3163=typeof _0x242291['offset']===_0xc0e6('0x1f')&&typeof _0x242291[_0xc0e6('0x20')]===_0xc0e6('0x1f');var _0x14c752=_0x1c3de8['count'];var _0x1578ce=_0x4e3163?0x0:_0x242291[_0xc0e6('0x21')];var _0x25434b=_0x4e3163?_0x1c3de8['count']:_0x242291[_0xc0e6('0x21')]+_0x242291['limit'];var _0x2c04e1;if(_0x25434b>=_0x14c752){_0x25434b=_0x14c752;_0x2c04e1=0xc8;}else{_0x2c04e1=0xce;}_0x2f5aed[_0xc0e6('0x1c')](_0x2c04e1);return _0x2f5aed['set'](_0xc0e6('0x22'),_0x1578ce+'-'+_0x25434b+'/'+_0x14c752)[_0xc0e6('0x1e')](_0x1c3de8);}return null;};}function patchUpdates(_0x159fc8){return function(_0x2231d3){try{jsonpatch[_0xc0e6('0x23')](_0x2231d3,_0x159fc8,!![]);}catch(_0x5e8772){return BPromise['reject'](_0x5e8772);}return _0x2231d3[_0xc0e6('0x24')]();};}function saveUpdates(_0x6c9d1e,_0x298423){return function(_0x2ca08a){if(_0x2ca08a){return _0x2ca08a[_0xc0e6('0x25')](_0x6c9d1e)[_0xc0e6('0x26')](function(_0x52ed32){return _0x52ed32;});}return null;};}function removeEntity(_0x1ad67a,_0x1170a3){return function(_0x3ccdd4){if(_0x3ccdd4){return _0x3ccdd4['destroy']()[_0xc0e6('0x26')](function(){_0x1ad67a[_0xc0e6('0x1c')](0xcc)[_0xc0e6('0x1d')]();});}};}function handleEntityNotFound(_0xfcd8e0,_0x47d72f){return function(_0x3bec62){if(!_0x3bec62){_0xfcd8e0[_0xc0e6('0x1b')](0x194);}return _0x3bec62;};}function handleError(_0x3bab25,_0x3bb42a){_0x3bb42a=_0x3bb42a||0x1f4;return function(_0xe0210a){logger[_0xc0e6('0x27')](_0xe0210a[_0xc0e6('0x28')]);if(_0xe0210a[_0xc0e6('0x29')]){delete _0xe0210a[_0xc0e6('0x29')];}_0x3bab25[_0xc0e6('0x1c')](_0x3bb42a)[_0xc0e6('0x2a')](_0xe0210a);};}exports[_0xc0e6('0x2b')]=function(_0x4bb7f6,_0x424d61){var _0x15bbd2={},_0x28bc53={},_0x2cd26b={'count':0x0,'rows':[]};var _0x4d14ec=_[_0xc0e6('0x2c')](db['JscriptyQuestionReport'][_0xc0e6('0x2d')],function(_0x2d8ecc){return{'name':_0x2d8ecc['fieldName'],'type':_0x2d8ecc[_0xc0e6('0x2e')]['key']};});_0x28bc53['model']=_[_0xc0e6('0x2c')](_0x4d14ec,_0xc0e6('0x29'));_0x28bc53[_0xc0e6('0x2f')]=_[_0xc0e6('0x30')](_0x4bb7f6[_0xc0e6('0x2f')]);_0x28bc53[_0xc0e6('0x31')]=_[_0xc0e6('0x32')](_0x28bc53[_0xc0e6('0x33')],_0x28bc53[_0xc0e6('0x2f')]);_0x15bbd2[_0xc0e6('0x34')]=_[_0xc0e6('0x32')](_0x28bc53[_0xc0e6('0x33')],qs['fields'](_0x4bb7f6[_0xc0e6('0x2f')][_0xc0e6('0x35')]));_0x15bbd2[_0xc0e6('0x34')]=_0x15bbd2[_0xc0e6('0x34')][_0xc0e6('0x36')]?_0x15bbd2[_0xc0e6('0x34')]:_0x28bc53[_0xc0e6('0x33')];if(!_0x4bb7f6[_0xc0e6('0x2f')][_0xc0e6('0x37')](_0xc0e6('0x38'))){_0x15bbd2[_0xc0e6('0x20')]=qs[_0xc0e6('0x20')](_0x4bb7f6[_0xc0e6('0x2f')]['limit']);_0x15bbd2['offset']=qs['offset'](_0x4bb7f6[_0xc0e6('0x2f')][_0xc0e6('0x21')]);}_0x15bbd2[_0xc0e6('0x39')]=qs[_0xc0e6('0x3a')](_0x4bb7f6[_0xc0e6('0x2f')][_0xc0e6('0x3a')]);_0x15bbd2['where']=qs[_0xc0e6('0x31')](_[_0xc0e6('0x3b')](_0x4bb7f6[_0xc0e6('0x2f')],_0x28bc53[_0xc0e6('0x31')]),_0x4d14ec);if(_0x4bb7f6['query'][_0xc0e6('0x3c')]){_0x15bbd2[_0xc0e6('0x3d')]=_[_0xc0e6('0x3e')](_0x15bbd2[_0xc0e6('0x3d')],{'$or':_[_0xc0e6('0x2c')](_0x4d14ec,function(_0x5ae516){if(_0x5ae516['type']!=='VIRTUAL'){var _0x35e5ee={};_0x35e5ee[_0x5ae516[_0xc0e6('0x29')]]={'$like':'%'+_0x4bb7f6[_0xc0e6('0x2f')][_0xc0e6('0x3c')]+'%'};return _0x35e5ee;}})});}_0x15bbd2=_[_0xc0e6('0x3e')]({},_0x15bbd2,_0x4bb7f6[_0xc0e6('0x3f')]);var _0x5a0d82={'where':_0x15bbd2[_0xc0e6('0x3d')]};return db[_0xc0e6('0x40')][_0xc0e6('0x41')](_0x5a0d82)['then'](function(_0x4f6ff7){_0x2cd26b[_0xc0e6('0x41')]=_0x4f6ff7;if(_0x4bb7f6[_0xc0e6('0x2f')][_0xc0e6('0x42')]){_0x15bbd2[_0xc0e6('0x43')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0xc0e6('0x44')](_0x15bbd2);})[_0xc0e6('0x26')](function(_0x328ed6){_0x2cd26b['rows']=_0x328ed6;return _0x2cd26b;})[_0xc0e6('0x26')](respondWithFilteredResult(_0x424d61,_0x15bbd2))[_0xc0e6('0x45')](handleError(_0x424d61,null));};exports[_0xc0e6('0x46')]=function(_0x1e29b2,_0x15bb2e){var _0x5be3e7={'raw':!![],'where':{'id':_0x1e29b2['params']['id']}},_0x4b6908={};_0x4b6908[_0xc0e6('0x33')]=_[_0xc0e6('0x30')](db[_0xc0e6('0x40')][_0xc0e6('0x2d')]);_0x4b6908[_0xc0e6('0x2f')]=_[_0xc0e6('0x30')](_0x1e29b2[_0xc0e6('0x2f')]);_0x4b6908[_0xc0e6('0x31')]=_[_0xc0e6('0x32')](_0x4b6908['model'],_0x4b6908[_0xc0e6('0x2f')]);_0x5be3e7[_0xc0e6('0x34')]=_[_0xc0e6('0x32')](_0x4b6908['model'],qs['fields'](_0x1e29b2[_0xc0e6('0x2f')][_0xc0e6('0x35')]));_0x5be3e7[_0xc0e6('0x34')]=_0x5be3e7[_0xc0e6('0x34')][_0xc0e6('0x36')]?_0x5be3e7[_0xc0e6('0x34')]:_0x4b6908[_0xc0e6('0x33')];if(_0x1e29b2[_0xc0e6('0x2f')][_0xc0e6('0x42')]){_0x5be3e7[_0xc0e6('0x43')]=[{'all':!![]}];}_0x5be3e7=_['merge']({},_0x5be3e7,_0x1e29b2[_0xc0e6('0x3f')]);return db[_0xc0e6('0x40')][_0xc0e6('0x47')](_0x5be3e7)[_0xc0e6('0x26')](handleEntityNotFound(_0x15bb2e,null))['then'](respondWithResult(_0x15bb2e,null))['catch'](handleError(_0x15bb2e,null));};exports[_0xc0e6('0x48')]=function(_0x2194d,_0x43b209){return db['JscriptyQuestionReport']['create'](_0x2194d[_0xc0e6('0x49')],{})[_0xc0e6('0x26')](respondWithResult(_0x43b209,0xc9))['catch'](handleError(_0x43b209,null));};exports['update']=function(_0x37ecef,_0x1e9d06){if(_0x37ecef[_0xc0e6('0x49')]['id']){delete _0x37ecef[_0xc0e6('0x49')]['id'];}return db[_0xc0e6('0x40')][_0xc0e6('0x47')]({'where':{'id':_0x37ecef['params']['id']}})[_0xc0e6('0x26')](handleEntityNotFound(_0x1e9d06,null))[_0xc0e6('0x26')](saveUpdates(_0x37ecef[_0xc0e6('0x49')],null))[_0xc0e6('0x26')](respondWithResult(_0x1e9d06,null))[_0xc0e6('0x45')](handleError(_0x1e9d06,null));};exports[_0xc0e6('0x4a')]=function(_0x1093e2,_0x4d8339){return db['JscriptyQuestionReport'][_0xc0e6('0x47')]({'where':{'id':_0x1093e2['params']['id']}})[_0xc0e6('0x26')](handleEntityNotFound(_0x4d8339,null))[_0xc0e6('0x26')](removeEntity(_0x4d8339,null))[_0xc0e6('0x45')](handleError(_0x4d8339,null));};exports[_0xc0e6('0x4b')]=function(_0x53e8ef,_0x462d40){return db[_0xc0e6('0x40')][_0xc0e6('0x4b')]()[_0xc0e6('0x26')](respondWithResult(_0x462d40,null))[_0xc0e6('0x45')](handleError(_0x462d40,null));};