73759859e86b1856a8a5ebca40dd72d73290d398
[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 _0x1d6f=['sox','to-csv','fs-extra','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','end','offset','undefined','limit','count','status','set','json','apply','update','then','destroy','error','stack','name','send','index','map','JscriptyQuestionReport','rawAttributes','fieldName','key','query','keys','filters','model','attributes','fields','length','nolimit','order','sort','pick','merge','type','VIRTUAL','options','where','includeAll','include','findAll','rows','catch','show','params','intersection','create','body','find','describe','rimraf','zip-dir','moment','bluebird','mustache','util','path'];(function(_0xc113aa,_0x40f1de){var _0x36aaee=function(_0x1670af){while(--_0x1670af){_0xc113aa['push'](_0xc113aa['shift']());}};_0x36aaee(++_0x40f1de);}(_0x1d6f,0x11d));var _0xf1d6=function(_0x21201b,_0x5d08ce){_0x21201b=_0x21201b-0x0;var _0x4716e8=_0x1d6f[_0x21201b];return _0x4716e8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf1d6('0x0'));var zipdir=require(_0xf1d6('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf1d6('0x2'));var BPromise=require(_0xf1d6('0x3'));var Mustache=require(_0xf1d6('0x4'));var util=require(_0xf1d6('0x5'));var path=require(_0xf1d6('0x6'));var sox=require(_0xf1d6('0x7'));var csv=require(_0xf1d6('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xf1d6('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xf1d6('0xa'));var jsforce=require(_0xf1d6('0xb'));var deskjs=require(_0xf1d6('0xc'));var toCsv=require(_0xf1d6('0x8'));var querystring=require('querystring');var Papa=require(_0xf1d6('0xd'));var Redis=require(_0xf1d6('0xe'));var authService=require(_0xf1d6('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xf1d6('0x10'));var hardwareService=require(_0xf1d6('0x11'));var logger=require(_0xf1d6('0x12'))(_0xf1d6('0x13'));var utils=require('../../config/utils');var config=require(_0xf1d6('0x14'));var licenseUtil=require(_0xf1d6('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3ad80b,_0x4757f8){_0x4757f8=_0x4757f8||0xcc;return function(_0x968c5e){if(_0x968c5e){return _0x3ad80b[_0xf1d6('0x16')](_0x4757f8);}return _0x3ad80b['status'](_0x4757f8)[_0xf1d6('0x17')]();};}function respondWithResult(_0x216f41,_0x37798d){_0x37798d=_0x37798d||0xc8;return function(_0x1eab6f){if(_0x1eab6f){return _0x216f41['status'](_0x37798d)['json'](_0x1eab6f);}};}function respondWithFilteredResult(_0x42b658,_0x29cf85){return function(_0x295df9){if(_0x295df9){var _0x500152=typeof _0x29cf85[_0xf1d6('0x18')]===_0xf1d6('0x19')&&typeof _0x29cf85[_0xf1d6('0x1a')]===_0xf1d6('0x19');var _0x916ad4=_0x295df9[_0xf1d6('0x1b')];var _0x9fe343=_0x500152?0x0:_0x29cf85[_0xf1d6('0x18')];var _0x1e161d=_0x500152?_0x295df9[_0xf1d6('0x1b')]:_0x29cf85[_0xf1d6('0x18')]+_0x29cf85[_0xf1d6('0x1a')];var _0x11b41b;if(_0x1e161d>=_0x916ad4){_0x1e161d=_0x916ad4;_0x11b41b=0xc8;}else{_0x11b41b=0xce;}_0x42b658[_0xf1d6('0x1c')](_0x11b41b);return _0x42b658[_0xf1d6('0x1d')]('Content-Range',_0x9fe343+'-'+_0x1e161d+'/'+_0x916ad4)[_0xf1d6('0x1e')](_0x295df9);}return null;};}function patchUpdates(_0x56a23f){return function(_0x116ae8){try{jsonpatch[_0xf1d6('0x1f')](_0x116ae8,_0x56a23f,!![]);}catch(_0x173327){return BPromise['reject'](_0x173327);}return _0x116ae8['save']();};}function saveUpdates(_0x3d822e,_0x135f21){return function(_0x593d7){if(_0x593d7){return _0x593d7[_0xf1d6('0x20')](_0x3d822e)[_0xf1d6('0x21')](function(_0x5b2784){return _0x5b2784;});}return null;};}function removeEntity(_0x44ab7b,_0x559796){return function(_0x1145ca){if(_0x1145ca){return _0x1145ca[_0xf1d6('0x22')]()[_0xf1d6('0x21')](function(){_0x44ab7b[_0xf1d6('0x1c')](0xcc)[_0xf1d6('0x17')]();});}};}function handleEntityNotFound(_0x4cea27,_0x19de8d){return function(_0x37bb0e){if(!_0x37bb0e){_0x4cea27[_0xf1d6('0x16')](0x194);}return _0x37bb0e;};}function handleError(_0x24d492,_0x211dca){_0x211dca=_0x211dca||0x1f4;return function(_0x94fba9){logger[_0xf1d6('0x23')](_0x94fba9[_0xf1d6('0x24')]);if(_0x94fba9['name']){delete _0x94fba9[_0xf1d6('0x25')];}_0x24d492[_0xf1d6('0x1c')](_0x211dca)[_0xf1d6('0x26')](_0x94fba9);};}exports[_0xf1d6('0x27')]=function(_0x3e7800,_0x558fde){var _0x5aeb73={},_0x337a16={},_0x413bb2={'count':0x0,'rows':[]};var _0x5707e7=_[_0xf1d6('0x28')](db[_0xf1d6('0x29')][_0xf1d6('0x2a')],function(_0x1a7bda){return{'name':_0x1a7bda[_0xf1d6('0x2b')],'type':_0x1a7bda['type'][_0xf1d6('0x2c')]};});_0x337a16['model']=_[_0xf1d6('0x28')](_0x5707e7,_0xf1d6('0x25'));_0x337a16[_0xf1d6('0x2d')]=_[_0xf1d6('0x2e')](_0x3e7800['query']);_0x337a16[_0xf1d6('0x2f')]=_['intersection'](_0x337a16[_0xf1d6('0x30')],_0x337a16[_0xf1d6('0x2d')]);_0x5aeb73[_0xf1d6('0x31')]=_['intersection'](_0x337a16[_0xf1d6('0x30')],qs[_0xf1d6('0x32')](_0x3e7800[_0xf1d6('0x2d')][_0xf1d6('0x32')]));_0x5aeb73['attributes']=_0x5aeb73['attributes'][_0xf1d6('0x33')]?_0x5aeb73[_0xf1d6('0x31')]:_0x337a16[_0xf1d6('0x30')];if(!_0x3e7800[_0xf1d6('0x2d')]['hasOwnProperty'](_0xf1d6('0x34'))){_0x5aeb73[_0xf1d6('0x1a')]=qs[_0xf1d6('0x1a')](_0x3e7800[_0xf1d6('0x2d')]['limit']);_0x5aeb73['offset']=qs[_0xf1d6('0x18')](_0x3e7800[_0xf1d6('0x2d')][_0xf1d6('0x18')]);}_0x5aeb73[_0xf1d6('0x35')]=qs[_0xf1d6('0x36')](_0x3e7800[_0xf1d6('0x2d')][_0xf1d6('0x36')]);_0x5aeb73['where']=qs[_0xf1d6('0x2f')](_[_0xf1d6('0x37')](_0x3e7800[_0xf1d6('0x2d')],_0x337a16[_0xf1d6('0x2f')]),_0x5707e7);if(_0x3e7800['query']['filter']){_0x5aeb73['where']=_[_0xf1d6('0x38')](_0x5aeb73['where'],{'$or':_[_0xf1d6('0x28')](_0x5707e7,function(_0x5e28ac){if(_0x5e28ac[_0xf1d6('0x39')]!==_0xf1d6('0x3a')){var _0x4eb7fc={};_0x4eb7fc[_0x5e28ac[_0xf1d6('0x25')]]={'$like':'%'+_0x3e7800['query']['filter']+'%'};return _0x4eb7fc;}})});}_0x5aeb73=_['merge']({},_0x5aeb73,_0x3e7800[_0xf1d6('0x3b')]);var _0xca769={'where':_0x5aeb73[_0xf1d6('0x3c')]};return db[_0xf1d6('0x29')][_0xf1d6('0x1b')](_0xca769)[_0xf1d6('0x21')](function(_0x47376e){_0x413bb2[_0xf1d6('0x1b')]=_0x47376e;if(_0x3e7800[_0xf1d6('0x2d')][_0xf1d6('0x3d')]){_0x5aeb73[_0xf1d6('0x3e')]=[{'all':!![]}];}return db[_0xf1d6('0x29')][_0xf1d6('0x3f')](_0x5aeb73);})[_0xf1d6('0x21')](function(_0xf01470){_0x413bb2[_0xf1d6('0x40')]=_0xf01470;return _0x413bb2;})['then'](respondWithFilteredResult(_0x558fde,_0x5aeb73))[_0xf1d6('0x41')](handleError(_0x558fde,null));};exports[_0xf1d6('0x42')]=function(_0x4d76eb,_0x53478b){var _0x52d025={'raw':!![],'where':{'id':_0x4d76eb[_0xf1d6('0x43')]['id']}},_0x4bf30b={};_0x4bf30b[_0xf1d6('0x30')]=_['keys'](db[_0xf1d6('0x29')][_0xf1d6('0x2a')]);_0x4bf30b['query']=_[_0xf1d6('0x2e')](_0x4d76eb[_0xf1d6('0x2d')]);_0x4bf30b[_0xf1d6('0x2f')]=_[_0xf1d6('0x44')](_0x4bf30b[_0xf1d6('0x30')],_0x4bf30b['query']);_0x52d025['attributes']=_[_0xf1d6('0x44')](_0x4bf30b['model'],qs[_0xf1d6('0x32')](_0x4d76eb[_0xf1d6('0x2d')]['fields']));_0x52d025['attributes']=_0x52d025['attributes'][_0xf1d6('0x33')]?_0x52d025[_0xf1d6('0x31')]:_0x4bf30b[_0xf1d6('0x30')];if(_0x4d76eb[_0xf1d6('0x2d')]['includeAll']){_0x52d025[_0xf1d6('0x3e')]=[{'all':!![]}];}_0x52d025=_['merge']({},_0x52d025,_0x4d76eb['options']);return db['JscriptyQuestionReport']['find'](_0x52d025)[_0xf1d6('0x21')](handleEntityNotFound(_0x53478b,null))['then'](respondWithResult(_0x53478b,null))[_0xf1d6('0x41')](handleError(_0x53478b,null));};exports[_0xf1d6('0x45')]=function(_0x10eb36,_0x1490b9){return db[_0xf1d6('0x29')]['create'](_0x10eb36[_0xf1d6('0x46')],{})[_0xf1d6('0x21')](respondWithResult(_0x1490b9,0xc9))['catch'](handleError(_0x1490b9,null));};exports[_0xf1d6('0x20')]=function(_0x1901d9,_0x2547eb){if(_0x1901d9[_0xf1d6('0x46')]['id']){delete _0x1901d9[_0xf1d6('0x46')]['id'];}return db[_0xf1d6('0x29')][_0xf1d6('0x47')]({'where':{'id':_0x1901d9[_0xf1d6('0x43')]['id']}})[_0xf1d6('0x21')](handleEntityNotFound(_0x2547eb,null))[_0xf1d6('0x21')](saveUpdates(_0x1901d9['body'],null))[_0xf1d6('0x21')](respondWithResult(_0x2547eb,null))[_0xf1d6('0x41')](handleError(_0x2547eb,null));};exports[_0xf1d6('0x22')]=function(_0x489187,_0x28ee66){return db['JscriptyQuestionReport']['find']({'where':{'id':_0x489187[_0xf1d6('0x43')]['id']}})[_0xf1d6('0x21')](handleEntityNotFound(_0x28ee66,null))[_0xf1d6('0x21')](removeEntity(_0x28ee66,null))[_0xf1d6('0x41')](handleError(_0x28ee66,null));};exports[_0xf1d6('0x48')]=function(_0x1679ad,_0x27ec99){return db[_0xf1d6('0x29')][_0xf1d6('0x48')]()[_0xf1d6('0x21')](respondWithResult(_0x27ec99,null))[_0xf1d6('0x41')](handleError(_0x27ec99,null));};