726aa51cafc5fcdcd48c050c7c24855495fe191e
[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 _0x4399=['to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','api','../../mysqldb','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','name','send','index','map','CmHopperBlack','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','options','body','find','describe','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox'];(function(_0x592c4f,_0xe8a4f0){var _0x57ad00=function(_0x38a436){while(--_0x38a436){_0x592c4f['push'](_0x592c4f['shift']());}};_0x57ad00(++_0xe8a4f0);}(_0x4399,0x150));var _0x9439=function(_0x2e552f,_0x3bb0bd){_0x2e552f=_0x2e552f-0x0;var _0x7e19d5=_0x4399[_0x2e552f];return _0x7e19d5;};'use strict';var emlformat=require(_0x9439('0x0'));var rimraf=require(_0x9439('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9439('0x2'));var rp=require('request-promise');var moment=require(_0x9439('0x3'));var BPromise=require(_0x9439('0x4'));var Mustache=require(_0x9439('0x5'));var util=require(_0x9439('0x6'));var path=require(_0x9439('0x7'));var sox=require(_0x9439('0x8'));var csv=require(_0x9439('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9439('0xa'));var _=require(_0x9439('0xb'));var squel=require(_0x9439('0xc'));var crypto=require(_0x9439('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x9439('0xe'));var toCsv=require(_0x9439('0x9'));var querystring=require(_0x9439('0xf'));var Papa=require(_0x9439('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x9439('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9439('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9439('0x13'))['db'];function respondWithStatusCode(_0x151b55,_0x1ee639){_0x1ee639=_0x1ee639||0xcc;return function(_0x81e2f4){if(_0x81e2f4){return _0x151b55['sendStatus'](_0x1ee639);}return _0x151b55[_0x9439('0x14')](_0x1ee639)['end']();};}function respondWithResult(_0x5f224d,_0xf9c7e0){_0xf9c7e0=_0xf9c7e0||0xc8;return function(_0x13b8c1){if(_0x13b8c1){return _0x5f224d['status'](_0xf9c7e0)[_0x9439('0x15')](_0x13b8c1);}};}function respondWithFilteredResult(_0x3a5ce3,_0x560b36){return function(_0x28ade9){if(_0x28ade9){var _0x9993ea=typeof _0x560b36[_0x9439('0x16')]===_0x9439('0x17')&&typeof _0x560b36['limit']===_0x9439('0x17');var _0x4478da=_0x28ade9[_0x9439('0x18')];var _0x564d24=_0x9993ea?0x0:_0x560b36[_0x9439('0x16')];var _0x3d1cec=_0x9993ea?_0x28ade9[_0x9439('0x18')]:_0x560b36[_0x9439('0x16')]+_0x560b36[_0x9439('0x19')];var _0x5eb94c;if(_0x3d1cec>=_0x4478da){_0x3d1cec=_0x4478da;_0x5eb94c=0xc8;}else{_0x5eb94c=0xce;}_0x3a5ce3[_0x9439('0x14')](_0x5eb94c);return _0x3a5ce3[_0x9439('0x1a')](_0x9439('0x1b'),_0x564d24+'-'+_0x3d1cec+'/'+_0x4478da)[_0x9439('0x15')](_0x28ade9);}return null;};}function patchUpdates(_0x1bf122){return function(_0x30d135){try{jsonpatch[_0x9439('0x1c')](_0x30d135,_0x1bf122,!![]);}catch(_0xc03e36){return BPromise[_0x9439('0x1d')](_0xc03e36);}return _0x30d135[_0x9439('0x1e')]();};}function saveUpdates(_0xbf78c9,_0x513ace){return function(_0x33af6f){if(_0x33af6f){return _0x33af6f[_0x9439('0x1f')](_0xbf78c9)[_0x9439('0x20')](function(_0xf6e08c){return _0xf6e08c;});}return null;};}function removeEntity(_0x4dfa8f,_0x56e95b){return function(_0x320771){if(_0x320771){return _0x320771[_0x9439('0x21')]()[_0x9439('0x20')](function(){_0x4dfa8f[_0x9439('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2247e5,_0x2cfdfc){return function(_0x691cd7){if(!_0x691cd7){_0x2247e5[_0x9439('0x22')](0x194);}return _0x691cd7;};}function handleError(_0x4352a8,_0x82c594){_0x82c594=_0x82c594||0x1f4;return function(_0x4b23ec){logger[_0x9439('0x23')](_0x4b23ec['stack']);if(_0x4b23ec['name']){delete _0x4b23ec[_0x9439('0x24')];}_0x4352a8[_0x9439('0x14')](_0x82c594)[_0x9439('0x25')](_0x4b23ec);};}exports[_0x9439('0x26')]=function(_0x3f75f8,_0x5054e0){var _0x433980={},_0x4acb27={},_0x39847b={'count':0x0,'rows':[]};var _0x52c369=_[_0x9439('0x27')](db[_0x9439('0x28')][_0x9439('0x29')],function(_0x5b4ea5){return{'name':_0x5b4ea5['fieldName'],'type':_0x5b4ea5[_0x9439('0x2a')][_0x9439('0x2b')]};});_0x4acb27[_0x9439('0x2c')]=_['map'](_0x52c369,'name');_0x4acb27[_0x9439('0x2d')]=_[_0x9439('0x2e')](_0x3f75f8[_0x9439('0x2d')]);_0x4acb27[_0x9439('0x2f')]=_[_0x9439('0x30')](_0x4acb27[_0x9439('0x2c')],_0x4acb27[_0x9439('0x2d')]);_0x433980['attributes']=_['intersection'](_0x4acb27[_0x9439('0x2c')],qs[_0x9439('0x31')](_0x3f75f8[_0x9439('0x2d')][_0x9439('0x31')]));_0x433980['attributes']=_0x433980[_0x9439('0x32')][_0x9439('0x33')]?_0x433980[_0x9439('0x32')]:_0x4acb27[_0x9439('0x2c')];if(!_0x3f75f8[_0x9439('0x2d')]['hasOwnProperty']('nolimit')){_0x433980[_0x9439('0x19')]=qs[_0x9439('0x19')](_0x3f75f8['query']['limit']);_0x433980[_0x9439('0x16')]=qs['offset'](_0x3f75f8['query']['offset']);}_0x433980[_0x9439('0x34')]=qs[_0x9439('0x35')](_0x3f75f8['query']['sort']);_0x433980[_0x9439('0x36')]=qs[_0x9439('0x2f')](_[_0x9439('0x37')](_0x3f75f8['query'],_0x4acb27['filters']),_0x52c369);if(_0x3f75f8[_0x9439('0x2d')][_0x9439('0x38')]){_0x433980[_0x9439('0x36')]=_[_0x9439('0x39')](_0x433980[_0x9439('0x36')],{'$or':_[_0x9439('0x27')](_0x52c369,function(_0x524657){if(_0x524657[_0x9439('0x2a')]!==_0x9439('0x3a')){var _0x180ee1={};_0x180ee1[_0x524657['name']]={'$like':'%'+_0x3f75f8[_0x9439('0x2d')][_0x9439('0x38')]+'%'};return _0x180ee1;}})});}_0x433980=_[_0x9439('0x39')]({},_0x433980,_0x3f75f8['options']);var _0x5d6c08={'where':_0x433980[_0x9439('0x36')]};return db[_0x9439('0x28')][_0x9439('0x18')](_0x5d6c08)[_0x9439('0x20')](function(_0x79dc2){_0x39847b['count']=_0x79dc2;if(_0x3f75f8[_0x9439('0x2d')][_0x9439('0x3b')]){_0x433980[_0x9439('0x3c')]=[{'all':!![]}];}return db[_0x9439('0x28')][_0x9439('0x3d')](_0x433980);})[_0x9439('0x20')](function(_0x29d6fb){_0x39847b['rows']=_0x29d6fb;return _0x39847b;})[_0x9439('0x20')](respondWithFilteredResult(_0x5054e0,_0x433980))[_0x9439('0x3e')](handleError(_0x5054e0,null));};exports[_0x9439('0x3f')]=function(_0x3dd3c2,_0x169a2c){var _0x2dfe3e={'raw':!![],'where':{'id':_0x3dd3c2[_0x9439('0x40')]['id']}},_0x5341d3={};_0x5341d3[_0x9439('0x2c')]=_[_0x9439('0x2e')](db['CmHopperBlack']['rawAttributes']);_0x5341d3[_0x9439('0x2d')]=_[_0x9439('0x2e')](_0x3dd3c2[_0x9439('0x2d')]);_0x5341d3[_0x9439('0x2f')]=_[_0x9439('0x30')](_0x5341d3['model'],_0x5341d3[_0x9439('0x2d')]);_0x2dfe3e['attributes']=_['intersection'](_0x5341d3[_0x9439('0x2c')],qs[_0x9439('0x31')](_0x3dd3c2[_0x9439('0x2d')][_0x9439('0x31')]));_0x2dfe3e[_0x9439('0x32')]=_0x2dfe3e['attributes']['length']?_0x2dfe3e[_0x9439('0x32')]:_0x5341d3[_0x9439('0x2c')];if(_0x3dd3c2['query'][_0x9439('0x3b')]){_0x2dfe3e[_0x9439('0x3c')]=[{'all':!![]}];}_0x2dfe3e=_['merge']({},_0x2dfe3e,_0x3dd3c2[_0x9439('0x41')]);return db[_0x9439('0x28')]['find'](_0x2dfe3e)[_0x9439('0x20')](handleEntityNotFound(_0x169a2c,null))[_0x9439('0x20')](respondWithResult(_0x169a2c,null))['catch'](handleError(_0x169a2c,null));};exports['update']=function(_0x33dbc1,_0x5dd546){if(_0x33dbc1['body']['id']){delete _0x33dbc1[_0x9439('0x42')]['id'];}return db[_0x9439('0x28')][_0x9439('0x43')]({'where':{'id':_0x33dbc1['params']['id']}})['then'](handleEntityNotFound(_0x5dd546,null))[_0x9439('0x20')](saveUpdates(_0x33dbc1[_0x9439('0x42')],null))[_0x9439('0x20')](respondWithResult(_0x5dd546,null))['catch'](handleError(_0x5dd546,null));};exports['destroy']=function(_0x36a044,_0x37d41c){return db[_0x9439('0x28')][_0x9439('0x43')]({'where':{'id':_0x36a044[_0x9439('0x40')]['id']}})['then'](handleEntityNotFound(_0x37d41c,null))['then'](removeEntity(_0x37d41c,null))[_0x9439('0x3e')](handleError(_0x37d41c,null));};exports['describe']=function(_0x5a4c0b,_0x44a527){return db[_0x9439('0x28')][_0x9439('0x44')]()['then'](respondWithResult(_0x44a527,null))['catch'](handleError(_0x44a527,null));};