Built motion from commit 936e8062.|2.5.33
[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 _0x2144=['../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','save','destroy','then','sendStatus','error','name','send','CmHopperBlack','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','includeAll','findAll','catch','show','keys','include','merge','find','update','body','params','describe','eml-format','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x30fd6f,_0x143ea3){var _0x695a34=function(_0x99de15){while(--_0x99de15){_0x30fd6f['push'](_0x30fd6f['shift']());}};_0x695a34(++_0x143ea3);}(_0x2144,0x19e));var _0x4214=function(_0x39bc80,_0x18f609){_0x39bc80=_0x39bc80-0x0;var _0x350050=_0x2144[_0x39bc80];return _0x350050;};'use strict';var emlformat=require(_0x4214('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x4214('0x1'));var rp=require(_0x4214('0x2'));var moment=require(_0x4214('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x4214('0x4'));var util=require(_0x4214('0x5'));var path=require(_0x4214('0x6'));var sox=require(_0x4214('0x7'));var csv=require('to-csv');var ejs=require(_0x4214('0x8'));var fs=require('fs');var fs_extra=require(_0x4214('0x9'));var _=require(_0x4214('0xa'));var squel=require('squel');var crypto=require(_0x4214('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x4214('0xc'));var toCsv=require(_0x4214('0xd'));var querystring=require('querystring');var Papa=require(_0x4214('0xe'));var Redis=require('ioredis');var authService=require(_0x4214('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x4214('0x10'));var hardwareService=require(_0x4214('0x11'));var logger=require(_0x4214('0x12'))(_0x4214('0x13'));var utils=require(_0x4214('0x14'));var config=require(_0x4214('0x15'));var licenseUtil=require(_0x4214('0x16'));var db=require(_0x4214('0x17'))['db'];function respondWithStatusCode(_0x43009b,_0x4ee5ef){_0x4ee5ef=_0x4ee5ef||0xcc;return function(_0x2afb9e){if(_0x2afb9e){return _0x43009b['sendStatus'](_0x4ee5ef);}return _0x43009b[_0x4214('0x18')](_0x4ee5ef)[_0x4214('0x19')]();};}function respondWithResult(_0x1e07f2,_0x2f9775){_0x2f9775=_0x2f9775||0xc8;return function(_0x5e8f75){if(_0x5e8f75){return _0x1e07f2[_0x4214('0x18')](_0x2f9775)[_0x4214('0x1a')](_0x5e8f75);}};}function respondWithFilteredResult(_0xdf1184,_0xa0c5a4){return function(_0xac4278){if(_0xac4278){var _0xd7e4dd=typeof _0xa0c5a4['offset']===_0x4214('0x1b')&&typeof _0xa0c5a4[_0x4214('0x1c')]==='undefined';var _0x49c091=_0xac4278[_0x4214('0x1d')];var _0xbfc7b9=_0xd7e4dd?0x0:_0xa0c5a4['offset'];var _0x11d844=_0xd7e4dd?_0xac4278[_0x4214('0x1d')]:_0xa0c5a4[_0x4214('0x1e')]+_0xa0c5a4[_0x4214('0x1c')];var _0x5062ff;if(_0x11d844>=_0x49c091){_0x11d844=_0x49c091;_0x5062ff=0xc8;}else{_0x5062ff=0xce;}_0xdf1184['status'](_0x5062ff);return _0xdf1184[_0x4214('0x1f')]('Content-Range',_0xbfc7b9+'-'+_0x11d844+'/'+_0x49c091)[_0x4214('0x1a')](_0xac4278);}return null;};}function patchUpdates(_0x4895fe){return function(_0x475f68){try{jsonpatch['apply'](_0x475f68,_0x4895fe,!![]);}catch(_0x5f5348){return BPromise['reject'](_0x5f5348);}return _0x475f68[_0x4214('0x20')]();};}function saveUpdates(_0x57ca18,_0x337e3f){return function(_0x10be55){if(_0x10be55){return _0x10be55['update'](_0x57ca18)['then'](function(_0x1d6aee){return _0x1d6aee;});}return null;};}function removeEntity(_0x129675,_0x3f2cb3){return function(_0x1a0687){if(_0x1a0687){return _0x1a0687[_0x4214('0x21')]()[_0x4214('0x22')](function(){_0x129675['status'](0xcc)[_0x4214('0x19')]();});}};}function handleEntityNotFound(_0x8d092d,_0x18c533){return function(_0x18435b){if(!_0x18435b){_0x8d092d[_0x4214('0x23')](0x194);}return _0x18435b;};}function handleError(_0x58a283,_0x17f334){_0x17f334=_0x17f334||0x1f4;return function(_0x4eb3c1){logger[_0x4214('0x24')](_0x4eb3c1['stack']);if(_0x4eb3c1[_0x4214('0x25')]){delete _0x4eb3c1[_0x4214('0x25')];}_0x58a283['status'](_0x17f334)[_0x4214('0x26')](_0x4eb3c1);};}exports['index']=function(_0x2939d7,_0x130a2f){var _0x470b92={},_0x429fc0={},_0x2f0579={'count':0x0,'rows':[]};var _0x196aa0=_['map'](db[_0x4214('0x27')][_0x4214('0x28')],function(_0x136185){return{'name':_0x136185[_0x4214('0x29')],'type':_0x136185[_0x4214('0x2a')][_0x4214('0x2b')]};});_0x429fc0[_0x4214('0x2c')]=_[_0x4214('0x2d')](_0x196aa0,'name');_0x429fc0[_0x4214('0x2e')]=_['keys'](_0x2939d7[_0x4214('0x2e')]);_0x429fc0[_0x4214('0x2f')]=_[_0x4214('0x30')](_0x429fc0[_0x4214('0x2c')],_0x429fc0['query']);_0x470b92[_0x4214('0x31')]=_[_0x4214('0x30')](_0x429fc0[_0x4214('0x2c')],qs[_0x4214('0x32')](_0x2939d7[_0x4214('0x2e')][_0x4214('0x32')]));_0x470b92[_0x4214('0x31')]=_0x470b92['attributes'][_0x4214('0x33')]?_0x470b92[_0x4214('0x31')]:_0x429fc0[_0x4214('0x2c')];if(!_0x2939d7[_0x4214('0x2e')][_0x4214('0x34')](_0x4214('0x35'))){_0x470b92['limit']=qs['limit'](_0x2939d7['query']['limit']);_0x470b92[_0x4214('0x1e')]=qs['offset'](_0x2939d7[_0x4214('0x2e')]['offset']);}_0x470b92[_0x4214('0x36')]=qs['sort'](_0x2939d7[_0x4214('0x2e')][_0x4214('0x37')]);_0x470b92[_0x4214('0x38')]=qs[_0x4214('0x2f')](_[_0x4214('0x39')](_0x2939d7[_0x4214('0x2e')],_0x429fc0['filters']),_0x196aa0);if(_0x2939d7[_0x4214('0x2e')][_0x4214('0x3a')]){_0x470b92['where']=_['merge'](_0x470b92[_0x4214('0x38')],{'$or':_[_0x4214('0x2d')](_0x196aa0,function(_0x37eb3f){if(_0x37eb3f[_0x4214('0x2a')]!=='VIRTUAL'){var _0x3c364f={};_0x3c364f[_0x37eb3f[_0x4214('0x25')]]={'$like':'%'+_0x2939d7[_0x4214('0x2e')]['filter']+'%'};return _0x3c364f;}})});}_0x470b92=_['merge']({},_0x470b92,_0x2939d7[_0x4214('0x3b')]);var _0x234e3b={'where':_0x470b92['where']};return db['CmHopperBlack']['count'](_0x234e3b)[_0x4214('0x22')](function(_0x5b9bc3){_0x2f0579[_0x4214('0x1d')]=_0x5b9bc3;if(_0x2939d7[_0x4214('0x2e')][_0x4214('0x3c')]){_0x470b92['include']=[{'all':!![]}];}return db['CmHopperBlack'][_0x4214('0x3d')](_0x470b92);})[_0x4214('0x22')](function(_0xd21dde){_0x2f0579['rows']=_0xd21dde;return _0x2f0579;})[_0x4214('0x22')](respondWithFilteredResult(_0x130a2f,_0x470b92))[_0x4214('0x3e')](handleError(_0x130a2f,null));};exports[_0x4214('0x3f')]=function(_0x4ba2d9,_0x4cc2e5){var _0x2c89ed={'raw':!![],'where':{'id':_0x4ba2d9['params']['id']}},_0x2be407={};_0x2be407[_0x4214('0x2c')]=_[_0x4214('0x40')](db[_0x4214('0x27')]['rawAttributes']);_0x2be407[_0x4214('0x2e')]=_[_0x4214('0x40')](_0x4ba2d9[_0x4214('0x2e')]);_0x2be407[_0x4214('0x2f')]=_[_0x4214('0x30')](_0x2be407[_0x4214('0x2c')],_0x2be407[_0x4214('0x2e')]);_0x2c89ed[_0x4214('0x31')]=_[_0x4214('0x30')](_0x2be407[_0x4214('0x2c')],qs[_0x4214('0x32')](_0x4ba2d9[_0x4214('0x2e')][_0x4214('0x32')]));_0x2c89ed[_0x4214('0x31')]=_0x2c89ed[_0x4214('0x31')]['length']?_0x2c89ed[_0x4214('0x31')]:_0x2be407['model'];if(_0x4ba2d9[_0x4214('0x2e')][_0x4214('0x3c')]){_0x2c89ed[_0x4214('0x41')]=[{'all':!![]}];}_0x2c89ed=_[_0x4214('0x42')]({},_0x2c89ed,_0x4ba2d9['options']);return db[_0x4214('0x27')][_0x4214('0x43')](_0x2c89ed)['then'](handleEntityNotFound(_0x4cc2e5,null))[_0x4214('0x22')](respondWithResult(_0x4cc2e5,null))[_0x4214('0x3e')](handleError(_0x4cc2e5,null));};exports[_0x4214('0x44')]=function(_0x2f8384,_0x2304b2){if(_0x2f8384[_0x4214('0x45')]['id']){delete _0x2f8384[_0x4214('0x45')]['id'];}return db[_0x4214('0x27')]['find']({'where':{'id':_0x2f8384[_0x4214('0x46')]['id']}})[_0x4214('0x22')](handleEntityNotFound(_0x2304b2,null))['then'](saveUpdates(_0x2f8384[_0x4214('0x45')],null))['then'](respondWithResult(_0x2304b2,null))[_0x4214('0x3e')](handleError(_0x2304b2,null));};exports[_0x4214('0x21')]=function(_0x10f9fb,_0x6ba3c0){return db['CmHopperBlack']['find']({'where':{'id':_0x10f9fb['params']['id']}})['then'](handleEntityNotFound(_0x6ba3c0,null))[_0x4214('0x22')](removeEntity(_0x6ba3c0,null))[_0x4214('0x3e')](handleError(_0x6ba3c0,null));};exports[_0x4214('0x47')]=function(_0x2c2db4,_0x454136){return db[_0x4214('0x27')][_0x4214('0x47')]()['then'](respondWithResult(_0x454136,null))[_0x4214('0x3e')](handleError(_0x454136,null));};