Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / api / analyticFieldReport / analyticFieldReport.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 _0x325e=['attributes','length','hasOwnProperty','limit','order','sort','where','pick','filters','merge','VIRTUAL','options','count','include','findAll','rows','catch','show','params','rawAttributes','fields','includeAll','find','create','bulkCreate','body','update','ids','addFields','AnalyticCustomReport','sequelize','transaction','CustomReportId','html-pdf','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','set','json','apply','reject','save','then','destroy','error','stack','name','map','AnalyticFieldReport','fieldName','type','key','model','query','keys','intersection'];(function(_0x48f703,_0x14e365){var _0x6d6e46=function(_0x10e372){while(--_0x10e372){_0x48f703['push'](_0x48f703['shift']());}};_0x6d6e46(++_0x14e365);}(_0x325e,0xc1));var _0xe325=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x325e[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0xe325('0x0'));var emlformat=require(_0xe325('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe325('0x2'));var jsonpatch=require(_0xe325('0x3'));var rp=require('request-promise');var moment=require(_0xe325('0x4'));var BPromise=require(_0xe325('0x5'));var Mustache=require(_0xe325('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xe325('0x7'));var ejs=require(_0xe325('0x8'));var fs=require('fs');var _=require(_0xe325('0x9'));var squel=require(_0xe325('0xa'));var crypto=require(_0xe325('0xb'));var jsforce=require(_0xe325('0xc'));var deskjs=require(_0xe325('0xd'));var toCsv=require(_0xe325('0x7'));var querystring=require('querystring');var Papa=require(_0xe325('0xe'));var Redis=require(_0xe325('0xf'));var authService=require(_0xe325('0x10'));var qs=require(_0xe325('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe325('0x12'));var logger=require(_0xe325('0x13'))(_0xe325('0x14'));var utils=require(_0xe325('0x15'));var config=require(_0xe325('0x16'));var db=require(_0xe325('0x17'))['db'];function respondWithStatusCode(_0x1ec4bf,_0x433d11){_0x433d11=_0x433d11||0xcc;return function(_0x3d151a){if(_0x3d151a){return _0x1ec4bf[_0xe325('0x18')](_0x433d11);}return _0x1ec4bf[_0xe325('0x19')](_0x433d11)[_0xe325('0x1a')]();};}function respondWithResult(_0x210a5c,_0x26df6d){_0x26df6d=_0x26df6d||0xc8;return function(_0x2beec7){if(_0x2beec7){return _0x210a5c[_0xe325('0x19')](_0x26df6d)['json'](_0x2beec7);}};}function respondWithFilteredResult(_0x14eae7,_0x544c57){return function(_0x435861){if(_0x435861){var _0xb99c4a=_0x435861['count'],_0x565005=_0x544c57['offset'],_0x41dd20=_0x544c57[_0xe325('0x1b')]+_0x544c57['limit'],_0x157cbb;if(_0x41dd20>=_0xb99c4a){_0x41dd20=_0xb99c4a;_0x157cbb=0xc8;}else{_0x157cbb=0xce;}_0x14eae7[_0xe325('0x19')](_0x157cbb);return _0x14eae7[_0xe325('0x1c')]('Content-Range',_0x565005+'-'+_0x41dd20+'/'+_0xb99c4a)[_0xe325('0x1d')](_0x435861);}return null;};}function patchUpdates(_0x59ca9b){return function(_0x12b89f){try{jsonpatch[_0xe325('0x1e')](_0x12b89f,_0x59ca9b,!![]);}catch(_0x99becb){return BPromise[_0xe325('0x1f')](_0x99becb);}return _0x12b89f[_0xe325('0x20')]();};}function saveUpdates(_0x1da2d6,_0x5d43ed){return function(_0x5ed827){if(_0x5ed827){return _0x5ed827['update'](_0x1da2d6)[_0xe325('0x21')](function(_0x18dffc){return _0x18dffc;});}return null;};}function removeEntity(_0x2cf396,_0x301204){return function(_0x38e3b4){if(_0x38e3b4){return _0x38e3b4[_0xe325('0x22')]()[_0xe325('0x21')](function(){_0x2cf396[_0xe325('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x491aed,_0x298405){return function(_0x2641c8){if(!_0x2641c8){_0x491aed[_0xe325('0x18')](0x194);}return _0x2641c8;};}function handleError(_0x391450,_0x3c68f9){_0x3c68f9=_0x3c68f9||0x1f4;return function(_0x4d4264){logger[_0xe325('0x23')](_0x4d4264[_0xe325('0x24')]);if(_0x4d4264[_0xe325('0x25')]){delete _0x4d4264[_0xe325('0x25')];}_0x391450[_0xe325('0x19')](_0x3c68f9)['send'](_0x4d4264);};}exports['index']=function(_0x3d0696,_0x249ce6){var _0x1b7b26={},_0x5aec1d={},_0x2cd305={'count':0x0,'rows':[]};var _0x49ae13=_[_0xe325('0x26')](db[_0xe325('0x27')]['rawAttributes'],function(_0x5db379){return{'name':_0x5db379[_0xe325('0x28')],'type':_0x5db379[_0xe325('0x29')][_0xe325('0x2a')]};});_0x5aec1d[_0xe325('0x2b')]=_[_0xe325('0x26')](_0x49ae13,_0xe325('0x25'));_0x5aec1d[_0xe325('0x2c')]=_[_0xe325('0x2d')](_0x3d0696[_0xe325('0x2c')]);_0x5aec1d['filters']=_[_0xe325('0x2e')](_0x5aec1d[_0xe325('0x2b')],_0x5aec1d[_0xe325('0x2c')]);_0x1b7b26[_0xe325('0x2f')]=_['intersection'](_0x5aec1d[_0xe325('0x2b')],qs['fields'](_0x3d0696[_0xe325('0x2c')]['fields']));_0x1b7b26['attributes']=_0x1b7b26[_0xe325('0x2f')][_0xe325('0x30')]?_0x1b7b26[_0xe325('0x2f')]:_0x5aec1d[_0xe325('0x2b')];if(!_0x3d0696[_0xe325('0x2c')][_0xe325('0x31')]('nolimit')){_0x1b7b26[_0xe325('0x32')]=qs['limit'](_0x3d0696[_0xe325('0x2c')][_0xe325('0x32')]);_0x1b7b26[_0xe325('0x1b')]=qs[_0xe325('0x1b')](_0x3d0696['query'][_0xe325('0x1b')]);}_0x1b7b26[_0xe325('0x33')]=qs[_0xe325('0x34')](_0x3d0696[_0xe325('0x2c')][_0xe325('0x34')]);_0x1b7b26[_0xe325('0x35')]=qs['filters'](_[_0xe325('0x36')](_0x3d0696[_0xe325('0x2c')],_0x5aec1d[_0xe325('0x37')]),_0x49ae13);if(_0x3d0696[_0xe325('0x2c')]['filter']){_0x1b7b26[_0xe325('0x35')]=_[_0xe325('0x38')](_0x1b7b26['where'],{'$or':_[_0xe325('0x26')](_0x49ae13,function(_0x1532af){if(_0x1532af[_0xe325('0x29')]!==_0xe325('0x39')){var _0x47a376={};_0x47a376[_0x1532af['name']]={'$like':'%'+_0x3d0696[_0xe325('0x2c')]['filter']+'%'};return _0x47a376;}})});}_0x1b7b26=_[_0xe325('0x38')]({},_0x1b7b26,_0x3d0696[_0xe325('0x3a')]);var _0x133cc9={'where':_0x1b7b26[_0xe325('0x35')]};return db[_0xe325('0x27')][_0xe325('0x3b')](_0x133cc9)[_0xe325('0x21')](function(_0x378ee5){_0x2cd305[_0xe325('0x3b')]=_0x378ee5;if(_0x3d0696['query']['includeAll']){_0x1b7b26[_0xe325('0x3c')]=[{'all':!![]}];}return db[_0xe325('0x27')][_0xe325('0x3d')](_0x1b7b26);})['then'](function(_0x566f67){_0x2cd305[_0xe325('0x3e')]=_0x566f67;return _0x2cd305;})[_0xe325('0x21')](respondWithFilteredResult(_0x249ce6,_0x1b7b26))[_0xe325('0x3f')](handleError(_0x249ce6,null));};exports[_0xe325('0x40')]=function(_0xc62ec0,_0x59f947){var _0xae14d8={'raw':![],'where':{'id':_0xc62ec0[_0xe325('0x41')]['id']}},_0x48b078={};_0x48b078['model']=_[_0xe325('0x2d')](db[_0xe325('0x27')][_0xe325('0x42')]);_0x48b078[_0xe325('0x2c')]=_[_0xe325('0x2d')](_0xc62ec0[_0xe325('0x2c')]);_0x48b078[_0xe325('0x37')]=_[_0xe325('0x2e')](_0x48b078[_0xe325('0x2b')],_0x48b078[_0xe325('0x2c')]);_0xae14d8[_0xe325('0x2f')]=_[_0xe325('0x2e')](_0x48b078[_0xe325('0x2b')],qs[_0xe325('0x43')](_0xc62ec0['query'][_0xe325('0x43')]));_0xae14d8['attributes']=_0xae14d8[_0xe325('0x2f')][_0xe325('0x30')]?_0xae14d8[_0xe325('0x2f')]:_0x48b078['model'];if(_0xc62ec0[_0xe325('0x2c')][_0xe325('0x44')]){_0xae14d8[_0xe325('0x3c')]=[{'all':!![]}];}_0xae14d8=_[_0xe325('0x38')]({},_0xae14d8,_0xc62ec0[_0xe325('0x3a')]);return db[_0xe325('0x27')][_0xe325('0x45')](_0xae14d8)[_0xe325('0x21')](handleEntityNotFound(_0x59f947,null))[_0xe325('0x21')](respondWithResult(_0x59f947,null))[_0xe325('0x3f')](handleError(_0x59f947,null));};exports[_0xe325('0x46')]=function(_0x365e59,_0x265a6c){return db[_0xe325('0x27')]['create'](_0x365e59['body'],{})[_0xe325('0x21')](respondWithResult(_0x265a6c,0xc9))[_0xe325('0x3f')](handleError(_0x265a6c,null));};exports[_0xe325('0x47')]=function(_0xeb2235,_0x3c6ead){return db[_0xe325('0x27')][_0xe325('0x47')](_0xeb2235[_0xe325('0x48')],{'raw':![],'individualHooks':!![]})[_0xe325('0x21')](respondWithResult(_0x3c6ead,0xc9))[_0xe325('0x3f')](handleError(_0x3c6ead,null));};exports[_0xe325('0x49')]=function(_0x464ca5,_0x37299b){if(_0x464ca5[_0xe325('0x48')]['id']){delete _0x464ca5[_0xe325('0x48')]['id'];}return db[_0xe325('0x27')][_0xe325('0x45')]({'where':{'id':_0x464ca5['params']['id']}})['then'](handleEntityNotFound(_0x37299b,null))[_0xe325('0x21')](saveUpdates(_0x464ca5[_0xe325('0x48')],null))[_0xe325('0x21')](respondWithResult(_0x37299b,null))[_0xe325('0x3f')](handleError(_0x37299b,null));};exports[_0xe325('0x22')]=function(_0x5eeb9c,_0x27d10e){return db[_0xe325('0x27')]['find']({'where':{'id':_0x5eeb9c[_0xe325('0x41')]['id']}})[_0xe325('0x21')](handleEntityNotFound(_0x27d10e,null))[_0xe325('0x21')](removeEntity(_0x27d10e,null))[_0xe325('0x3f')](handleError(_0x27d10e,null));};exports['bulkDestroy']=function(_0x31c9af,_0x41f249){return db[_0xe325('0x27')]['destroy']({'where':{'id':_0x31c9af[_0xe325('0x2c')][_0xe325('0x4a')]||[]},'raw':![],'individualHooks':!![]})[_0xe325('0x21')](respondWithResult(_0x41f249,0xcc))['catch'](handleError(_0x41f249,null));};exports[_0xe325('0x4b')]=function(_0x2d1403,_0x12ac80,_0x2a611b){return db[_0xe325('0x4c')]['findOne']({'where':{'id':_0x2d1403[_0xe325('0x41')]['id']}})[_0xe325('0x21')](handleEntityNotFound(_0x12ac80,null))[_0xe325('0x21')](function(_0x4ffebb){if(_0x4ffebb){return db[_0xe325('0x4d')][_0xe325('0x4e')](function(_0x508c74){return db[_0xe325('0x27')]['destroy']({'where':{'CustomReportId':_0x2d1403[_0xe325('0x41')]['id']},'transaction':_0x508c74})[_0xe325('0x21')](function(_0x352a39){var _0x1db9db=_[_0xe325('0x26')](_0x2d1403['body'],function(_0x284228){delete _0x284228['id'];_0x284228[_0xe325('0x4f')]=_0x2d1403[_0xe325('0x41')]['id'];return _0x284228;});return db[_0xe325('0x27')]['bulkCreate'](_0x1db9db,{'transaction':_0x508c74});});})[_0xe325('0x21')](function(){return db[_0xe325('0x27')][_0xe325('0x3d')]({'where':{'CustomReportId':_0x2d1403[_0xe325('0x41')]['id']}});});}})['then'](respondWithResult(_0x12ac80,null))['catch'](handleError(_0x12ac80,null));};