Built motion from commit 9d7072cc.|2.5.39
[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 _0x5ec3=['undefined','count','apply','reject','save','update','then','destroy','end','sendStatus','error','stack','name','index','map','CmHopperBlack','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','limit','order','sort','where','pick','filter','VIRTUAL','merge','include','findAll','rows','show','params','options','find','body','catch','describe','rimraf','zip-dir','fast-json-patch','moment','util','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','json','offset'];(function(_0x411e71,_0xf9652){var _0x226ae3=function(_0x1339f6){while(--_0x1339f6){_0x411e71['push'](_0x411e71['shift']());}};_0x226ae3(++_0xf9652);}(_0x5ec3,0x146));var _0x35ec=function(_0x1576db,_0x511272){_0x1576db=_0x1576db-0x0;var _0x1cae8e=_0x5ec3[_0x1576db];return _0x1cae8e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x35ec('0x0'));var zipdir=require(_0x35ec('0x1'));var jsonpatch=require(_0x35ec('0x2'));var rp=require('request-promise');var moment=require(_0x35ec('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x35ec('0x4'));var path=require('path');var sox=require(_0x35ec('0x5'));var csv=require(_0x35ec('0x6'));var ejs=require(_0x35ec('0x7'));var fs=require('fs');var fs_extra=require(_0x35ec('0x8'));var _=require('lodash');var squel=require(_0x35ec('0x9'));var crypto=require(_0x35ec('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x35ec('0xb'));var toCsv=require('to-csv');var querystring=require(_0x35ec('0xc'));var Papa=require('papaparse');var Redis=require(_0x35ec('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x35ec('0xe'));var hardwareService=require(_0x35ec('0xf'));var logger=require(_0x35ec('0x10'))(_0x35ec('0x11'));var utils=require(_0x35ec('0x12'));var config=require(_0x35ec('0x13'));var licenseUtil=require(_0x35ec('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x58fd5b,_0x556d2b){_0x556d2b=_0x556d2b||0xcc;return function(_0x549122){if(_0x549122){return _0x58fd5b['sendStatus'](_0x556d2b);}return _0x58fd5b[_0x35ec('0x15')](_0x556d2b)['end']();};}function respondWithResult(_0x1ec409,_0x552961){_0x552961=_0x552961||0xc8;return function(_0x3cf72a){if(_0x3cf72a){return _0x1ec409[_0x35ec('0x15')](_0x552961)[_0x35ec('0x16')](_0x3cf72a);}};}function respondWithFilteredResult(_0x1cf5c9,_0x40fc7f){return function(_0xb0f8c){if(_0xb0f8c){var _0x148f3d=typeof _0x40fc7f[_0x35ec('0x17')]==='undefined'&&typeof _0x40fc7f['limit']===_0x35ec('0x18');var _0x2067b9=_0xb0f8c['count'];var _0x325940=_0x148f3d?0x0:_0x40fc7f[_0x35ec('0x17')];var _0x5e47ae=_0x148f3d?_0xb0f8c[_0x35ec('0x19')]:_0x40fc7f['offset']+_0x40fc7f['limit'];var _0x373b8b;if(_0x5e47ae>=_0x2067b9){_0x5e47ae=_0x2067b9;_0x373b8b=0xc8;}else{_0x373b8b=0xce;}_0x1cf5c9[_0x35ec('0x15')](_0x373b8b);return _0x1cf5c9['set']('Content-Range',_0x325940+'-'+_0x5e47ae+'/'+_0x2067b9)[_0x35ec('0x16')](_0xb0f8c);}return null;};}function patchUpdates(_0x1a3457){return function(_0x173f59){try{jsonpatch[_0x35ec('0x1a')](_0x173f59,_0x1a3457,!![]);}catch(_0x15adab){return BPromise[_0x35ec('0x1b')](_0x15adab);}return _0x173f59[_0x35ec('0x1c')]();};}function saveUpdates(_0x5bc3e5,_0x460c33){return function(_0x3ff6b5){if(_0x3ff6b5){return _0x3ff6b5[_0x35ec('0x1d')](_0x5bc3e5)[_0x35ec('0x1e')](function(_0xf02ae2){return _0xf02ae2;});}return null;};}function removeEntity(_0x3c724f,_0x11fbe7){return function(_0x573eb9){if(_0x573eb9){return _0x573eb9[_0x35ec('0x1f')]()[_0x35ec('0x1e')](function(){_0x3c724f['status'](0xcc)[_0x35ec('0x20')]();});}};}function handleEntityNotFound(_0xbefd73,_0x5b6202){return function(_0x37b0a3){if(!_0x37b0a3){_0xbefd73[_0x35ec('0x21')](0x194);}return _0x37b0a3;};}function handleError(_0x566289,_0x19ffc6){_0x19ffc6=_0x19ffc6||0x1f4;return function(_0x10286c){logger[_0x35ec('0x22')](_0x10286c[_0x35ec('0x23')]);if(_0x10286c[_0x35ec('0x24')]){delete _0x10286c[_0x35ec('0x24')];}_0x566289['status'](_0x19ffc6)['send'](_0x10286c);};}exports[_0x35ec('0x25')]=function(_0x54eade,_0x349b46){var _0x45a612={},_0xb19de6={},_0x555d5a={'count':0x0,'rows':[]};var _0x237ee0=_[_0x35ec('0x26')](db[_0x35ec('0x27')][_0x35ec('0x28')],function(_0x445998){return{'name':_0x445998[_0x35ec('0x29')],'type':_0x445998[_0x35ec('0x2a')][_0x35ec('0x2b')]};});_0xb19de6[_0x35ec('0x2c')]=_[_0x35ec('0x26')](_0x237ee0,_0x35ec('0x24'));_0xb19de6['query']=_[_0x35ec('0x2d')](_0x54eade[_0x35ec('0x2e')]);_0xb19de6[_0x35ec('0x2f')]=_[_0x35ec('0x30')](_0xb19de6['model'],_0xb19de6[_0x35ec('0x2e')]);_0x45a612[_0x35ec('0x31')]=_[_0x35ec('0x30')](_0xb19de6['model'],qs[_0x35ec('0x32')](_0x54eade[_0x35ec('0x2e')][_0x35ec('0x32')]));_0x45a612[_0x35ec('0x31')]=_0x45a612[_0x35ec('0x31')][_0x35ec('0x33')]?_0x45a612['attributes']:_0xb19de6[_0x35ec('0x2c')];if(!_0x54eade['query']['hasOwnProperty']('nolimit')){_0x45a612[_0x35ec('0x34')]=qs['limit'](_0x54eade[_0x35ec('0x2e')][_0x35ec('0x34')]);_0x45a612[_0x35ec('0x17')]=qs[_0x35ec('0x17')](_0x54eade['query'][_0x35ec('0x17')]);}_0x45a612[_0x35ec('0x35')]=qs[_0x35ec('0x36')](_0x54eade['query'][_0x35ec('0x36')]);_0x45a612[_0x35ec('0x37')]=qs[_0x35ec('0x2f')](_[_0x35ec('0x38')](_0x54eade['query'],_0xb19de6[_0x35ec('0x2f')]),_0x237ee0);if(_0x54eade[_0x35ec('0x2e')][_0x35ec('0x39')]){_0x45a612[_0x35ec('0x37')]=_['merge'](_0x45a612[_0x35ec('0x37')],{'$or':_['map'](_0x237ee0,function(_0x3ef346){if(_0x3ef346[_0x35ec('0x2a')]!==_0x35ec('0x3a')){var _0x22bfb9={};_0x22bfb9[_0x3ef346['name']]={'$like':'%'+_0x54eade[_0x35ec('0x2e')][_0x35ec('0x39')]+'%'};return _0x22bfb9;}})});}_0x45a612=_[_0x35ec('0x3b')]({},_0x45a612,_0x54eade['options']);var _0x22ea6f={'where':_0x45a612['where']};return db['CmHopperBlack'][_0x35ec('0x19')](_0x22ea6f)[_0x35ec('0x1e')](function(_0x431daa){_0x555d5a[_0x35ec('0x19')]=_0x431daa;if(_0x54eade[_0x35ec('0x2e')]['includeAll']){_0x45a612[_0x35ec('0x3c')]=[{'all':!![]}];}return db[_0x35ec('0x27')][_0x35ec('0x3d')](_0x45a612);})['then'](function(_0x2a7f26){_0x555d5a[_0x35ec('0x3e')]=_0x2a7f26;return _0x555d5a;})['then'](respondWithFilteredResult(_0x349b46,_0x45a612))['catch'](handleError(_0x349b46,null));};exports[_0x35ec('0x3f')]=function(_0x1dd43e,_0x1a7d28){var _0xc26897={'raw':!![],'where':{'id':_0x1dd43e[_0x35ec('0x40')]['id']}},_0x32c5ed={};_0x32c5ed['model']=_[_0x35ec('0x2d')](db[_0x35ec('0x27')][_0x35ec('0x28')]);_0x32c5ed[_0x35ec('0x2e')]=_[_0x35ec('0x2d')](_0x1dd43e[_0x35ec('0x2e')]);_0x32c5ed[_0x35ec('0x2f')]=_['intersection'](_0x32c5ed[_0x35ec('0x2c')],_0x32c5ed[_0x35ec('0x2e')]);_0xc26897['attributes']=_[_0x35ec('0x30')](_0x32c5ed[_0x35ec('0x2c')],qs[_0x35ec('0x32')](_0x1dd43e[_0x35ec('0x2e')][_0x35ec('0x32')]));_0xc26897['attributes']=_0xc26897['attributes']['length']?_0xc26897[_0x35ec('0x31')]:_0x32c5ed[_0x35ec('0x2c')];if(_0x1dd43e[_0x35ec('0x2e')]['includeAll']){_0xc26897['include']=[{'all':!![]}];}_0xc26897=_['merge']({},_0xc26897,_0x1dd43e[_0x35ec('0x41')]);return db[_0x35ec('0x27')][_0x35ec('0x42')](_0xc26897)['then'](handleEntityNotFound(_0x1a7d28,null))['then'](respondWithResult(_0x1a7d28,null))['catch'](handleError(_0x1a7d28,null));};exports[_0x35ec('0x1d')]=function(_0x284016,_0x4b65bb){if(_0x284016[_0x35ec('0x43')]['id']){delete _0x284016[_0x35ec('0x43')]['id'];}return db[_0x35ec('0x27')][_0x35ec('0x42')]({'where':{'id':_0x284016['params']['id']}})['then'](handleEntityNotFound(_0x4b65bb,null))[_0x35ec('0x1e')](saveUpdates(_0x284016[_0x35ec('0x43')],null))[_0x35ec('0x1e')](respondWithResult(_0x4b65bb,null))[_0x35ec('0x44')](handleError(_0x4b65bb,null));};exports[_0x35ec('0x1f')]=function(_0x4a891c,_0x3ca8a0){return db[_0x35ec('0x27')]['find']({'where':{'id':_0x4a891c[_0x35ec('0x40')]['id']}})[_0x35ec('0x1e')](handleEntityNotFound(_0x3ca8a0,null))[_0x35ec('0x1e')](removeEntity(_0x3ca8a0,null))[_0x35ec('0x44')](handleError(_0x3ca8a0,null));};exports[_0x35ec('0x45')]=function(_0x207a30,_0x4de504){return db[_0x35ec('0x27')]['describe']()[_0x35ec('0x1e')](respondWithResult(_0x4de504,null))['catch'](handleError(_0x4de504,null));};