e4d8bdec0e62273969e6468086cdf9d1156b8b8e
[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 _0x6926=['save','update','then','error','stack','name','send','CmHopperBlack','fieldName','type','key','model','map','keys','filters','intersection','query','fields','attributes','length','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','rawAttributes','body','destroy','find','describe','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','count','offset','limit','Content-Range','json','apply','reject'];(function(_0x5ea6c3,_0x654764){var _0xb400e9=function(_0x53f3dc){while(--_0x53f3dc){_0x5ea6c3['push'](_0x5ea6c3['shift']());}};_0xb400e9(++_0x654764);}(_0x6926,0xbd));var _0x6692=function(_0x5809d6,_0x2d9d74){_0x5809d6=_0x5809d6-0x0;var _0x56c3b9=_0x6926[_0x5809d6];return _0x56c3b9;};'use strict';var emlformat=require(_0x6692('0x0'));var rimraf=require(_0x6692('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6692('0x2'));var rp=require('request-promise');var moment=require(_0x6692('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x6692('0x4'));var util=require(_0x6692('0x5'));var path=require(_0x6692('0x6'));var sox=require('sox');var csv=require(_0x6692('0x7'));var ejs=require(_0x6692('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6692('0x9'));var squel=require(_0x6692('0xa'));var crypto=require(_0x6692('0xb'));var jsforce=require(_0x6692('0xc'));var deskjs=require(_0x6692('0xd'));var toCsv=require(_0x6692('0x7'));var querystring=require(_0x6692('0xe'));var Papa=require('papaparse');var Redis=require(_0x6692('0xf'));var authService=require(_0x6692('0x10'));var qs=require(_0x6692('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6692('0x12'));var logger=require(_0x6692('0x13'))(_0x6692('0x14'));var utils=require(_0x6692('0x15'));var config=require(_0x6692('0x16'));var licenseUtil=require(_0x6692('0x17'));var db=require(_0x6692('0x18'))['db'];function respondWithStatusCode(_0x5912ff,_0x22f306){_0x22f306=_0x22f306||0xcc;return function(_0x44fe1e){if(_0x44fe1e){return _0x5912ff[_0x6692('0x19')](_0x22f306);}return _0x5912ff[_0x6692('0x1a')](_0x22f306)[_0x6692('0x1b')]();};}function respondWithResult(_0xcb5017,_0x5254cf){_0x5254cf=_0x5254cf||0xc8;return function(_0x276960){if(_0x276960){return _0xcb5017[_0x6692('0x1a')](_0x5254cf)['json'](_0x276960);}};}function respondWithFilteredResult(_0x4412fe,_0x28678e){return function(_0xe20284){if(_0xe20284){var _0x39d1c1=typeof _0x28678e['offset']===_0x6692('0x1c')&&typeof _0x28678e['limit']===_0x6692('0x1c');var _0x3b9b7c=_0xe20284[_0x6692('0x1d')];var _0x21d8f4=_0x39d1c1?0x0:_0x28678e[_0x6692('0x1e')];var _0x295954=_0x39d1c1?_0xe20284[_0x6692('0x1d')]:_0x28678e['offset']+_0x28678e[_0x6692('0x1f')];var _0x44711d;if(_0x295954>=_0x3b9b7c){_0x295954=_0x3b9b7c;_0x44711d=0xc8;}else{_0x44711d=0xce;}_0x4412fe[_0x6692('0x1a')](_0x44711d);return _0x4412fe['set'](_0x6692('0x20'),_0x21d8f4+'-'+_0x295954+'/'+_0x3b9b7c)[_0x6692('0x21')](_0xe20284);}return null;};}function patchUpdates(_0x268254){return function(_0x34d6d4){try{jsonpatch[_0x6692('0x22')](_0x34d6d4,_0x268254,!![]);}catch(_0x2eedd9){return BPromise[_0x6692('0x23')](_0x2eedd9);}return _0x34d6d4[_0x6692('0x24')]();};}function saveUpdates(_0x24e625,_0x28b155){return function(_0x578d84){if(_0x578d84){return _0x578d84[_0x6692('0x25')](_0x24e625)[_0x6692('0x26')](function(_0x50cd47){return _0x50cd47;});}return null;};}function removeEntity(_0x407662,_0x1717e5){return function(_0x3a28cb){if(_0x3a28cb){return _0x3a28cb['destroy']()['then'](function(){_0x407662[_0x6692('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x118a60,_0x266db8){return function(_0x25c9b2){if(!_0x25c9b2){_0x118a60['sendStatus'](0x194);}return _0x25c9b2;};}function handleError(_0x55705a,_0x230a92){_0x230a92=_0x230a92||0x1f4;return function(_0x5afa56){logger[_0x6692('0x27')](_0x5afa56[_0x6692('0x28')]);if(_0x5afa56[_0x6692('0x29')]){delete _0x5afa56['name'];}_0x55705a[_0x6692('0x1a')](_0x230a92)[_0x6692('0x2a')](_0x5afa56);};}exports['index']=function(_0x34a465,_0x310819){var _0x5f27bc={},_0x1b0c14={},_0x3159dc={'count':0x0,'rows':[]};var _0x30e890=_['map'](db[_0x6692('0x2b')]['rawAttributes'],function(_0xf6e8d3){return{'name':_0xf6e8d3[_0x6692('0x2c')],'type':_0xf6e8d3[_0x6692('0x2d')][_0x6692('0x2e')]};});_0x1b0c14[_0x6692('0x2f')]=_[_0x6692('0x30')](_0x30e890,_0x6692('0x29'));_0x1b0c14['query']=_[_0x6692('0x31')](_0x34a465['query']);_0x1b0c14[_0x6692('0x32')]=_[_0x6692('0x33')](_0x1b0c14[_0x6692('0x2f')],_0x1b0c14[_0x6692('0x34')]);_0x5f27bc['attributes']=_[_0x6692('0x33')](_0x1b0c14[_0x6692('0x2f')],qs[_0x6692('0x35')](_0x34a465[_0x6692('0x34')][_0x6692('0x35')]));_0x5f27bc[_0x6692('0x36')]=_0x5f27bc['attributes'][_0x6692('0x37')]?_0x5f27bc[_0x6692('0x36')]:_0x1b0c14[_0x6692('0x2f')];if(!_0x34a465[_0x6692('0x34')]['hasOwnProperty']('nolimit')){_0x5f27bc['limit']=qs[_0x6692('0x1f')](_0x34a465[_0x6692('0x34')][_0x6692('0x1f')]);_0x5f27bc['offset']=qs['offset'](_0x34a465[_0x6692('0x34')][_0x6692('0x1e')]);}_0x5f27bc[_0x6692('0x38')]=qs['sort'](_0x34a465['query'][_0x6692('0x39')]);_0x5f27bc[_0x6692('0x3a')]=qs[_0x6692('0x32')](_[_0x6692('0x3b')](_0x34a465['query'],_0x1b0c14[_0x6692('0x32')]),_0x30e890);if(_0x34a465[_0x6692('0x34')][_0x6692('0x3c')]){_0x5f27bc['where']=_[_0x6692('0x3d')](_0x5f27bc['where'],{'$or':_[_0x6692('0x30')](_0x30e890,function(_0x3bd08c){if(_0x3bd08c['type']!==_0x6692('0x3e')){var _0xc4eb70={};_0xc4eb70[_0x3bd08c[_0x6692('0x29')]]={'$like':'%'+_0x34a465[_0x6692('0x34')][_0x6692('0x3c')]+'%'};return _0xc4eb70;}})});}_0x5f27bc=_['merge']({},_0x5f27bc,_0x34a465[_0x6692('0x3f')]);var _0x205ce9={'where':_0x5f27bc[_0x6692('0x3a')]};return db['CmHopperBlack'][_0x6692('0x1d')](_0x205ce9)[_0x6692('0x26')](function(_0xf98f36){_0x3159dc[_0x6692('0x1d')]=_0xf98f36;if(_0x34a465[_0x6692('0x34')][_0x6692('0x40')]){_0x5f27bc[_0x6692('0x41')]=[{'all':!![]}];}return db['CmHopperBlack']['findAll'](_0x5f27bc);})[_0x6692('0x26')](function(_0x2f7da2){_0x3159dc[_0x6692('0x42')]=_0x2f7da2;return _0x3159dc;})[_0x6692('0x26')](respondWithFilteredResult(_0x310819,_0x5f27bc))[_0x6692('0x43')](handleError(_0x310819,null));};exports[_0x6692('0x44')]=function(_0x353d8f,_0x4284c7){var _0xfcaf57={'raw':!![],'where':{'id':_0x353d8f[_0x6692('0x45')]['id']}},_0xcb9862={};_0xcb9862[_0x6692('0x2f')]=_[_0x6692('0x31')](db['CmHopperBlack'][_0x6692('0x46')]);_0xcb9862['query']=_[_0x6692('0x31')](_0x353d8f['query']);_0xcb9862[_0x6692('0x32')]=_['intersection'](_0xcb9862[_0x6692('0x2f')],_0xcb9862[_0x6692('0x34')]);_0xfcaf57[_0x6692('0x36')]=_['intersection'](_0xcb9862[_0x6692('0x2f')],qs['fields'](_0x353d8f[_0x6692('0x34')][_0x6692('0x35')]));_0xfcaf57['attributes']=_0xfcaf57[_0x6692('0x36')][_0x6692('0x37')]?_0xfcaf57[_0x6692('0x36')]:_0xcb9862[_0x6692('0x2f')];if(_0x353d8f[_0x6692('0x34')][_0x6692('0x40')]){_0xfcaf57[_0x6692('0x41')]=[{'all':!![]}];}_0xfcaf57=_[_0x6692('0x3d')]({},_0xfcaf57,_0x353d8f['options']);return db['CmHopperBlack']['find'](_0xfcaf57)['then'](handleEntityNotFound(_0x4284c7,null))['then'](respondWithResult(_0x4284c7,null))[_0x6692('0x43')](handleError(_0x4284c7,null));};exports[_0x6692('0x25')]=function(_0x371662,_0x3f4256){if(_0x371662[_0x6692('0x47')]['id']){delete _0x371662[_0x6692('0x47')]['id'];}return db[_0x6692('0x2b')]['find']({'where':{'id':_0x371662['params']['id']}})[_0x6692('0x26')](handleEntityNotFound(_0x3f4256,null))[_0x6692('0x26')](saveUpdates(_0x371662['body'],null))[_0x6692('0x26')](respondWithResult(_0x3f4256,null))[_0x6692('0x43')](handleError(_0x3f4256,null));};exports[_0x6692('0x48')]=function(_0x152db7,_0x57a4c6){return db['CmHopperBlack'][_0x6692('0x49')]({'where':{'id':_0x152db7[_0x6692('0x45')]['id']}})[_0x6692('0x26')](handleEntityNotFound(_0x57a4c6,null))[_0x6692('0x26')](removeEntity(_0x57a4c6,null))['catch'](handleError(_0x57a4c6,null));};exports[_0x6692('0x4a')]=function(_0x2b2368,_0x5a51b5){return db[_0x6692('0x2b')][_0x6692('0x4a')]()[_0x6692('0x26')](respondWithResult(_0x5a51b5,null))['catch'](handleError(_0x5a51b5,null));};