f743f9443d3ce1a49d1bbfffc9dd8020df6d3b24
[motion2.git] / server / api / cmHopperBlack / cmHopperBlack.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 _0x3fdb=['sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','apply','reject','save','update','then','destroy','error','stack','name','send','index','CmHopperBlack','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','filter','where','merge','map','VIRTUAL','includeAll','findAll','rows','show','params','keys','include','find','catch','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path'];(function(_0x53ee5,_0x256a9e){var _0x5cf7fa=function(_0x312507){while(--_0x312507){_0x53ee5['push'](_0x53ee5['shift']());}};_0x5cf7fa(++_0x256a9e);}(_0x3fdb,0x89));var _0xb3fd=function(_0x2e2086,_0xaab49){_0x2e2086=_0x2e2086-0x0;var _0x225d25=_0x3fdb[_0x2e2086];return _0x225d25;};'use strict';var emlformat=require(_0xb3fd('0x0'));var rimraf=require(_0xb3fd('0x1'));var zipdir=require(_0xb3fd('0x2'));var jsonpatch=require(_0xb3fd('0x3'));var rp=require(_0xb3fd('0x4'));var moment=require('moment');var BPromise=require(_0xb3fd('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xb3fd('0x6'));var sox=require(_0xb3fd('0x7'));var csv=require(_0xb3fd('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb3fd('0x9'));var squel=require(_0xb3fd('0xa'));var crypto=require(_0xb3fd('0xb'));var jsforce=require(_0xb3fd('0xc'));var deskjs=require(_0xb3fd('0xd'));var toCsv=require('to-csv');var querystring=require(_0xb3fd('0xe'));var Papa=require(_0xb3fd('0xf'));var Redis=require('ioredis');var authService=require(_0xb3fd('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xb3fd('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb3fd('0x12'))(_0xb3fd('0x13'));var utils=require('../../config/utils');var config=require(_0xb3fd('0x14'));var licenseUtil=require(_0xb3fd('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2ac7b3,_0x1ab4e5){_0x1ab4e5=_0x1ab4e5||0xcc;return function(_0x1fa744){if(_0x1fa744){return _0x2ac7b3[_0xb3fd('0x16')](_0x1ab4e5);}return _0x2ac7b3[_0xb3fd('0x17')](_0x1ab4e5)[_0xb3fd('0x18')]();};}function respondWithResult(_0x19d6ad,_0x277952){_0x277952=_0x277952||0xc8;return function(_0x59434d){if(_0x59434d){return _0x19d6ad['status'](_0x277952)[_0xb3fd('0x19')](_0x59434d);}};}function respondWithFilteredResult(_0x399b15,_0x4405a8){return function(_0x3f4814){if(_0x3f4814){var _0x2a0a69=typeof _0x4405a8[_0xb3fd('0x1a')]==='undefined'&&typeof _0x4405a8[_0xb3fd('0x1b')]===_0xb3fd('0x1c');var _0x4bfd63=_0x3f4814['count'];var _0x56748b=_0x2a0a69?0x0:_0x4405a8[_0xb3fd('0x1a')];var _0x453ce5=_0x2a0a69?_0x3f4814[_0xb3fd('0x1d')]:_0x4405a8[_0xb3fd('0x1a')]+_0x4405a8[_0xb3fd('0x1b')];var _0x1101a7;if(_0x453ce5>=_0x4bfd63){_0x453ce5=_0x4bfd63;_0x1101a7=0xc8;}else{_0x1101a7=0xce;}_0x399b15[_0xb3fd('0x17')](_0x1101a7);return _0x399b15['set']('Content-Range',_0x56748b+'-'+_0x453ce5+'/'+_0x4bfd63)[_0xb3fd('0x19')](_0x3f4814);}return null;};}function patchUpdates(_0x56ff52){return function(_0xebdbad){try{jsonpatch[_0xb3fd('0x1e')](_0xebdbad,_0x56ff52,!![]);}catch(_0x59c1a1){return BPromise[_0xb3fd('0x1f')](_0x59c1a1);}return _0xebdbad[_0xb3fd('0x20')]();};}function saveUpdates(_0x28115f,_0xaf162){return function(_0x485172){if(_0x485172){return _0x485172[_0xb3fd('0x21')](_0x28115f)[_0xb3fd('0x22')](function(_0x2e5732){return _0x2e5732;});}return null;};}function removeEntity(_0xe1cb4c,_0x53d541){return function(_0x4cf595){if(_0x4cf595){return _0x4cf595[_0xb3fd('0x23')]()[_0xb3fd('0x22')](function(){_0xe1cb4c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xc92fa2,_0x1287ed){return function(_0x7b7686){if(!_0x7b7686){_0xc92fa2[_0xb3fd('0x16')](0x194);}return _0x7b7686;};}function handleError(_0x308746,_0x532255){_0x532255=_0x532255||0x1f4;return function(_0x4d33cf){logger[_0xb3fd('0x24')](_0x4d33cf[_0xb3fd('0x25')]);if(_0x4d33cf[_0xb3fd('0x26')]){delete _0x4d33cf[_0xb3fd('0x26')];}_0x308746['status'](_0x532255)[_0xb3fd('0x27')](_0x4d33cf);};}exports[_0xb3fd('0x28')]=function(_0x1f26e8,_0x399de9){var _0x56558d={},_0x59c0c2={},_0x296398={'count':0x0,'rows':[]};var _0x480f06=_['map'](db[_0xb3fd('0x29')][_0xb3fd('0x2a')],function(_0x38bfdb){return{'name':_0x38bfdb[_0xb3fd('0x2b')],'type':_0x38bfdb[_0xb3fd('0x2c')][_0xb3fd('0x2d')]};});_0x59c0c2[_0xb3fd('0x2e')]=_['map'](_0x480f06,_0xb3fd('0x26'));_0x59c0c2[_0xb3fd('0x2f')]=_['keys'](_0x1f26e8['query']);_0x59c0c2['filters']=_[_0xb3fd('0x30')](_0x59c0c2[_0xb3fd('0x2e')],_0x59c0c2[_0xb3fd('0x2f')]);_0x56558d[_0xb3fd('0x31')]=_[_0xb3fd('0x30')](_0x59c0c2[_0xb3fd('0x2e')],qs[_0xb3fd('0x32')](_0x1f26e8[_0xb3fd('0x2f')]['fields']));_0x56558d['attributes']=_0x56558d[_0xb3fd('0x31')][_0xb3fd('0x33')]?_0x56558d[_0xb3fd('0x31')]:_0x59c0c2[_0xb3fd('0x2e')];if(!_0x1f26e8[_0xb3fd('0x2f')][_0xb3fd('0x34')](_0xb3fd('0x35'))){_0x56558d[_0xb3fd('0x1b')]=qs[_0xb3fd('0x1b')](_0x1f26e8[_0xb3fd('0x2f')][_0xb3fd('0x1b')]);_0x56558d[_0xb3fd('0x1a')]=qs[_0xb3fd('0x1a')](_0x1f26e8[_0xb3fd('0x2f')][_0xb3fd('0x1a')]);}_0x56558d['order']=qs['sort'](_0x1f26e8[_0xb3fd('0x2f')][_0xb3fd('0x36')]);_0x56558d['where']=qs[_0xb3fd('0x37')](_['pick'](_0x1f26e8[_0xb3fd('0x2f')],_0x59c0c2[_0xb3fd('0x37')]),_0x480f06);if(_0x1f26e8[_0xb3fd('0x2f')][_0xb3fd('0x38')]){_0x56558d[_0xb3fd('0x39')]=_[_0xb3fd('0x3a')](_0x56558d[_0xb3fd('0x39')],{'$or':_[_0xb3fd('0x3b')](_0x480f06,function(_0xd9dae3){if(_0xd9dae3[_0xb3fd('0x2c')]!==_0xb3fd('0x3c')){var _0x53b50b={};_0x53b50b[_0xd9dae3[_0xb3fd('0x26')]]={'$like':'%'+_0x1f26e8[_0xb3fd('0x2f')][_0xb3fd('0x38')]+'%'};return _0x53b50b;}})});}_0x56558d=_['merge']({},_0x56558d,_0x1f26e8['options']);var _0xcdcf24={'where':_0x56558d['where']};return db[_0xb3fd('0x29')][_0xb3fd('0x1d')](_0xcdcf24)[_0xb3fd('0x22')](function(_0x575382){_0x296398[_0xb3fd('0x1d')]=_0x575382;if(_0x1f26e8['query'][_0xb3fd('0x3d')]){_0x56558d['include']=[{'all':!![]}];}return db[_0xb3fd('0x29')][_0xb3fd('0x3e')](_0x56558d);})[_0xb3fd('0x22')](function(_0x299aa1){_0x296398[_0xb3fd('0x3f')]=_0x299aa1;return _0x296398;})[_0xb3fd('0x22')](respondWithFilteredResult(_0x399de9,_0x56558d))['catch'](handleError(_0x399de9,null));};exports[_0xb3fd('0x40')]=function(_0x1862c2,_0x361db2){var _0x497393={'raw':!![],'where':{'id':_0x1862c2[_0xb3fd('0x41')]['id']}},_0x30377d={};_0x30377d[_0xb3fd('0x2e')]=_['keys'](db[_0xb3fd('0x29')][_0xb3fd('0x2a')]);_0x30377d[_0xb3fd('0x2f')]=_[_0xb3fd('0x42')](_0x1862c2['query']);_0x30377d['filters']=_['intersection'](_0x30377d[_0xb3fd('0x2e')],_0x30377d[_0xb3fd('0x2f')]);_0x497393[_0xb3fd('0x31')]=_[_0xb3fd('0x30')](_0x30377d[_0xb3fd('0x2e')],qs[_0xb3fd('0x32')](_0x1862c2[_0xb3fd('0x2f')][_0xb3fd('0x32')]));_0x497393['attributes']=_0x497393[_0xb3fd('0x31')][_0xb3fd('0x33')]?_0x497393['attributes']:_0x30377d[_0xb3fd('0x2e')];if(_0x1862c2[_0xb3fd('0x2f')][_0xb3fd('0x3d')]){_0x497393[_0xb3fd('0x43')]=[{'all':!![]}];}_0x497393=_['merge']({},_0x497393,_0x1862c2['options']);return db[_0xb3fd('0x29')][_0xb3fd('0x44')](_0x497393)[_0xb3fd('0x22')](handleEntityNotFound(_0x361db2,null))[_0xb3fd('0x22')](respondWithResult(_0x361db2,null))[_0xb3fd('0x45')](handleError(_0x361db2,null));};exports[_0xb3fd('0x21')]=function(_0x5b91a1,_0x46d717){if(_0x5b91a1[_0xb3fd('0x46')]['id']){delete _0x5b91a1[_0xb3fd('0x46')]['id'];}return db[_0xb3fd('0x29')]['find']({'where':{'id':_0x5b91a1[_0xb3fd('0x41')]['id']}})[_0xb3fd('0x22')](handleEntityNotFound(_0x46d717,null))['then'](saveUpdates(_0x5b91a1['body'],null))[_0xb3fd('0x22')](respondWithResult(_0x46d717,null))[_0xb3fd('0x45')](handleError(_0x46d717,null));};exports[_0xb3fd('0x23')]=function(_0x3520f1,_0x4a41f1){return db[_0xb3fd('0x29')][_0xb3fd('0x44')]({'where':{'id':_0x3520f1['params']['id']}})[_0xb3fd('0x22')](handleEntityNotFound(_0x4a41f1,null))[_0xb3fd('0x22')](removeEntity(_0x4a41f1,null))[_0xb3fd('0x45')](handleError(_0x4a41f1,null));};exports[_0xb3fd('0x47')]=function(_0x2fc51e,_0x14eb05){return db[_0xb3fd('0x29')]['describe']()[_0xb3fd('0x22')](respondWithResult(_0x14eb05,null))[_0xb3fd('0x45')](handleError(_0x14eb05,null));};