Built motion from commit d1eab355.|2.6.28
[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 _0x9fa2=['filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','CmHopperBlack','then','includeAll','include','findAll','catch','show','params','merge','options','find','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','apply','reject','save','update','destroy','sendStatus','error','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query'];(function(_0x44148c,_0x3d2356){var _0x51bc69=function(_0xf3c6e1){while(--_0xf3c6e1){_0x44148c['push'](_0x44148c['shift']());}};_0x51bc69(++_0x3d2356);}(_0x9fa2,0x67));var _0x29fa=function(_0x46efd7,_0x43f84d){_0x46efd7=_0x46efd7-0x0;var _0x5637e4=_0x9fa2[_0x46efd7];return _0x5637e4;};'use strict';var emlformat=require(_0x29fa('0x0'));var rimraf=require(_0x29fa('0x1'));var zipdir=require(_0x29fa('0x2'));var jsonpatch=require(_0x29fa('0x3'));var rp=require(_0x29fa('0x4'));var moment=require('moment');var BPromise=require(_0x29fa('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x29fa('0x6'));var sox=require('sox');var csv=require(_0x29fa('0x7'));var ejs=require(_0x29fa('0x8'));var fs=require('fs');var fs_extra=require(_0x29fa('0x9'));var _=require(_0x29fa('0xa'));var squel=require(_0x29fa('0xb'));var crypto=require(_0x29fa('0xc'));var jsforce=require(_0x29fa('0xd'));var deskjs=require(_0x29fa('0xe'));var toCsv=require(_0x29fa('0x7'));var querystring=require('querystring');var Papa=require(_0x29fa('0xf'));var Redis=require('ioredis');var authService=require(_0x29fa('0x10'));var qs=require(_0x29fa('0x11'));var as=require(_0x29fa('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x29fa('0x13'))(_0x29fa('0x14'));var utils=require(_0x29fa('0x15'));var config=require(_0x29fa('0x16'));var licenseUtil=require(_0x29fa('0x17'));var db=require(_0x29fa('0x18'))['db'];function respondWithStatusCode(_0x53716e,_0x2a98fa){_0x2a98fa=_0x2a98fa||0xcc;return function(_0x43833c){if(_0x43833c){return _0x53716e['sendStatus'](_0x2a98fa);}return _0x53716e[_0x29fa('0x19')](_0x2a98fa)[_0x29fa('0x1a')]();};}function respondWithResult(_0x3996ac,_0x5b43ef){_0x5b43ef=_0x5b43ef||0xc8;return function(_0xc07129){if(_0xc07129){return _0x3996ac[_0x29fa('0x19')](_0x5b43ef)[_0x29fa('0x1b')](_0xc07129);}};}function respondWithFilteredResult(_0x4f4a0b,_0x507a78){return function(_0x51692b){if(_0x51692b){var _0x1276cd=typeof _0x507a78['offset']===_0x29fa('0x1c')&&typeof _0x507a78[_0x29fa('0x1d')]==='undefined';var _0x54550=_0x51692b[_0x29fa('0x1e')];var _0x4815c1=_0x1276cd?0x0:_0x507a78[_0x29fa('0x1f')];var _0x59665b=_0x1276cd?_0x51692b['count']:_0x507a78[_0x29fa('0x1f')]+_0x507a78[_0x29fa('0x1d')];var _0x17cc23;if(_0x59665b>=_0x54550){_0x59665b=_0x54550;_0x17cc23=0xc8;}else{_0x17cc23=0xce;}_0x4f4a0b[_0x29fa('0x19')](_0x17cc23);return _0x4f4a0b[_0x29fa('0x20')]('Content-Range',_0x4815c1+'-'+_0x59665b+'/'+_0x54550)[_0x29fa('0x1b')](_0x51692b);}return null;};}function patchUpdates(_0xfff7d4){return function(_0x41640d){try{jsonpatch[_0x29fa('0x21')](_0x41640d,_0xfff7d4,!![]);}catch(_0x359ece){return BPromise[_0x29fa('0x22')](_0x359ece);}return _0x41640d[_0x29fa('0x23')]();};}function saveUpdates(_0x4aeda1,_0x1dd821){return function(_0x273b1d){if(_0x273b1d){return _0x273b1d[_0x29fa('0x24')](_0x4aeda1)['then'](function(_0xfd7892){return _0xfd7892;});}return null;};}function removeEntity(_0x5a7b2e,_0x17a2e5){return function(_0x4b647b){if(_0x4b647b){return _0x4b647b[_0x29fa('0x25')]()['then'](function(){_0x5a7b2e[_0x29fa('0x19')](0xcc)[_0x29fa('0x1a')]();});}};}function handleEntityNotFound(_0x2bd047,_0xef40b9){return function(_0x5ddf7e){if(!_0x5ddf7e){_0x2bd047[_0x29fa('0x26')](0x194);}return _0x5ddf7e;};}function handleError(_0x207c33,_0x3c3bb4){_0x3c3bb4=_0x3c3bb4||0x1f4;return function(_0x176944){logger[_0x29fa('0x27')](_0x176944['stack']);if(_0x176944[_0x29fa('0x28')]){delete _0x176944[_0x29fa('0x28')];}_0x207c33[_0x29fa('0x19')](_0x3c3bb4)[_0x29fa('0x29')](_0x176944);};}exports[_0x29fa('0x2a')]=function(_0x175d54,_0xef1ae1){var _0x46bdf8={},_0x4d13a7={},_0x5653c6={'count':0x0,'rows':[]};var _0x1f62a2=_[_0x29fa('0x2b')](db['CmHopperBlack'][_0x29fa('0x2c')],function(_0x4fef6a){return{'name':_0x4fef6a[_0x29fa('0x2d')],'type':_0x4fef6a[_0x29fa('0x2e')][_0x29fa('0x2f')]};});_0x4d13a7[_0x29fa('0x30')]=_['map'](_0x1f62a2,'name');_0x4d13a7['query']=_[_0x29fa('0x31')](_0x175d54[_0x29fa('0x32')]);_0x4d13a7[_0x29fa('0x33')]=_['intersection'](_0x4d13a7[_0x29fa('0x30')],_0x4d13a7['query']);_0x46bdf8[_0x29fa('0x34')]=_[_0x29fa('0x35')](_0x4d13a7[_0x29fa('0x30')],qs[_0x29fa('0x36')](_0x175d54[_0x29fa('0x32')][_0x29fa('0x36')]));_0x46bdf8[_0x29fa('0x34')]=_0x46bdf8[_0x29fa('0x34')][_0x29fa('0x37')]?_0x46bdf8[_0x29fa('0x34')]:_0x4d13a7['model'];if(!_0x175d54[_0x29fa('0x32')][_0x29fa('0x38')](_0x29fa('0x39'))){_0x46bdf8[_0x29fa('0x1d')]=qs[_0x29fa('0x1d')](_0x175d54[_0x29fa('0x32')][_0x29fa('0x1d')]);_0x46bdf8[_0x29fa('0x1f')]=qs[_0x29fa('0x1f')](_0x175d54[_0x29fa('0x32')][_0x29fa('0x1f')]);}_0x46bdf8[_0x29fa('0x3a')]=qs[_0x29fa('0x3b')](_0x175d54[_0x29fa('0x32')]['sort']);_0x46bdf8[_0x29fa('0x3c')]=qs[_0x29fa('0x33')](_[_0x29fa('0x3d')](_0x175d54['query'],_0x4d13a7['filters']),_0x1f62a2);if(_0x175d54[_0x29fa('0x32')][_0x29fa('0x3e')]){_0x46bdf8['where']=_['merge'](_0x46bdf8[_0x29fa('0x3c')],{'$or':_[_0x29fa('0x2b')](_0x1f62a2,function(_0x526c34){if(_0x526c34[_0x29fa('0x2e')]!==_0x29fa('0x3f')){var _0x31fedf={};_0x31fedf[_0x526c34[_0x29fa('0x28')]]={'$like':'%'+_0x175d54[_0x29fa('0x32')][_0x29fa('0x3e')]+'%'};return _0x31fedf;}})});}_0x46bdf8=_['merge']({},_0x46bdf8,_0x175d54['options']);var _0x1098ee={'where':_0x46bdf8[_0x29fa('0x3c')]};return db[_0x29fa('0x40')]['count'](_0x1098ee)[_0x29fa('0x41')](function(_0x2193c4){_0x5653c6[_0x29fa('0x1e')]=_0x2193c4;if(_0x175d54[_0x29fa('0x32')][_0x29fa('0x42')]){_0x46bdf8[_0x29fa('0x43')]=[{'all':!![]}];}return db[_0x29fa('0x40')][_0x29fa('0x44')](_0x46bdf8);})[_0x29fa('0x41')](function(_0x1e40a2){_0x5653c6['rows']=_0x1e40a2;return _0x5653c6;})['then'](respondWithFilteredResult(_0xef1ae1,_0x46bdf8))[_0x29fa('0x45')](handleError(_0xef1ae1,null));};exports[_0x29fa('0x46')]=function(_0x4b07b5,_0x453363){var _0x389a25={'raw':!![],'where':{'id':_0x4b07b5[_0x29fa('0x47')]['id']}},_0xaf8019={};_0xaf8019[_0x29fa('0x30')]=_[_0x29fa('0x31')](db[_0x29fa('0x40')][_0x29fa('0x2c')]);_0xaf8019['query']=_[_0x29fa('0x31')](_0x4b07b5[_0x29fa('0x32')]);_0xaf8019['filters']=_[_0x29fa('0x35')](_0xaf8019['model'],_0xaf8019['query']);_0x389a25[_0x29fa('0x34')]=_[_0x29fa('0x35')](_0xaf8019['model'],qs[_0x29fa('0x36')](_0x4b07b5['query']['fields']));_0x389a25[_0x29fa('0x34')]=_0x389a25[_0x29fa('0x34')][_0x29fa('0x37')]?_0x389a25[_0x29fa('0x34')]:_0xaf8019[_0x29fa('0x30')];if(_0x4b07b5[_0x29fa('0x32')][_0x29fa('0x42')]){_0x389a25['include']=[{'all':!![]}];}_0x389a25=_[_0x29fa('0x48')]({},_0x389a25,_0x4b07b5[_0x29fa('0x49')]);return db[_0x29fa('0x40')][_0x29fa('0x4a')](_0x389a25)[_0x29fa('0x41')](handleEntityNotFound(_0x453363,null))[_0x29fa('0x41')](respondWithResult(_0x453363,null))[_0x29fa('0x45')](handleError(_0x453363,null));};exports['update']=function(_0x393b82,_0x44fb5a){if(_0x393b82[_0x29fa('0x4b')]['id']){delete _0x393b82[_0x29fa('0x4b')]['id'];}return db[_0x29fa('0x40')][_0x29fa('0x4a')]({'where':{'id':_0x393b82[_0x29fa('0x47')]['id']}})[_0x29fa('0x41')](handleEntityNotFound(_0x44fb5a,null))[_0x29fa('0x41')](saveUpdates(_0x393b82[_0x29fa('0x4b')],null))[_0x29fa('0x41')](respondWithResult(_0x44fb5a,null))[_0x29fa('0x45')](handleError(_0x44fb5a,null));};exports[_0x29fa('0x25')]=function(_0x502d4a,_0x22f78f){return db[_0x29fa('0x40')][_0x29fa('0x4a')]({'where':{'id':_0x502d4a[_0x29fa('0x47')]['id']}})[_0x29fa('0x41')](handleEntityNotFound(_0x22f78f,null))[_0x29fa('0x41')](removeEntity(_0x22f78f,null))['catch'](handleError(_0x22f78f,null));};exports[_0x29fa('0x4c')]=function(_0x1d747b,_0x27ae3a){return db[_0x29fa('0x40')][_0x29fa('0x4c')]()[_0x29fa('0x41')](respondWithResult(_0x27ae3a,null))[_0x29fa('0x45')](handleError(_0x27ae3a,null));};