b2b09a659e5fc0d652476cb570e0713c5129208e
[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 _0xfbbc=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','CmHopperBlack','rawAttributes','fieldName','type','key','model','query','intersection','fields','attributes','length','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','rows','catch','show','params','keys','include','find','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','util','sox','to-csv','fs-extra','squel','crypto','jsforce'];(function(_0x4aee28,_0x2beefc){var _0x696b01=function(_0x2b132e){while(--_0x2b132e){_0x4aee28['push'](_0x4aee28['shift']());}};_0x696b01(++_0x2beefc);}(_0xfbbc,0x86));var _0xcfbb=function(_0x1ba24d,_0xcf7475){_0x1ba24d=_0x1ba24d-0x0;var _0x3ae9d0=_0xfbbc[_0x1ba24d];return _0x3ae9d0;};'use strict';var emlformat=require(_0xcfbb('0x0'));var rimraf=require(_0xcfbb('0x1'));var zipdir=require(_0xcfbb('0x2'));var jsonpatch=require(_0xcfbb('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xcfbb('0x4'));var Mustache=require('mustache');var util=require(_0xcfbb('0x5'));var path=require('path');var sox=require(_0xcfbb('0x6'));var csv=require(_0xcfbb('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xcfbb('0x8'));var _=require('lodash');var squel=require(_0xcfbb('0x9'));var crypto=require(_0xcfbb('0xa'));var jsforce=require(_0xcfbb('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xcfbb('0x7'));var querystring=require(_0xcfbb('0xc'));var Papa=require(_0xcfbb('0xd'));var Redis=require(_0xcfbb('0xe'));var authService=require(_0xcfbb('0xf'));var qs=require(_0xcfbb('0x10'));var as=require(_0xcfbb('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xcfbb('0x12'));var utils=require(_0xcfbb('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xcfbb('0x14'));var db=require(_0xcfbb('0x15'))['db'];function respondWithStatusCode(_0x28bbf0,_0x52edb9){_0x52edb9=_0x52edb9||0xcc;return function(_0xf6a21){if(_0xf6a21){return _0x28bbf0[_0xcfbb('0x16')](_0x52edb9);}return _0x28bbf0[_0xcfbb('0x17')](_0x52edb9)['end']();};}function respondWithResult(_0x684c84,_0x3542bb){_0x3542bb=_0x3542bb||0xc8;return function(_0xdb5e68){if(_0xdb5e68){return _0x684c84[_0xcfbb('0x17')](_0x3542bb)['json'](_0xdb5e68);}};}function respondWithFilteredResult(_0x3fdf65,_0x3c3e6e){return function(_0x3d0e9e){if(_0x3d0e9e){var _0x529df2=typeof _0x3c3e6e[_0xcfbb('0x18')]==='undefined'&&typeof _0x3c3e6e[_0xcfbb('0x19')]==='undefined';var _0x47fe32=_0x3d0e9e['count'];var _0x7537b4=_0x529df2?0x0:_0x3c3e6e[_0xcfbb('0x18')];var _0x43846f=_0x529df2?_0x3d0e9e[_0xcfbb('0x1a')]:_0x3c3e6e[_0xcfbb('0x18')]+_0x3c3e6e['limit'];var _0xfb2f9;if(_0x43846f>=_0x47fe32){_0x43846f=_0x47fe32;_0xfb2f9=0xc8;}else{_0xfb2f9=0xce;}_0x3fdf65['status'](_0xfb2f9);return _0x3fdf65[_0xcfbb('0x1b')](_0xcfbb('0x1c'),_0x7537b4+'-'+_0x43846f+'/'+_0x47fe32)[_0xcfbb('0x1d')](_0x3d0e9e);}return null;};}function patchUpdates(_0x2a63c5){return function(_0x292036){try{jsonpatch[_0xcfbb('0x1e')](_0x292036,_0x2a63c5,!![]);}catch(_0x1d907b){return BPromise[_0xcfbb('0x1f')](_0x1d907b);}return _0x292036[_0xcfbb('0x20')]();};}function saveUpdates(_0x3d361b,_0x571f32){return function(_0x283aed){if(_0x283aed){return _0x283aed[_0xcfbb('0x21')](_0x3d361b)[_0xcfbb('0x22')](function(_0x93215d){return _0x93215d;});}return null;};}function removeEntity(_0x2b94e6,_0x224345){return function(_0x1d8161){if(_0x1d8161){return _0x1d8161[_0xcfbb('0x23')]()[_0xcfbb('0x22')](function(){_0x2b94e6['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x432490,_0x1a0cae){return function(_0x234a9a){if(!_0x234a9a){_0x432490[_0xcfbb('0x16')](0x194);}return _0x234a9a;};}function handleError(_0x3a6a4f,_0x3aa4cc){_0x3aa4cc=_0x3aa4cc||0x1f4;return function(_0x574ff5){logger[_0xcfbb('0x24')](_0x574ff5[_0xcfbb('0x25')]);if(_0x574ff5['name']){delete _0x574ff5[_0xcfbb('0x26')];}_0x3a6a4f[_0xcfbb('0x17')](_0x3aa4cc)[_0xcfbb('0x27')](_0x574ff5);};}exports[_0xcfbb('0x28')]=function(_0x1c0323,_0x235aa1){var _0x5a6165={},_0x2130f9={},_0x102cc4={'count':0x0,'rows':[]};var _0x593e5d=_[_0xcfbb('0x29')](db[_0xcfbb('0x2a')][_0xcfbb('0x2b')],function(_0x2bc190){return{'name':_0x2bc190[_0xcfbb('0x2c')],'type':_0x2bc190[_0xcfbb('0x2d')][_0xcfbb('0x2e')]};});_0x2130f9[_0xcfbb('0x2f')]=_[_0xcfbb('0x29')](_0x593e5d,'name');_0x2130f9[_0xcfbb('0x30')]=_['keys'](_0x1c0323[_0xcfbb('0x30')]);_0x2130f9['filters']=_[_0xcfbb('0x31')](_0x2130f9[_0xcfbb('0x2f')],_0x2130f9['query']);_0x5a6165['attributes']=_[_0xcfbb('0x31')](_0x2130f9[_0xcfbb('0x2f')],qs[_0xcfbb('0x32')](_0x1c0323[_0xcfbb('0x30')][_0xcfbb('0x32')]));_0x5a6165[_0xcfbb('0x33')]=_0x5a6165['attributes'][_0xcfbb('0x34')]?_0x5a6165[_0xcfbb('0x33')]:_0x2130f9[_0xcfbb('0x2f')];if(!_0x1c0323[_0xcfbb('0x30')]['hasOwnProperty'](_0xcfbb('0x35'))){_0x5a6165[_0xcfbb('0x19')]=qs[_0xcfbb('0x19')](_0x1c0323[_0xcfbb('0x30')]['limit']);_0x5a6165['offset']=qs['offset'](_0x1c0323['query'][_0xcfbb('0x18')]);}_0x5a6165[_0xcfbb('0x36')]=qs[_0xcfbb('0x37')](_0x1c0323[_0xcfbb('0x30')][_0xcfbb('0x37')]);_0x5a6165[_0xcfbb('0x38')]=qs[_0xcfbb('0x39')](_[_0xcfbb('0x3a')](_0x1c0323['query'],_0x2130f9[_0xcfbb('0x39')]),_0x593e5d);if(_0x1c0323[_0xcfbb('0x30')][_0xcfbb('0x3b')]){_0x5a6165['where']=_[_0xcfbb('0x3c')](_0x5a6165['where'],{'$or':_['map'](_0x593e5d,function(_0x4ef9f6){if(_0x4ef9f6[_0xcfbb('0x2d')]!==_0xcfbb('0x3d')){var _0x5c8591={};_0x5c8591[_0x4ef9f6['name']]={'$like':'%'+_0x1c0323['query'][_0xcfbb('0x3b')]+'%'};return _0x5c8591;}})});}_0x5a6165=_[_0xcfbb('0x3c')]({},_0x5a6165,_0x1c0323[_0xcfbb('0x3e')]);var _0x3570f7={'where':_0x5a6165['where']};return db[_0xcfbb('0x2a')][_0xcfbb('0x1a')](_0x3570f7)['then'](function(_0x3e2052){_0x102cc4[_0xcfbb('0x1a')]=_0x3e2052;if(_0x1c0323[_0xcfbb('0x30')][_0xcfbb('0x3f')]){_0x5a6165['include']=[{'all':!![]}];}return db['CmHopperBlack']['findAll'](_0x5a6165);})[_0xcfbb('0x22')](function(_0x61bb58){_0x102cc4[_0xcfbb('0x40')]=_0x61bb58;return _0x102cc4;})[_0xcfbb('0x22')](respondWithFilteredResult(_0x235aa1,_0x5a6165))[_0xcfbb('0x41')](handleError(_0x235aa1,null));};exports[_0xcfbb('0x42')]=function(_0x726189,_0x4d418a){var _0x4dba0e={'raw':!![],'where':{'id':_0x726189[_0xcfbb('0x43')]['id']}},_0x1efc27={};_0x1efc27['model']=_[_0xcfbb('0x44')](db[_0xcfbb('0x2a')][_0xcfbb('0x2b')]);_0x1efc27[_0xcfbb('0x30')]=_[_0xcfbb('0x44')](_0x726189['query']);_0x1efc27['filters']=_['intersection'](_0x1efc27[_0xcfbb('0x2f')],_0x1efc27[_0xcfbb('0x30')]);_0x4dba0e[_0xcfbb('0x33')]=_['intersection'](_0x1efc27[_0xcfbb('0x2f')],qs['fields'](_0x726189['query'][_0xcfbb('0x32')]));_0x4dba0e[_0xcfbb('0x33')]=_0x4dba0e[_0xcfbb('0x33')]['length']?_0x4dba0e[_0xcfbb('0x33')]:_0x1efc27[_0xcfbb('0x2f')];if(_0x726189[_0xcfbb('0x30')]['includeAll']){_0x4dba0e[_0xcfbb('0x45')]=[{'all':!![]}];}_0x4dba0e=_[_0xcfbb('0x3c')]({},_0x4dba0e,_0x726189[_0xcfbb('0x3e')]);return db[_0xcfbb('0x2a')][_0xcfbb('0x46')](_0x4dba0e)[_0xcfbb('0x22')](handleEntityNotFound(_0x4d418a,null))[_0xcfbb('0x22')](respondWithResult(_0x4d418a,null))[_0xcfbb('0x41')](handleError(_0x4d418a,null));};exports[_0xcfbb('0x21')]=function(_0x16d251,_0x4123e9){if(_0x16d251['body']['id']){delete _0x16d251[_0xcfbb('0x47')]['id'];}return db[_0xcfbb('0x2a')][_0xcfbb('0x46')]({'where':{'id':_0x16d251[_0xcfbb('0x43')]['id']}})[_0xcfbb('0x22')](handleEntityNotFound(_0x4123e9,null))[_0xcfbb('0x22')](saveUpdates(_0x16d251[_0xcfbb('0x47')],null))[_0xcfbb('0x22')](respondWithResult(_0x4123e9,null))[_0xcfbb('0x41')](handleError(_0x4123e9,null));};exports[_0xcfbb('0x23')]=function(_0x3a8f12,_0x4de618){return db[_0xcfbb('0x2a')][_0xcfbb('0x46')]({'where':{'id':_0x3a8f12[_0xcfbb('0x43')]['id']}})[_0xcfbb('0x22')](handleEntityNotFound(_0x4de618,null))[_0xcfbb('0x22')](removeEntity(_0x4de618,null))[_0xcfbb('0x41')](handleError(_0x4de618,null));};exports['describe']=function(_0x3aa7a6,_0x71e3f5){return db['CmHopperBlack'][_0xcfbb('0x48')]()[_0xcfbb('0x22')](respondWithResult(_0x71e3f5,null))[_0xcfbb('0x41')](handleError(_0x71e3f5,null));};