18efe9809f951b4018d459c42effc490cf55b75b
[motion2.git] / server / api / jscriptyAnswerReport / jscriptyAnswerReport.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 _0x36fc=['include','findAll','rows','catch','show','intersection','find','create','body','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../mysqldb','sendStatus','status','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','JscriptyAnswerReport','rawAttributes','type','model','keys','query','attributes','fields','length','nolimit','sort','where','filters','filter','merge','map','VIRTUAL','options','count','includeAll'];(function(_0x45c726,_0x4ad231){var _0x4c52dd=function(_0x18e1ee){while(--_0x18e1ee){_0x45c726['push'](_0x45c726['shift']());}};_0x4c52dd(++_0x4ad231);}(_0x36fc,0xe3));var _0xc36f=function(_0x1ffb99,_0x262b20){_0x1ffb99=_0x1ffb99-0x0;var _0x444b1f=_0x36fc[_0x1ffb99];return _0x444b1f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xc36f('0x0'));var rimraf=require(_0xc36f('0x1'));var zipdir=require(_0xc36f('0x2'));var jsonpatch=require(_0xc36f('0x3'));var rp=require(_0xc36f('0x4'));var moment=require(_0xc36f('0x5'));var BPromise=require(_0xc36f('0x6'));var Mustache=require(_0xc36f('0x7'));var util=require(_0xc36f('0x8'));var path=require(_0xc36f('0x9'));var sox=require(_0xc36f('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xc36f('0xb'));var jsforce=require(_0xc36f('0xc'));var deskjs=require(_0xc36f('0xd'));var toCsv=require(_0xc36f('0xe'));var querystring=require(_0xc36f('0xf'));var Papa=require(_0xc36f('0x10'));var Redis=require(_0xc36f('0x11'));var authService=require(_0xc36f('0x12'));var qs=require(_0xc36f('0x13'));var as=require(_0xc36f('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xc36f('0x15'));var utils=require('../../config/utils');var config=require(_0xc36f('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xc36f('0x17'))['db'];function respondWithStatusCode(_0x56c0bc,_0x377018){_0x377018=_0x377018||0xcc;return function(_0x2172ff){if(_0x2172ff){return _0x56c0bc[_0xc36f('0x18')](_0x377018);}return _0x56c0bc['status'](_0x377018)['end']();};}function respondWithResult(_0xce055e,_0x1114ec){_0x1114ec=_0x1114ec||0xc8;return function(_0x4bbd37){if(_0x4bbd37){return _0xce055e[_0xc36f('0x19')](_0x1114ec)['json'](_0x4bbd37);}};}function respondWithFilteredResult(_0x91f003,_0x3396f4){return function(_0x3c8bb6){if(_0x3c8bb6){var _0x37aea0=_0x3c8bb6['count'],_0x50bcea=_0x3396f4['offset'],_0x28d050=_0x3396f4[_0xc36f('0x1a')]+_0x3396f4[_0xc36f('0x1b')],_0x47999f;if(_0x28d050>=_0x37aea0){_0x28d050=_0x37aea0;_0x47999f=0xc8;}else{_0x47999f=0xce;}_0x91f003[_0xc36f('0x19')](_0x47999f);return _0x91f003[_0xc36f('0x1c')](_0xc36f('0x1d'),_0x50bcea+'-'+_0x28d050+'/'+_0x37aea0)['json'](_0x3c8bb6);}return null;};}function patchUpdates(_0x3e3189){return function(_0x184f02){try{jsonpatch[_0xc36f('0x1e')](_0x184f02,_0x3e3189,!![]);}catch(_0x7ae362){return BPromise[_0xc36f('0x1f')](_0x7ae362);}return _0x184f02[_0xc36f('0x20')]();};}function saveUpdates(_0x51ec45,_0x53e2cd){return function(_0x564a82){if(_0x564a82){return _0x564a82[_0xc36f('0x21')](_0x51ec45)[_0xc36f('0x22')](function(_0x203b46){return _0x203b46;});}return null;};}function removeEntity(_0x210cae,_0x1ff541){return function(_0x4b34ac){if(_0x4b34ac){return _0x4b34ac[_0xc36f('0x23')]()[_0xc36f('0x22')](function(){_0x210cae[_0xc36f('0x19')](0xcc)[_0xc36f('0x24')]();});}};}function handleEntityNotFound(_0x4fbbe6,_0x504adf){return function(_0x1b2fe5){if(!_0x1b2fe5){_0x4fbbe6[_0xc36f('0x18')](0x194);}return _0x1b2fe5;};}function handleError(_0x3a5360,_0x52b08a){_0x52b08a=_0x52b08a||0x1f4;return function(_0x105d1e){logger[_0xc36f('0x25')](_0x105d1e[_0xc36f('0x26')]);if(_0x105d1e[_0xc36f('0x27')]){delete _0x105d1e[_0xc36f('0x27')];}_0x3a5360['status'](_0x52b08a)[_0xc36f('0x28')](_0x105d1e);};}exports['index']=function(_0x1fc544,_0x23830f){var _0x4ea11e={},_0x3ace16={},_0x929927={'count':0x0,'rows':[]};var _0x3807a1=_['map'](db[_0xc36f('0x29')][_0xc36f('0x2a')],function(_0x14f7e5){return{'name':_0x14f7e5['fieldName'],'type':_0x14f7e5[_0xc36f('0x2b')]['key']};});_0x3ace16[_0xc36f('0x2c')]=_['map'](_0x3807a1,_0xc36f('0x27'));_0x3ace16['query']=_[_0xc36f('0x2d')](_0x1fc544[_0xc36f('0x2e')]);_0x3ace16['filters']=_['intersection'](_0x3ace16[_0xc36f('0x2c')],_0x3ace16['query']);_0x4ea11e[_0xc36f('0x2f')]=_['intersection'](_0x3ace16['model'],qs[_0xc36f('0x30')](_0x1fc544['query'][_0xc36f('0x30')]));_0x4ea11e[_0xc36f('0x2f')]=_0x4ea11e[_0xc36f('0x2f')][_0xc36f('0x31')]?_0x4ea11e['attributes']:_0x3ace16[_0xc36f('0x2c')];if(!_0x1fc544['query']['hasOwnProperty'](_0xc36f('0x32'))){_0x4ea11e['limit']=qs['limit'](_0x1fc544['query']['limit']);_0x4ea11e[_0xc36f('0x1a')]=qs[_0xc36f('0x1a')](_0x1fc544[_0xc36f('0x2e')]['offset']);}_0x4ea11e['order']=qs[_0xc36f('0x33')](_0x1fc544['query'][_0xc36f('0x33')]);_0x4ea11e[_0xc36f('0x34')]=qs[_0xc36f('0x35')](_['pick'](_0x1fc544[_0xc36f('0x2e')],_0x3ace16[_0xc36f('0x35')]),_0x3807a1);if(_0x1fc544[_0xc36f('0x2e')][_0xc36f('0x36')]){_0x4ea11e['where']=_[_0xc36f('0x37')](_0x4ea11e['where'],{'$or':_[_0xc36f('0x38')](_0x3807a1,function(_0x4479ab){if(_0x4479ab[_0xc36f('0x2b')]!==_0xc36f('0x39')){var _0x50c612={};_0x50c612[_0x4479ab[_0xc36f('0x27')]]={'$like':'%'+_0x1fc544['query']['filter']+'%'};return _0x50c612;}})});}_0x4ea11e=_[_0xc36f('0x37')]({},_0x4ea11e,_0x1fc544[_0xc36f('0x3a')]);var _0x30512c={'where':_0x4ea11e['where']};return db[_0xc36f('0x29')][_0xc36f('0x3b')](_0x30512c)[_0xc36f('0x22')](function(_0x4869bc){_0x929927[_0xc36f('0x3b')]=_0x4869bc;if(_0x1fc544[_0xc36f('0x2e')][_0xc36f('0x3c')]){_0x4ea11e[_0xc36f('0x3d')]=[{'all':!![]}];}return db[_0xc36f('0x29')][_0xc36f('0x3e')](_0x4ea11e);})['then'](function(_0x2efc3b){_0x929927[_0xc36f('0x3f')]=_0x2efc3b;return _0x929927;})['then'](respondWithFilteredResult(_0x23830f,_0x4ea11e))[_0xc36f('0x40')](handleError(_0x23830f,null));};exports[_0xc36f('0x41')]=function(_0xd4a155,_0x10b895){var _0x6a6311={'raw':!![],'where':{'id':_0xd4a155['params']['id']}},_0x40be74={};_0x40be74['model']=_[_0xc36f('0x2d')](db[_0xc36f('0x29')][_0xc36f('0x2a')]);_0x40be74[_0xc36f('0x2e')]=_[_0xc36f('0x2d')](_0xd4a155[_0xc36f('0x2e')]);_0x40be74['filters']=_['intersection'](_0x40be74[_0xc36f('0x2c')],_0x40be74['query']);_0x6a6311['attributes']=_[_0xc36f('0x42')](_0x40be74[_0xc36f('0x2c')],qs[_0xc36f('0x30')](_0xd4a155[_0xc36f('0x2e')][_0xc36f('0x30')]));_0x6a6311[_0xc36f('0x2f')]=_0x6a6311[_0xc36f('0x2f')][_0xc36f('0x31')]?_0x6a6311[_0xc36f('0x2f')]:_0x40be74[_0xc36f('0x2c')];if(_0xd4a155['query']['includeAll']){_0x6a6311[_0xc36f('0x3d')]=[{'all':!![]}];}_0x6a6311=_['merge']({},_0x6a6311,_0xd4a155[_0xc36f('0x3a')]);return db[_0xc36f('0x29')][_0xc36f('0x43')](_0x6a6311)[_0xc36f('0x22')](handleEntityNotFound(_0x10b895,null))[_0xc36f('0x22')](respondWithResult(_0x10b895,null))[_0xc36f('0x40')](handleError(_0x10b895,null));};exports[_0xc36f('0x44')]=function(_0x1f7502,_0x49960d){return db[_0xc36f('0x29')][_0xc36f('0x44')](_0x1f7502['body'],{})[_0xc36f('0x22')](respondWithResult(_0x49960d,0xc9))[_0xc36f('0x40')](handleError(_0x49960d,null));};exports[_0xc36f('0x21')]=function(_0x4b44f9,_0x1ca9b6){if(_0x4b44f9[_0xc36f('0x45')]['id']){delete _0x4b44f9[_0xc36f('0x45')]['id'];}return db[_0xc36f('0x29')][_0xc36f('0x43')]({'where':{'id':_0x4b44f9[_0xc36f('0x46')]['id']}})[_0xc36f('0x22')](handleEntityNotFound(_0x1ca9b6,null))[_0xc36f('0x22')](saveUpdates(_0x4b44f9[_0xc36f('0x45')],null))['then'](respondWithResult(_0x1ca9b6,null))['catch'](handleError(_0x1ca9b6,null));};exports[_0xc36f('0x23')]=function(_0x6d0085,_0x281770){return db[_0xc36f('0x29')][_0xc36f('0x43')]({'where':{'id':_0x6d0085[_0xc36f('0x46')]['id']}})[_0xc36f('0x22')](handleEntityNotFound(_0x281770,null))[_0xc36f('0x22')](removeEntity(_0x281770,null))[_0xc36f('0x40')](handleError(_0x281770,null));};exports['describe']=function(_0x28fab3,_0x1434aa){return db[_0xc36f('0x29')][_0xc36f('0x47')]()[_0xc36f('0x22')](respondWithResult(_0x1434aa,null))[_0xc36f('0x40')](handleError(_0x1434aa,null));};