Built motion from commit d6d69adf.|2.6.33
[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 _0xa32e=['to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','sendStatus','error','stack','name','map','IntegrationReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','order','sort','where','filters','pick','VIRTUAL','filter','merge','options','includeAll','findAll','rows','catch','show','params','length','include','create','body','update','find','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox'];(function(_0x138adb,_0x193fee){var _0x1b27f2=function(_0x5e97a2){while(--_0x5e97a2){_0x138adb['push'](_0x138adb['shift']());}};_0x1b27f2(++_0x193fee);}(_0xa32e,0x95));var _0xea32=function(_0xaf326d,_0xc3a37c){_0xaf326d=_0xaf326d-0x0;var _0x4aacda=_0xa32e[_0xaf326d];return _0x4aacda;};'use strict';var emlformat=require(_0xea32('0x0'));var rimraf=require(_0xea32('0x1'));var zipdir=require(_0xea32('0x2'));var jsonpatch=require(_0xea32('0x3'));var rp=require(_0xea32('0x4'));var moment=require(_0xea32('0x5'));var BPromise=require(_0xea32('0x6'));var Mustache=require(_0xea32('0x7'));var util=require(_0xea32('0x8'));var path=require(_0xea32('0x9'));var sox=require(_0xea32('0xa'));var csv=require(_0xea32('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xea32('0xc'));var _=require(_0xea32('0xd'));var squel=require(_0xea32('0xe'));var crypto=require(_0xea32('0xf'));var jsforce=require(_0xea32('0x10'));var deskjs=require(_0xea32('0x11'));var toCsv=require(_0xea32('0xb'));var querystring=require(_0xea32('0x12'));var Papa=require(_0xea32('0x13'));var Redis=require(_0xea32('0x14'));var authService=require(_0xea32('0x15'));var qs=require(_0xea32('0x16'));var as=require(_0xea32('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xea32('0x18'));var utils=require(_0xea32('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xea32('0x1a'));var db=require(_0xea32('0x1b'))['db'];function respondWithStatusCode(_0x2229f3,_0x1c0ebb){_0x1c0ebb=_0x1c0ebb||0xcc;return function(_0x5f1aae){if(_0x5f1aae){return _0x2229f3['sendStatus'](_0x1c0ebb);}return _0x2229f3[_0xea32('0x1c')](_0x1c0ebb)[_0xea32('0x1d')]();};}function respondWithResult(_0x58200a,_0x1bf3eb){_0x1bf3eb=_0x1bf3eb||0xc8;return function(_0x59006d){if(_0x59006d){return _0x58200a[_0xea32('0x1c')](_0x1bf3eb)[_0xea32('0x1e')](_0x59006d);}};}function respondWithFilteredResult(_0x180b9e,_0x4f9fb7){return function(_0x2e52f0){if(_0x2e52f0){var _0x397385=typeof _0x4f9fb7[_0xea32('0x1f')]===_0xea32('0x20')&&typeof _0x4f9fb7[_0xea32('0x21')]==='undefined';var _0x4ea20e=_0x2e52f0[_0xea32('0x22')];var _0x248ba4=_0x397385?0x0:_0x4f9fb7[_0xea32('0x1f')];var _0x3d1b63=_0x397385?_0x2e52f0['count']:_0x4f9fb7[_0xea32('0x1f')]+_0x4f9fb7['limit'];var _0x1b1fc5;if(_0x3d1b63>=_0x4ea20e){_0x3d1b63=_0x4ea20e;_0x1b1fc5=0xc8;}else{_0x1b1fc5=0xce;}_0x180b9e['status'](_0x1b1fc5);return _0x180b9e[_0xea32('0x23')](_0xea32('0x24'),_0x248ba4+'-'+_0x3d1b63+'/'+_0x4ea20e)[_0xea32('0x1e')](_0x2e52f0);}return null;};}function patchUpdates(_0x2ba5bb){return function(_0x2af315){try{jsonpatch[_0xea32('0x25')](_0x2af315,_0x2ba5bb,!![]);}catch(_0x1cca36){return BPromise[_0xea32('0x26')](_0x1cca36);}return _0x2af315[_0xea32('0x27')]();};}function saveUpdates(_0xcfc2c,_0x2fd430){return function(_0x433315){if(_0x433315){return _0x433315['update'](_0xcfc2c)[_0xea32('0x28')](function(_0x51f1f1){return _0x51f1f1;});}return null;};}function removeEntity(_0x4d9890,_0x49a2fa){return function(_0x3a08c7){if(_0x3a08c7){return _0x3a08c7['destroy']()[_0xea32('0x28')](function(){_0x4d9890[_0xea32('0x1c')](0xcc)[_0xea32('0x1d')]();});}};}function handleEntityNotFound(_0x388d39,_0x114bf1){return function(_0x348442){if(!_0x348442){_0x388d39[_0xea32('0x29')](0x194);}return _0x348442;};}function handleError(_0xdac2da,_0x44c0ab){_0x44c0ab=_0x44c0ab||0x1f4;return function(_0x51ad89){logger[_0xea32('0x2a')](_0x51ad89[_0xea32('0x2b')]);if(_0x51ad89[_0xea32('0x2c')]){delete _0x51ad89[_0xea32('0x2c')];}_0xdac2da[_0xea32('0x1c')](_0x44c0ab)['send'](_0x51ad89);};}exports['index']=function(_0x3e8cc8,_0x162df6){var _0x39fb12={},_0x235efe={},_0x1b4c58={'count':0x0,'rows':[]};var _0x41023d=_[_0xea32('0x2d')](db[_0xea32('0x2e')][_0xea32('0x2f')],function(_0x584e3e){return{'name':_0x584e3e[_0xea32('0x30')],'type':_0x584e3e[_0xea32('0x31')][_0xea32('0x32')]};});_0x235efe[_0xea32('0x33')]=_[_0xea32('0x2d')](_0x41023d,_0xea32('0x2c'));_0x235efe[_0xea32('0x34')]=_[_0xea32('0x35')](_0x3e8cc8['query']);_0x235efe['filters']=_[_0xea32('0x36')](_0x235efe[_0xea32('0x33')],_0x235efe['query']);_0x39fb12[_0xea32('0x37')]=_[_0xea32('0x36')](_0x235efe['model'],qs[_0xea32('0x38')](_0x3e8cc8[_0xea32('0x34')][_0xea32('0x38')]));_0x39fb12[_0xea32('0x37')]=_0x39fb12[_0xea32('0x37')]['length']?_0x39fb12['attributes']:_0x235efe[_0xea32('0x33')];if(!_0x3e8cc8[_0xea32('0x34')]['hasOwnProperty']('nolimit')){_0x39fb12['limit']=qs[_0xea32('0x21')](_0x3e8cc8['query']['limit']);_0x39fb12[_0xea32('0x1f')]=qs[_0xea32('0x1f')](_0x3e8cc8[_0xea32('0x34')][_0xea32('0x1f')]);}_0x39fb12[_0xea32('0x39')]=qs[_0xea32('0x3a')](_0x3e8cc8[_0xea32('0x34')][_0xea32('0x3a')]);_0x39fb12[_0xea32('0x3b')]=qs[_0xea32('0x3c')](_[_0xea32('0x3d')](_0x3e8cc8[_0xea32('0x34')],_0x235efe[_0xea32('0x3c')]),_0x41023d);if(_0x3e8cc8[_0xea32('0x34')]['filter']){_0x39fb12[_0xea32('0x3b')]=_['merge'](_0x39fb12[_0xea32('0x3b')],{'$or':_[_0xea32('0x2d')](_0x41023d,function(_0x20c096){if(_0x20c096[_0xea32('0x31')]!==_0xea32('0x3e')){var _0x18ac44={};_0x18ac44[_0x20c096[_0xea32('0x2c')]]={'$like':'%'+_0x3e8cc8[_0xea32('0x34')][_0xea32('0x3f')]+'%'};return _0x18ac44;}})});}_0x39fb12=_[_0xea32('0x40')]({},_0x39fb12,_0x3e8cc8[_0xea32('0x41')]);var _0x5f4409={'where':_0x39fb12[_0xea32('0x3b')]};return db[_0xea32('0x2e')][_0xea32('0x22')](_0x5f4409)[_0xea32('0x28')](function(_0x1cbf27){_0x1b4c58['count']=_0x1cbf27;if(_0x3e8cc8[_0xea32('0x34')][_0xea32('0x42')]){_0x39fb12['include']=[{'all':!![]}];}return db[_0xea32('0x2e')][_0xea32('0x43')](_0x39fb12);})[_0xea32('0x28')](function(_0x3c61eb){_0x1b4c58[_0xea32('0x44')]=_0x3c61eb;return _0x1b4c58;})[_0xea32('0x28')](respondWithFilteredResult(_0x162df6,_0x39fb12))[_0xea32('0x45')](handleError(_0x162df6,null));};exports[_0xea32('0x46')]=function(_0x5e792e,_0x3a82e6){var _0x4d5f35={'raw':![],'where':{'id':_0x5e792e[_0xea32('0x47')]['id']}},_0x2726bc={};_0x2726bc['model']=_[_0xea32('0x35')](db[_0xea32('0x2e')][_0xea32('0x2f')]);_0x2726bc[_0xea32('0x34')]=_['keys'](_0x5e792e['query']);_0x2726bc[_0xea32('0x3c')]=_[_0xea32('0x36')](_0x2726bc[_0xea32('0x33')],_0x2726bc[_0xea32('0x34')]);_0x4d5f35[_0xea32('0x37')]=_[_0xea32('0x36')](_0x2726bc[_0xea32('0x33')],qs[_0xea32('0x38')](_0x5e792e[_0xea32('0x34')]['fields']));_0x4d5f35[_0xea32('0x37')]=_0x4d5f35['attributes'][_0xea32('0x48')]?_0x4d5f35[_0xea32('0x37')]:_0x2726bc['model'];if(_0x5e792e['query'][_0xea32('0x42')]){_0x4d5f35[_0xea32('0x49')]=[{'all':!![]}];}_0x4d5f35=_[_0xea32('0x40')]({},_0x4d5f35,_0x5e792e[_0xea32('0x41')]);return db[_0xea32('0x2e')]['find'](_0x4d5f35)[_0xea32('0x28')](handleEntityNotFound(_0x3a82e6,null))[_0xea32('0x28')](respondWithResult(_0x3a82e6,null))[_0xea32('0x45')](handleError(_0x3a82e6,null));};exports[_0xea32('0x4a')]=function(_0x2c82fa,_0x334d84){return db[_0xea32('0x2e')][_0xea32('0x4a')](_0x2c82fa[_0xea32('0x4b')],{})[_0xea32('0x28')](respondWithResult(_0x334d84,0xc9))[_0xea32('0x45')](handleError(_0x334d84,null));};exports[_0xea32('0x4c')]=function(_0x4df22f,_0x3028d3){if(_0x4df22f[_0xea32('0x4b')]['id']){delete _0x4df22f[_0xea32('0x4b')]['id'];}return db['IntegrationReport'][_0xea32('0x4d')]({'where':{'id':_0x4df22f['params']['id']}})[_0xea32('0x28')](handleEntityNotFound(_0x3028d3,null))[_0xea32('0x28')](saveUpdates(_0x4df22f[_0xea32('0x4b')],null))[_0xea32('0x28')](respondWithResult(_0x3028d3,null))[_0xea32('0x45')](handleError(_0x3028d3,null));};exports[_0xea32('0x4e')]=function(_0x366268,_0x491ff0){return db['IntegrationReport'][_0xea32('0x4d')]({'where':{'id':_0x366268[_0xea32('0x47')]['id']}})[_0xea32('0x28')](handleEntityNotFound(_0x491ff0,null))[_0xea32('0x28')](removeEntity(_0x491ff0,null))[_0xea32('0x45')](handleError(_0x491ff0,null));};exports[_0xea32('0x4f')]=function(_0x52ae9a,_0x1ba86c){return db[_0xea32('0x2e')][_0xea32('0x4f')]()['then'](respondWithResult(_0x1ba86c,null))['catch'](handleError(_0x1ba86c,null));};