Built motion from commit e0fa946e.|2.6.5
[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 _0xadb8=['pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','rawAttributes','find','create','body','params','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','then','stack','name','send','index','IntegrationReport','type','key','map','keys','query','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters'];(function(_0x568ae7,_0x2b5fa3){var _0x257050=function(_0x43e8df){while(--_0x43e8df){_0x568ae7['push'](_0x568ae7['shift']());}};_0x257050(++_0x2b5fa3);}(_0xadb8,0x197));var _0x8adb=function(_0x336ca2,_0x1a813a){_0x336ca2=_0x336ca2-0x0;var _0xda59a6=_0xadb8[_0x336ca2];return _0xda59a6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8adb('0x0'));var zipdir=require(_0x8adb('0x1'));var jsonpatch=require(_0x8adb('0x2'));var rp=require(_0x8adb('0x3'));var moment=require(_0x8adb('0x4'));var BPromise=require(_0x8adb('0x5'));var Mustache=require(_0x8adb('0x6'));var util=require('util');var path=require(_0x8adb('0x7'));var sox=require(_0x8adb('0x8'));var csv=require(_0x8adb('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x8adb('0xa'));var _=require(_0x8adb('0xb'));var squel=require('squel');var crypto=require(_0x8adb('0xc'));var jsforce=require(_0x8adb('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x8adb('0x9'));var querystring=require('querystring');var Papa=require(_0x8adb('0xe'));var Redis=require(_0x8adb('0xf'));var authService=require(_0x8adb('0x10'));var qs=require(_0x8adb('0x11'));var as=require(_0x8adb('0x12'));var hardwareService=require(_0x8adb('0x13'));var logger=require(_0x8adb('0x14'))(_0x8adb('0x15'));var utils=require(_0x8adb('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x8adb('0x17'));var db=require(_0x8adb('0x18'))['db'];function respondWithStatusCode(_0x333caf,_0x48487f){_0x48487f=_0x48487f||0xcc;return function(_0x79bb86){if(_0x79bb86){return _0x333caf[_0x8adb('0x19')](_0x48487f);}return _0x333caf[_0x8adb('0x1a')](_0x48487f)[_0x8adb('0x1b')]();};}function respondWithResult(_0x5b578f,_0x531f25){_0x531f25=_0x531f25||0xc8;return function(_0x4dab60){if(_0x4dab60){return _0x5b578f[_0x8adb('0x1a')](_0x531f25)[_0x8adb('0x1c')](_0x4dab60);}};}function respondWithFilteredResult(_0x34a4eb,_0x5e56f1){return function(_0xa0b773){if(_0xa0b773){var _0x3838bb=typeof _0x5e56f1[_0x8adb('0x1d')]===_0x8adb('0x1e')&&typeof _0x5e56f1[_0x8adb('0x1f')]==='undefined';var _0x45368e=_0xa0b773['count'];var _0x1ada0a=_0x3838bb?0x0:_0x5e56f1[_0x8adb('0x1d')];var _0x31f5b8=_0x3838bb?_0xa0b773[_0x8adb('0x20')]:_0x5e56f1[_0x8adb('0x1d')]+_0x5e56f1[_0x8adb('0x1f')];var _0xd637f6;if(_0x31f5b8>=_0x45368e){_0x31f5b8=_0x45368e;_0xd637f6=0xc8;}else{_0xd637f6=0xce;}_0x34a4eb[_0x8adb('0x1a')](_0xd637f6);return _0x34a4eb[_0x8adb('0x21')](_0x8adb('0x22'),_0x1ada0a+'-'+_0x31f5b8+'/'+_0x45368e)[_0x8adb('0x1c')](_0xa0b773);}return null;};}function patchUpdates(_0x16fc87){return function(_0x32dd83){try{jsonpatch[_0x8adb('0x23')](_0x32dd83,_0x16fc87,!![]);}catch(_0x103b14){return BPromise[_0x8adb('0x24')](_0x103b14);}return _0x32dd83['save']();};}function saveUpdates(_0x31759e,_0x4374e5){return function(_0x3d6abe){if(_0x3d6abe){return _0x3d6abe[_0x8adb('0x25')](_0x31759e)['then'](function(_0x55ef63){return _0x55ef63;});}return null;};}function removeEntity(_0x4ec1bf,_0x275870){return function(_0x4eef14){if(_0x4eef14){return _0x4eef14[_0x8adb('0x26')]()[_0x8adb('0x27')](function(){_0x4ec1bf['status'](0xcc)[_0x8adb('0x1b')]();});}};}function handleEntityNotFound(_0x280dfa,_0x1f7025){return function(_0x55271a){if(!_0x55271a){_0x280dfa[_0x8adb('0x19')](0x194);}return _0x55271a;};}function handleError(_0x586796,_0x1243e4){_0x1243e4=_0x1243e4||0x1f4;return function(_0x1dbe9d){logger['error'](_0x1dbe9d[_0x8adb('0x28')]);if(_0x1dbe9d[_0x8adb('0x29')]){delete _0x1dbe9d[_0x8adb('0x29')];}_0x586796[_0x8adb('0x1a')](_0x1243e4)[_0x8adb('0x2a')](_0x1dbe9d);};}exports[_0x8adb('0x2b')]=function(_0x592483,_0x3d5fd6){var _0x7d0c2c={},_0x3a0ef0={},_0x430313={'count':0x0,'rows':[]};var _0x1c2902=_['map'](db[_0x8adb('0x2c')]['rawAttributes'],function(_0x222bad){return{'name':_0x222bad['fieldName'],'type':_0x222bad[_0x8adb('0x2d')][_0x8adb('0x2e')]};});_0x3a0ef0['model']=_[_0x8adb('0x2f')](_0x1c2902,_0x8adb('0x29'));_0x3a0ef0['query']=_[_0x8adb('0x30')](_0x592483[_0x8adb('0x31')]);_0x3a0ef0['filters']=_['intersection'](_0x3a0ef0[_0x8adb('0x32')],_0x3a0ef0['query']);_0x7d0c2c[_0x8adb('0x33')]=_[_0x8adb('0x34')](_0x3a0ef0[_0x8adb('0x32')],qs[_0x8adb('0x35')](_0x592483[_0x8adb('0x31')]['fields']));_0x7d0c2c[_0x8adb('0x33')]=_0x7d0c2c[_0x8adb('0x33')][_0x8adb('0x36')]?_0x7d0c2c['attributes']:_0x3a0ef0['model'];if(!_0x592483[_0x8adb('0x31')][_0x8adb('0x37')](_0x8adb('0x38'))){_0x7d0c2c[_0x8adb('0x1f')]=qs[_0x8adb('0x1f')](_0x592483[_0x8adb('0x31')][_0x8adb('0x1f')]);_0x7d0c2c[_0x8adb('0x1d')]=qs[_0x8adb('0x1d')](_0x592483[_0x8adb('0x31')]['offset']);}_0x7d0c2c[_0x8adb('0x39')]=qs[_0x8adb('0x3a')](_0x592483['query'][_0x8adb('0x3a')]);_0x7d0c2c[_0x8adb('0x3b')]=qs[_0x8adb('0x3c')](_[_0x8adb('0x3d')](_0x592483[_0x8adb('0x31')],_0x3a0ef0['filters']),_0x1c2902);if(_0x592483[_0x8adb('0x31')][_0x8adb('0x3e')]){_0x7d0c2c[_0x8adb('0x3b')]=_[_0x8adb('0x3f')](_0x7d0c2c['where'],{'$or':_[_0x8adb('0x2f')](_0x1c2902,function(_0x2aad73){if(_0x2aad73[_0x8adb('0x2d')]!==_0x8adb('0x40')){var _0x356c45={};_0x356c45[_0x2aad73[_0x8adb('0x29')]]={'$like':'%'+_0x592483[_0x8adb('0x31')][_0x8adb('0x3e')]+'%'};return _0x356c45;}})});}_0x7d0c2c=_[_0x8adb('0x3f')]({},_0x7d0c2c,_0x592483[_0x8adb('0x41')]);var _0x593110={'where':_0x7d0c2c[_0x8adb('0x3b')]};return db['IntegrationReport']['count'](_0x593110)[_0x8adb('0x27')](function(_0x4f4417){_0x430313[_0x8adb('0x20')]=_0x4f4417;if(_0x592483[_0x8adb('0x31')][_0x8adb('0x42')]){_0x7d0c2c[_0x8adb('0x43')]=[{'all':!![]}];}return db[_0x8adb('0x2c')][_0x8adb('0x44')](_0x7d0c2c);})[_0x8adb('0x27')](function(_0x1c6fe8){_0x430313[_0x8adb('0x45')]=_0x1c6fe8;return _0x430313;})[_0x8adb('0x27')](respondWithFilteredResult(_0x3d5fd6,_0x7d0c2c))[_0x8adb('0x46')](handleError(_0x3d5fd6,null));};exports[_0x8adb('0x47')]=function(_0x14095a,_0x2c60cb){var _0x1f0709={'raw':![],'where':{'id':_0x14095a['params']['id']}},_0x1a5589={};_0x1a5589[_0x8adb('0x32')]=_[_0x8adb('0x30')](db['IntegrationReport'][_0x8adb('0x48')]);_0x1a5589[_0x8adb('0x31')]=_[_0x8adb('0x30')](_0x14095a['query']);_0x1a5589[_0x8adb('0x3c')]=_[_0x8adb('0x34')](_0x1a5589[_0x8adb('0x32')],_0x1a5589[_0x8adb('0x31')]);_0x1f0709[_0x8adb('0x33')]=_[_0x8adb('0x34')](_0x1a5589[_0x8adb('0x32')],qs[_0x8adb('0x35')](_0x14095a[_0x8adb('0x31')][_0x8adb('0x35')]));_0x1f0709['attributes']=_0x1f0709['attributes']['length']?_0x1f0709[_0x8adb('0x33')]:_0x1a5589['model'];if(_0x14095a['query'][_0x8adb('0x42')]){_0x1f0709[_0x8adb('0x43')]=[{'all':!![]}];}_0x1f0709=_[_0x8adb('0x3f')]({},_0x1f0709,_0x14095a[_0x8adb('0x41')]);return db[_0x8adb('0x2c')][_0x8adb('0x49')](_0x1f0709)[_0x8adb('0x27')](handleEntityNotFound(_0x2c60cb,null))[_0x8adb('0x27')](respondWithResult(_0x2c60cb,null))[_0x8adb('0x46')](handleError(_0x2c60cb,null));};exports[_0x8adb('0x4a')]=function(_0x4222c9,_0xb3dba5){return db[_0x8adb('0x2c')][_0x8adb('0x4a')](_0x4222c9[_0x8adb('0x4b')],{})[_0x8adb('0x27')](respondWithResult(_0xb3dba5,0xc9))[_0x8adb('0x46')](handleError(_0xb3dba5,null));};exports['update']=function(_0x1262b0,_0x14ccc1){if(_0x1262b0[_0x8adb('0x4b')]['id']){delete _0x1262b0[_0x8adb('0x4b')]['id'];}return db[_0x8adb('0x2c')][_0x8adb('0x49')]({'where':{'id':_0x1262b0[_0x8adb('0x4c')]['id']}})[_0x8adb('0x27')](handleEntityNotFound(_0x14ccc1,null))[_0x8adb('0x27')](saveUpdates(_0x1262b0['body'],null))['then'](respondWithResult(_0x14ccc1,null))[_0x8adb('0x46')](handleError(_0x14ccc1,null));};exports[_0x8adb('0x26')]=function(_0x29c5c7,_0x548e0c){return db[_0x8adb('0x2c')][_0x8adb('0x49')]({'where':{'id':_0x29c5c7[_0x8adb('0x4c')]['id']}})['then'](handleEntityNotFound(_0x548e0c,null))[_0x8adb('0x27')](removeEntity(_0x548e0c,null))[_0x8adb('0x46')](handleError(_0x548e0c,null));};exports['describe']=function(_0x136c70,_0x281bf2){return db['IntegrationReport'][_0x8adb('0x4d')]()[_0x8adb('0x27')](respondWithResult(_0x281bf2,null))['catch'](handleError(_0x281bf2,null));};