826d9ba26c734c8488a08aaec6ae533aefa1f70a
[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 _0xb78e=['describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','Content-Range','apply','update','then','error','stack','name','send','map','IntegrationReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','merge','options','count','includeAll','include','rows','catch','show','params','keys','length','create','body','find'];(function(_0x23a757,_0x22f2d1){var _0x4359b3=function(_0x1a1923){while(--_0x1a1923){_0x23a757['push'](_0x23a757['shift']());}};_0x4359b3(++_0x22f2d1);}(_0xb78e,0x1c9));var _0xeb78=function(_0xc765,_0x8e6b67){_0xc765=_0xc765-0x0;var _0x14b8bf=_0xb78e[_0xc765];return _0x14b8bf;};'use strict';var pdf=require(_0xeb78('0x0'));var emlformat=require(_0xeb78('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xeb78('0x2'));var jsonpatch=require(_0xeb78('0x3'));var rp=require(_0xeb78('0x4'));var moment=require(_0xeb78('0x5'));var BPromise=require(_0xeb78('0x6'));var Mustache=require(_0xeb78('0x7'));var util=require(_0xeb78('0x8'));var path=require(_0xeb78('0x9'));var sox=require('sox');var csv=require(_0xeb78('0xa'));var ejs=require(_0xeb78('0xb'));var fs=require('fs');var _=require(_0xeb78('0xc'));var squel=require(_0xeb78('0xd'));var crypto=require(_0xeb78('0xe'));var jsforce=require(_0xeb78('0xf'));var deskjs=require(_0xeb78('0x10'));var toCsv=require('to-csv');var querystring=require(_0xeb78('0x11'));var Papa=require(_0xeb78('0x12'));var Redis=require(_0xeb78('0x13'));var authService=require(_0xeb78('0x14'));var qs=require(_0xeb78('0x15'));var as=require(_0xeb78('0x16'));var hardwareService=require(_0xeb78('0x17'));var logger=require(_0xeb78('0x18'))(_0xeb78('0x19'));var utils=require('../../config/utils');var config=require(_0xeb78('0x1a'));var db=require(_0xeb78('0x1b'))['db'];function respondWithStatusCode(_0x3725e3,_0x259df2){_0x259df2=_0x259df2||0xcc;return function(_0x9dbe51){if(_0x9dbe51){return _0x3725e3[_0xeb78('0x1c')](_0x259df2);}return _0x3725e3[_0xeb78('0x1d')](_0x259df2)[_0xeb78('0x1e')]();};}function respondWithResult(_0x41bec0,_0x9bcc79){_0x9bcc79=_0x9bcc79||0xc8;return function(_0x5d50cf){if(_0x5d50cf){return _0x41bec0[_0xeb78('0x1d')](_0x9bcc79)[_0xeb78('0x1f')](_0x5d50cf);}};}function respondWithFilteredResult(_0x4e8b8c,_0x538485){return function(_0x53be89){if(_0x53be89){var _0x23a0d0=_0x53be89['count'],_0x50ebae=_0x538485[_0xeb78('0x20')],_0xa28d5e=_0x538485['offset']+_0x538485[_0xeb78('0x21')],_0x247cb1;if(_0xa28d5e>=_0x23a0d0){_0xa28d5e=_0x23a0d0;_0x247cb1=0xc8;}else{_0x247cb1=0xce;}_0x4e8b8c[_0xeb78('0x1d')](_0x247cb1);return _0x4e8b8c['set'](_0xeb78('0x22'),_0x50ebae+'-'+_0xa28d5e+'/'+_0x23a0d0)[_0xeb78('0x1f')](_0x53be89);}return null;};}function patchUpdates(_0x1cb338){return function(_0x5368ad){try{jsonpatch[_0xeb78('0x23')](_0x5368ad,_0x1cb338,!![]);}catch(_0x2c43c5){return BPromise['reject'](_0x2c43c5);}return _0x5368ad['save']();};}function saveUpdates(_0x455e30,_0x106c5d){return function(_0x42eacb){if(_0x42eacb){return _0x42eacb[_0xeb78('0x24')](_0x455e30)[_0xeb78('0x25')](function(_0x425de5){return _0x425de5;});}return null;};}function removeEntity(_0x2cf7cc,_0x3ea071){return function(_0x18f08d){if(_0x18f08d){return _0x18f08d['destroy']()['then'](function(){_0x2cf7cc['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3c8e66,_0x5b15d8){return function(_0x2159c1){if(!_0x2159c1){_0x3c8e66[_0xeb78('0x1c')](0x194);}return _0x2159c1;};}function handleError(_0x566336,_0x777ca3){_0x777ca3=_0x777ca3||0x1f4;return function(_0x4ac816){logger[_0xeb78('0x26')](_0x4ac816[_0xeb78('0x27')]);if(_0x4ac816[_0xeb78('0x28')]){delete _0x4ac816[_0xeb78('0x28')];}_0x566336['status'](_0x777ca3)[_0xeb78('0x29')](_0x4ac816);};}exports['index']=function(_0x31ad03,_0x23295a){var _0x4493bb={},_0x5263fc={},_0x1028ba={'count':0x0,'rows':[]};var _0x1e7d56=_[_0xeb78('0x2a')](db[_0xeb78('0x2b')][_0xeb78('0x2c')],function(_0x3516b8){return{'name':_0x3516b8[_0xeb78('0x2d')],'type':_0x3516b8[_0xeb78('0x2e')][_0xeb78('0x2f')]};});_0x5263fc[_0xeb78('0x30')]=_[_0xeb78('0x2a')](_0x1e7d56,'name');_0x5263fc['query']=_['keys'](_0x31ad03[_0xeb78('0x31')]);_0x5263fc[_0xeb78('0x32')]=_[_0xeb78('0x33')](_0x5263fc['model'],_0x5263fc[_0xeb78('0x31')]);_0x4493bb[_0xeb78('0x34')]=_[_0xeb78('0x33')](_0x5263fc[_0xeb78('0x30')],qs[_0xeb78('0x35')](_0x31ad03[_0xeb78('0x31')][_0xeb78('0x35')]));_0x4493bb[_0xeb78('0x34')]=_0x4493bb[_0xeb78('0x34')]['length']?_0x4493bb[_0xeb78('0x34')]:_0x5263fc['model'];if(!_0x31ad03[_0xeb78('0x31')][_0xeb78('0x36')](_0xeb78('0x37'))){_0x4493bb[_0xeb78('0x21')]=qs[_0xeb78('0x21')](_0x31ad03[_0xeb78('0x31')]['limit']);_0x4493bb['offset']=qs[_0xeb78('0x20')](_0x31ad03[_0xeb78('0x31')][_0xeb78('0x20')]);}_0x4493bb[_0xeb78('0x38')]=qs[_0xeb78('0x39')](_0x31ad03['query'][_0xeb78('0x39')]);_0x4493bb[_0xeb78('0x3a')]=qs[_0xeb78('0x32')](_[_0xeb78('0x3b')](_0x31ad03[_0xeb78('0x31')],_0x5263fc[_0xeb78('0x32')]));if(_0x31ad03['query']['filter']){_0x4493bb['where']=_['merge'](_0x4493bb[_0xeb78('0x3a')],{'$or':_[_0xeb78('0x2a')](_0x1e7d56,function(_0x24a6e3){if(_0x24a6e3['type']!==_0xeb78('0x3c')){var _0x194cb5={};_0x194cb5[_0x24a6e3['name']]={'$like':'%'+_0x31ad03['query']['filter']+'%'};return _0x194cb5;}})});}_0x4493bb=_[_0xeb78('0x3d')]({},_0x4493bb,_0x31ad03[_0xeb78('0x3e')]);var _0x1ec55a={'where':_0x4493bb['where']};return db[_0xeb78('0x2b')][_0xeb78('0x3f')](_0x1ec55a)[_0xeb78('0x25')](function(_0x4fb001){_0x1028ba[_0xeb78('0x3f')]=_0x4fb001;if(_0x31ad03[_0xeb78('0x31')][_0xeb78('0x40')]){_0x4493bb[_0xeb78('0x41')]=[{'all':!![]}];}return db['IntegrationReport']['findAll'](_0x4493bb);})[_0xeb78('0x25')](function(_0xa0284a){_0x1028ba[_0xeb78('0x42')]=_0xa0284a;return _0x1028ba;})[_0xeb78('0x25')](respondWithFilteredResult(_0x23295a,_0x4493bb))[_0xeb78('0x43')](handleError(_0x23295a,null));};exports[_0xeb78('0x44')]=function(_0x200600,_0x37d604){var _0x47567d={'raw':![],'where':{'id':_0x200600[_0xeb78('0x45')]['id']}},_0x571552={};_0x571552[_0xeb78('0x30')]=_[_0xeb78('0x46')](db['IntegrationReport'][_0xeb78('0x2c')]);_0x571552['query']=_[_0xeb78('0x46')](_0x200600[_0xeb78('0x31')]);_0x571552[_0xeb78('0x32')]=_['intersection'](_0x571552[_0xeb78('0x30')],_0x571552[_0xeb78('0x31')]);_0x47567d[_0xeb78('0x34')]=_[_0xeb78('0x33')](_0x571552[_0xeb78('0x30')],qs['fields'](_0x200600[_0xeb78('0x31')][_0xeb78('0x35')]));_0x47567d['attributes']=_0x47567d[_0xeb78('0x34')][_0xeb78('0x47')]?_0x47567d[_0xeb78('0x34')]:_0x571552['model'];if(_0x200600[_0xeb78('0x31')][_0xeb78('0x40')]){_0x47567d[_0xeb78('0x41')]=[{'all':!![]}];}_0x47567d=_[_0xeb78('0x3d')]({},_0x47567d,_0x200600[_0xeb78('0x3e')]);return db[_0xeb78('0x2b')]['find'](_0x47567d)['then'](handleEntityNotFound(_0x37d604,null))[_0xeb78('0x25')](respondWithResult(_0x37d604,null))[_0xeb78('0x43')](handleError(_0x37d604,null));};exports['create']=function(_0x108f8b,_0x3ee867){return db[_0xeb78('0x2b')][_0xeb78('0x48')](_0x108f8b[_0xeb78('0x49')],{})[_0xeb78('0x25')](respondWithResult(_0x3ee867,0xc9))[_0xeb78('0x43')](handleError(_0x3ee867,null));};exports[_0xeb78('0x24')]=function(_0x9d5b17,_0x2ba296){if(_0x9d5b17[_0xeb78('0x49')]['id']){delete _0x9d5b17[_0xeb78('0x49')]['id'];}return db[_0xeb78('0x2b')][_0xeb78('0x4a')]({'where':{'id':_0x9d5b17[_0xeb78('0x45')]['id']}})['then'](handleEntityNotFound(_0x2ba296,null))[_0xeb78('0x25')](saveUpdates(_0x9d5b17[_0xeb78('0x49')],null))[_0xeb78('0x25')](respondWithResult(_0x2ba296,null))[_0xeb78('0x43')](handleError(_0x2ba296,null));};exports['destroy']=function(_0x35cedb,_0x135106){return db[_0xeb78('0x2b')][_0xeb78('0x4a')]({'where':{'id':_0x35cedb[_0xeb78('0x45')]['id']}})['then'](handleEntityNotFound(_0x135106,null))['then'](removeEntity(_0x135106,null))['catch'](handleError(_0x135106,null));};exports[_0xeb78('0x4b')]=function(_0x21ee21,_0x554c2e){return db[_0xeb78('0x2b')][_0xeb78('0x4b')]()[_0xeb78('0x25')](respondWithResult(_0x554c2e,null))['catch'](handleError(_0x554c2e,null));};