Built motion from commit 9d1906d1.|2.5.40
[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 _0xcef8=['to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','rawAttributes','fieldName','type','key','map','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','CmHopperBlack','includeAll','include','rows','catch','show','params','keys','body','describe','eml-format','rimraf','zip-dir','bluebird','mustache','util','path','sox'];(function(_0x23dc47,_0x166250){var _0x2b4405=function(_0x42a900){while(--_0x42a900){_0x23dc47['push'](_0x23dc47['shift']());}};_0x2b4405(++_0x166250);}(_0xcef8,0x8e));var _0x8cef=function(_0x1071c6,_0xa49f0a){_0x1071c6=_0x1071c6-0x0;var _0x4edee4=_0xcef8[_0x1071c6];return _0x4edee4;};'use strict';var emlformat=require(_0x8cef('0x0'));var rimraf=require(_0x8cef('0x1'));var zipdir=require(_0x8cef('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x8cef('0x3'));var Mustache=require(_0x8cef('0x4'));var util=require(_0x8cef('0x5'));var path=require(_0x8cef('0x6'));var sox=require(_0x8cef('0x7'));var csv=require(_0x8cef('0x8'));var ejs=require(_0x8cef('0x9'));var fs=require('fs');var fs_extra=require(_0x8cef('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x8cef('0xb'));var jsforce=require(_0x8cef('0xc'));var deskjs=require(_0x8cef('0xd'));var toCsv=require('to-csv');var querystring=require(_0x8cef('0xe'));var Papa=require(_0x8cef('0xf'));var Redis=require(_0x8cef('0x10'));var authService=require(_0x8cef('0x11'));var qs=require(_0x8cef('0x12'));var as=require(_0x8cef('0x13'));var hardwareService=require(_0x8cef('0x14'));var logger=require(_0x8cef('0x15'))(_0x8cef('0x16'));var utils=require(_0x8cef('0x17'));var config=require(_0x8cef('0x18'));var licenseUtil=require(_0x8cef('0x19'));var db=require(_0x8cef('0x1a'))['db'];function respondWithStatusCode(_0x101c7c,_0x39b0a4){_0x39b0a4=_0x39b0a4||0xcc;return function(_0x5ee252){if(_0x5ee252){return _0x101c7c['sendStatus'](_0x39b0a4);}return _0x101c7c['status'](_0x39b0a4)[_0x8cef('0x1b')]();};}function respondWithResult(_0xd06d6f,_0x27d011){_0x27d011=_0x27d011||0xc8;return function(_0x55d855){if(_0x55d855){return _0xd06d6f[_0x8cef('0x1c')](_0x27d011)[_0x8cef('0x1d')](_0x55d855);}};}function respondWithFilteredResult(_0x5e21f8,_0x36ee32){return function(_0x5f01bd){if(_0x5f01bd){var _0x53ccc5=typeof _0x36ee32[_0x8cef('0x1e')]===_0x8cef('0x1f')&&typeof _0x36ee32[_0x8cef('0x20')]===_0x8cef('0x1f');var _0x322d8e=_0x5f01bd[_0x8cef('0x21')];var _0x2ae231=_0x53ccc5?0x0:_0x36ee32[_0x8cef('0x1e')];var _0x2b09ee=_0x53ccc5?_0x5f01bd['count']:_0x36ee32[_0x8cef('0x1e')]+_0x36ee32[_0x8cef('0x20')];var _0x2148f0;if(_0x2b09ee>=_0x322d8e){_0x2b09ee=_0x322d8e;_0x2148f0=0xc8;}else{_0x2148f0=0xce;}_0x5e21f8['status'](_0x2148f0);return _0x5e21f8['set'](_0x8cef('0x22'),_0x2ae231+'-'+_0x2b09ee+'/'+_0x322d8e)[_0x8cef('0x1d')](_0x5f01bd);}return null;};}function patchUpdates(_0x30139e){return function(_0x3fa56d){try{jsonpatch[_0x8cef('0x23')](_0x3fa56d,_0x30139e,!![]);}catch(_0xe5ca4c){return BPromise[_0x8cef('0x24')](_0xe5ca4c);}return _0x3fa56d['save']();};}function saveUpdates(_0x2a155a,_0x48cf7d){return function(_0x156fd7){if(_0x156fd7){return _0x156fd7[_0x8cef('0x25')](_0x2a155a)[_0x8cef('0x26')](function(_0x27c7ef){return _0x27c7ef;});}return null;};}function removeEntity(_0x24d6d2,_0x1f3203){return function(_0x320196){if(_0x320196){return _0x320196[_0x8cef('0x27')]()[_0x8cef('0x26')](function(){_0x24d6d2[_0x8cef('0x1c')](0xcc)[_0x8cef('0x1b')]();});}};}function handleEntityNotFound(_0x3fb6fb,_0x5d2508){return function(_0x37ccd7){if(!_0x37ccd7){_0x3fb6fb[_0x8cef('0x28')](0x194);}return _0x37ccd7;};}function handleError(_0x122388,_0x455aa0){_0x455aa0=_0x455aa0||0x1f4;return function(_0x15e34d){logger[_0x8cef('0x29')](_0x15e34d[_0x8cef('0x2a')]);if(_0x15e34d[_0x8cef('0x2b')]){delete _0x15e34d[_0x8cef('0x2b')];}_0x122388[_0x8cef('0x1c')](_0x455aa0)[_0x8cef('0x2c')](_0x15e34d);};}exports['index']=function(_0x13f9af,_0x4c3c5a){var _0x3bc1ef={},_0x302671={},_0x19fcb5={'count':0x0,'rows':[]};var _0x1ae876=_['map'](db['CmHopperBlack'][_0x8cef('0x2d')],function(_0x4612f4){return{'name':_0x4612f4[_0x8cef('0x2e')],'type':_0x4612f4[_0x8cef('0x2f')][_0x8cef('0x30')]};});_0x302671['model']=_[_0x8cef('0x31')](_0x1ae876,_0x8cef('0x2b'));_0x302671[_0x8cef('0x32')]=_['keys'](_0x13f9af[_0x8cef('0x32')]);_0x302671[_0x8cef('0x33')]=_['intersection'](_0x302671[_0x8cef('0x34')],_0x302671[_0x8cef('0x32')]);_0x3bc1ef[_0x8cef('0x35')]=_[_0x8cef('0x36')](_0x302671[_0x8cef('0x34')],qs[_0x8cef('0x37')](_0x13f9af[_0x8cef('0x32')][_0x8cef('0x37')]));_0x3bc1ef['attributes']=_0x3bc1ef[_0x8cef('0x35')][_0x8cef('0x38')]?_0x3bc1ef[_0x8cef('0x35')]:_0x302671['model'];if(!_0x13f9af['query'][_0x8cef('0x39')]('nolimit')){_0x3bc1ef[_0x8cef('0x20')]=qs[_0x8cef('0x20')](_0x13f9af['query']['limit']);_0x3bc1ef[_0x8cef('0x1e')]=qs[_0x8cef('0x1e')](_0x13f9af[_0x8cef('0x32')]['offset']);}_0x3bc1ef[_0x8cef('0x3a')]=qs[_0x8cef('0x3b')](_0x13f9af[_0x8cef('0x32')]['sort']);_0x3bc1ef[_0x8cef('0x3c')]=qs[_0x8cef('0x33')](_[_0x8cef('0x3d')](_0x13f9af[_0x8cef('0x32')],_0x302671[_0x8cef('0x33')]),_0x1ae876);if(_0x13f9af['query'][_0x8cef('0x3e')]){_0x3bc1ef['where']=_[_0x8cef('0x3f')](_0x3bc1ef[_0x8cef('0x3c')],{'$or':_[_0x8cef('0x31')](_0x1ae876,function(_0x431199){if(_0x431199['type']!=='VIRTUAL'){var _0x39def9={};_0x39def9[_0x431199['name']]={'$like':'%'+_0x13f9af[_0x8cef('0x32')][_0x8cef('0x3e')]+'%'};return _0x39def9;}})});}_0x3bc1ef=_[_0x8cef('0x3f')]({},_0x3bc1ef,_0x13f9af[_0x8cef('0x40')]);var _0x1f72b3={'where':_0x3bc1ef[_0x8cef('0x3c')]};return db[_0x8cef('0x41')]['count'](_0x1f72b3)['then'](function(_0x404c0c){_0x19fcb5[_0x8cef('0x21')]=_0x404c0c;if(_0x13f9af[_0x8cef('0x32')][_0x8cef('0x42')]){_0x3bc1ef[_0x8cef('0x43')]=[{'all':!![]}];}return db['CmHopperBlack']['findAll'](_0x3bc1ef);})['then'](function(_0x488071){_0x19fcb5[_0x8cef('0x44')]=_0x488071;return _0x19fcb5;})[_0x8cef('0x26')](respondWithFilteredResult(_0x4c3c5a,_0x3bc1ef))[_0x8cef('0x45')](handleError(_0x4c3c5a,null));};exports[_0x8cef('0x46')]=function(_0x216b8d,_0x2ae138){var _0x32adad={'raw':!![],'where':{'id':_0x216b8d[_0x8cef('0x47')]['id']}},_0x589dcf={};_0x589dcf[_0x8cef('0x34')]=_[_0x8cef('0x48')](db[_0x8cef('0x41')][_0x8cef('0x2d')]);_0x589dcf[_0x8cef('0x32')]=_[_0x8cef('0x48')](_0x216b8d['query']);_0x589dcf['filters']=_['intersection'](_0x589dcf['model'],_0x589dcf['query']);_0x32adad[_0x8cef('0x35')]=_[_0x8cef('0x36')](_0x589dcf[_0x8cef('0x34')],qs[_0x8cef('0x37')](_0x216b8d['query']['fields']));_0x32adad[_0x8cef('0x35')]=_0x32adad['attributes']['length']?_0x32adad[_0x8cef('0x35')]:_0x589dcf['model'];if(_0x216b8d[_0x8cef('0x32')]['includeAll']){_0x32adad[_0x8cef('0x43')]=[{'all':!![]}];}_0x32adad=_[_0x8cef('0x3f')]({},_0x32adad,_0x216b8d[_0x8cef('0x40')]);return db[_0x8cef('0x41')]['find'](_0x32adad)['then'](handleEntityNotFound(_0x2ae138,null))['then'](respondWithResult(_0x2ae138,null))['catch'](handleError(_0x2ae138,null));};exports[_0x8cef('0x25')]=function(_0x177f85,_0x3c5159){if(_0x177f85['body']['id']){delete _0x177f85[_0x8cef('0x49')]['id'];}return db['CmHopperBlack']['find']({'where':{'id':_0x177f85[_0x8cef('0x47')]['id']}})[_0x8cef('0x26')](handleEntityNotFound(_0x3c5159,null))['then'](saveUpdates(_0x177f85[_0x8cef('0x49')],null))[_0x8cef('0x26')](respondWithResult(_0x3c5159,null))[_0x8cef('0x45')](handleError(_0x3c5159,null));};exports[_0x8cef('0x27')]=function(_0x5679f7,_0x1d76aa){return db[_0x8cef('0x41')]['find']({'where':{'id':_0x5679f7[_0x8cef('0x47')]['id']}})[_0x8cef('0x26')](handleEntityNotFound(_0x1d76aa,null))[_0x8cef('0x26')](removeEntity(_0x1d76aa,null))[_0x8cef('0x45')](handleError(_0x1d76aa,null));};exports[_0x8cef('0x4a')]=function(_0x2707f2,_0x3f74dd){return db[_0x8cef('0x41')][_0x8cef('0x4a')]()[_0x8cef('0x26')](respondWithResult(_0x3f74dd,null))[_0x8cef('0x45')](handleError(_0x3f74dd,null));};