Built motion from commit 08fb8613.|2.6.31
[motion2.git] / server / api / integrationReport / integrationReport.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 _0xdca6=['ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','index','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','IntegrationReport','includeAll','include','rows','catch','params','keys','length','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','querystring'];(function(_0x34dff7,_0x2bfb9b){var _0x2a78c0=function(_0x510f32){while(--_0x510f32){_0x34dff7['push'](_0x34dff7['shift']());}};_0x2a78c0(++_0x2bfb9b);}(_0xdca6,0x120));var _0x6dca=function(_0x2258c4,_0x439147){_0x2258c4=_0x2258c4-0x0;var _0x167131=_0xdca6[_0x2258c4];return _0x167131;};'use strict';var emlformat=require(_0x6dca('0x0'));var rimraf=require(_0x6dca('0x1'));var zipdir=require(_0x6dca('0x2'));var jsonpatch=require(_0x6dca('0x3'));var rp=require(_0x6dca('0x4'));var moment=require('moment');var BPromise=require(_0x6dca('0x5'));var Mustache=require(_0x6dca('0x6'));var util=require('util');var path=require(_0x6dca('0x7'));var sox=require(_0x6dca('0x8'));var csv=require('to-csv');var ejs=require(_0x6dca('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6dca('0xa'));var squel=require(_0x6dca('0xb'));var crypto=require(_0x6dca('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x6dca('0xd'));var toCsv=require(_0x6dca('0xe'));var querystring=require(_0x6dca('0xf'));var Papa=require('papaparse');var Redis=require(_0x6dca('0x10'));var authService=require(_0x6dca('0x11'));var qs=require(_0x6dca('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x6dca('0x13'))(_0x6dca('0x14'));var utils=require(_0x6dca('0x15'));var config=require(_0x6dca('0x16'));var licenseUtil=require(_0x6dca('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5e0428,_0x46972b){_0x46972b=_0x46972b||0xcc;return function(_0x44da1f){if(_0x44da1f){return _0x5e0428[_0x6dca('0x18')](_0x46972b);}return _0x5e0428[_0x6dca('0x19')](_0x46972b)[_0x6dca('0x1a')]();};}function respondWithResult(_0x1e1814,_0x1c2788){_0x1c2788=_0x1c2788||0xc8;return function(_0x246ce9){if(_0x246ce9){return _0x1e1814[_0x6dca('0x19')](_0x1c2788)[_0x6dca('0x1b')](_0x246ce9);}};}function respondWithFilteredResult(_0x18b5c7,_0x539213){return function(_0x104ce8){if(_0x104ce8){var _0x1d7b0c=typeof _0x539213[_0x6dca('0x1c')]===_0x6dca('0x1d')&&typeof _0x539213['limit']===_0x6dca('0x1d');var _0x2b9c92=_0x104ce8[_0x6dca('0x1e')];var _0x44c4c7=_0x1d7b0c?0x0:_0x539213[_0x6dca('0x1c')];var _0xcde1d0=_0x1d7b0c?_0x104ce8[_0x6dca('0x1e')]:_0x539213['offset']+_0x539213[_0x6dca('0x1f')];var _0x481787;if(_0xcde1d0>=_0x2b9c92){_0xcde1d0=_0x2b9c92;_0x481787=0xc8;}else{_0x481787=0xce;}_0x18b5c7[_0x6dca('0x19')](_0x481787);return _0x18b5c7[_0x6dca('0x20')](_0x6dca('0x21'),_0x44c4c7+'-'+_0xcde1d0+'/'+_0x2b9c92)[_0x6dca('0x1b')](_0x104ce8);}return null;};}function patchUpdates(_0x524244){return function(_0xb3ed39){try{jsonpatch['apply'](_0xb3ed39,_0x524244,!![]);}catch(_0xe4ecd4){return BPromise[_0x6dca('0x22')](_0xe4ecd4);}return _0xb3ed39[_0x6dca('0x23')]();};}function saveUpdates(_0x4227a4,_0x2a87b8){return function(_0x53e282){if(_0x53e282){return _0x53e282[_0x6dca('0x24')](_0x4227a4)[_0x6dca('0x25')](function(_0x21ddef){return _0x21ddef;});}return null;};}function removeEntity(_0x81d528,_0x5b2239){return function(_0x8391b6){if(_0x8391b6){return _0x8391b6[_0x6dca('0x26')]()[_0x6dca('0x25')](function(){_0x81d528[_0x6dca('0x19')](0xcc)[_0x6dca('0x1a')]();});}};}function handleEntityNotFound(_0x4b2bb9,_0x20a51c){return function(_0x1d85cc){if(!_0x1d85cc){_0x4b2bb9[_0x6dca('0x18')](0x194);}return _0x1d85cc;};}function handleError(_0x1e4770,_0x1e08aa){_0x1e08aa=_0x1e08aa||0x1f4;return function(_0x1786ca){logger[_0x6dca('0x27')](_0x1786ca[_0x6dca('0x28')]);if(_0x1786ca[_0x6dca('0x29')]){delete _0x1786ca[_0x6dca('0x29')];}_0x1e4770[_0x6dca('0x19')](_0x1e08aa)[_0x6dca('0x2a')](_0x1786ca);};}exports[_0x6dca('0x2b')]=function(_0x55164d,_0x3681f3){var _0x355e47={},_0xe2fbfb={},_0x40c47e={'count':0x0,'rows':[]};var _0x28216d=_['map'](db['IntegrationReport']['rawAttributes'],function(_0x2cdbb9){return{'name':_0x2cdbb9[_0x6dca('0x2c')],'type':_0x2cdbb9[_0x6dca('0x2d')][_0x6dca('0x2e')]};});_0xe2fbfb[_0x6dca('0x2f')]=_[_0x6dca('0x30')](_0x28216d,_0x6dca('0x29'));_0xe2fbfb[_0x6dca('0x31')]=_['keys'](_0x55164d[_0x6dca('0x31')]);_0xe2fbfb[_0x6dca('0x32')]=_[_0x6dca('0x33')](_0xe2fbfb[_0x6dca('0x2f')],_0xe2fbfb[_0x6dca('0x31')]);_0x355e47[_0x6dca('0x34')]=_[_0x6dca('0x33')](_0xe2fbfb[_0x6dca('0x2f')],qs['fields'](_0x55164d['query'][_0x6dca('0x35')]));_0x355e47[_0x6dca('0x34')]=_0x355e47['attributes']['length']?_0x355e47[_0x6dca('0x34')]:_0xe2fbfb['model'];if(!_0x55164d[_0x6dca('0x31')][_0x6dca('0x36')](_0x6dca('0x37'))){_0x355e47[_0x6dca('0x1f')]=qs['limit'](_0x55164d[_0x6dca('0x31')]['limit']);_0x355e47['offset']=qs[_0x6dca('0x1c')](_0x55164d[_0x6dca('0x31')][_0x6dca('0x1c')]);}_0x355e47[_0x6dca('0x38')]=qs[_0x6dca('0x39')](_0x55164d['query'][_0x6dca('0x39')]);_0x355e47[_0x6dca('0x3a')]=qs['filters'](_[_0x6dca('0x3b')](_0x55164d[_0x6dca('0x31')],_0xe2fbfb['filters']),_0x28216d);if(_0x55164d[_0x6dca('0x31')][_0x6dca('0x3c')]){_0x355e47[_0x6dca('0x3a')]=_[_0x6dca('0x3d')](_0x355e47['where'],{'$or':_[_0x6dca('0x30')](_0x28216d,function(_0x52871a){if(_0x52871a[_0x6dca('0x2d')]!==_0x6dca('0x3e')){var _0x46067c={};_0x46067c[_0x52871a[_0x6dca('0x29')]]={'$like':'%'+_0x55164d[_0x6dca('0x31')]['filter']+'%'};return _0x46067c;}})});}_0x355e47=_[_0x6dca('0x3d')]({},_0x355e47,_0x55164d[_0x6dca('0x3f')]);var _0x2256c3={'where':_0x355e47[_0x6dca('0x3a')]};return db[_0x6dca('0x40')][_0x6dca('0x1e')](_0x2256c3)['then'](function(_0x4ad9f7){_0x40c47e['count']=_0x4ad9f7;if(_0x55164d[_0x6dca('0x31')][_0x6dca('0x41')]){_0x355e47[_0x6dca('0x42')]=[{'all':!![]}];}return db['IntegrationReport']['findAll'](_0x355e47);})['then'](function(_0x22e635){_0x40c47e[_0x6dca('0x43')]=_0x22e635;return _0x40c47e;})[_0x6dca('0x25')](respondWithFilteredResult(_0x3681f3,_0x355e47))[_0x6dca('0x44')](handleError(_0x3681f3,null));};exports['show']=function(_0x4b7ecc,_0x15362f){var _0x196167={'raw':![],'where':{'id':_0x4b7ecc[_0x6dca('0x45')]['id']}},_0x413000={};_0x413000['model']=_[_0x6dca('0x46')](db[_0x6dca('0x40')]['rawAttributes']);_0x413000[_0x6dca('0x31')]=_[_0x6dca('0x46')](_0x4b7ecc['query']);_0x413000[_0x6dca('0x32')]=_[_0x6dca('0x33')](_0x413000[_0x6dca('0x2f')],_0x413000['query']);_0x196167[_0x6dca('0x34')]=_['intersection'](_0x413000['model'],qs['fields'](_0x4b7ecc[_0x6dca('0x31')][_0x6dca('0x35')]));_0x196167[_0x6dca('0x34')]=_0x196167[_0x6dca('0x34')][_0x6dca('0x47')]?_0x196167['attributes']:_0x413000[_0x6dca('0x2f')];if(_0x4b7ecc[_0x6dca('0x31')]['includeAll']){_0x196167[_0x6dca('0x42')]=[{'all':!![]}];}_0x196167=_['merge']({},_0x196167,_0x4b7ecc[_0x6dca('0x3f')]);return db[_0x6dca('0x40')][_0x6dca('0x48')](_0x196167)['then'](handleEntityNotFound(_0x15362f,null))[_0x6dca('0x25')](respondWithResult(_0x15362f,null))[_0x6dca('0x44')](handleError(_0x15362f,null));};exports['create']=function(_0x46c203,_0x1cd64c){return db[_0x6dca('0x40')][_0x6dca('0x49')](_0x46c203[_0x6dca('0x4a')],{})['then'](respondWithResult(_0x1cd64c,0xc9))[_0x6dca('0x44')](handleError(_0x1cd64c,null));};exports['update']=function(_0x1be635,_0x51663e){if(_0x1be635[_0x6dca('0x4a')]['id']){delete _0x1be635[_0x6dca('0x4a')]['id'];}return db[_0x6dca('0x40')][_0x6dca('0x48')]({'where':{'id':_0x1be635[_0x6dca('0x45')]['id']}})[_0x6dca('0x25')](handleEntityNotFound(_0x51663e,null))[_0x6dca('0x25')](saveUpdates(_0x1be635[_0x6dca('0x4a')],null))[_0x6dca('0x25')](respondWithResult(_0x51663e,null))[_0x6dca('0x44')](handleError(_0x51663e,null));};exports[_0x6dca('0x26')]=function(_0x4b549b,_0x5110b0){return db[_0x6dca('0x40')][_0x6dca('0x48')]({'where':{'id':_0x4b549b['params']['id']}})['then'](handleEntityNotFound(_0x5110b0,null))[_0x6dca('0x25')](removeEntity(_0x5110b0,null))[_0x6dca('0x44')](handleError(_0x5110b0,null));};exports['describe']=function(_0x47414c,_0x30e339){return db[_0x6dca('0x40')][_0x6dca('0x4b')]()[_0x6dca('0x25')](respondWithResult(_0x30e339,null))[_0x6dca('0x44')](handleError(_0x30e339,null));};