63cfb1646e9bf1138b0f911851ee37fe6575110b
[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 _0x5a94=['send','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','CmHopperBlack','includeAll','include','findAll','show','find','catch','body','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','update','then','destroy','stack','name'];(function(_0x5e2cb4,_0x592c64){var _0x282902=function(_0x1c1836){while(--_0x1c1836){_0x5e2cb4['push'](_0x5e2cb4['shift']());}};_0x282902(++_0x592c64);}(_0x5a94,0x1e5));var _0x45a9=function(_0x255d5b,_0x4f6f35){_0x255d5b=_0x255d5b-0x0;var _0x3e141a=_0x5a94[_0x255d5b];return _0x3e141a;};'use strict';var emlformat=require(_0x45a9('0x0'));var rimraf=require(_0x45a9('0x1'));var zipdir=require(_0x45a9('0x2'));var jsonpatch=require(_0x45a9('0x3'));var rp=require(_0x45a9('0x4'));var moment=require(_0x45a9('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x45a9('0x6'));var path=require(_0x45a9('0x7'));var sox=require(_0x45a9('0x8'));var csv=require(_0x45a9('0x9'));var ejs=require(_0x45a9('0xa'));var fs=require('fs');var fs_extra=require(_0x45a9('0xb'));var _=require(_0x45a9('0xc'));var squel=require(_0x45a9('0xd'));var crypto=require(_0x45a9('0xe'));var jsforce=require(_0x45a9('0xf'));var deskjs=require(_0x45a9('0x10'));var toCsv=require('to-csv');var querystring=require(_0x45a9('0x11'));var Papa=require(_0x45a9('0x12'));var Redis=require('ioredis');var authService=require(_0x45a9('0x13'));var qs=require(_0x45a9('0x14'));var as=require(_0x45a9('0x15'));var hardwareService=require(_0x45a9('0x16'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x45a9('0x17'));var licenseUtil=require(_0x45a9('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x6869c1,_0x3578bf){_0x3578bf=_0x3578bf||0xcc;return function(_0x1baac1){if(_0x1baac1){return _0x6869c1[_0x45a9('0x19')](_0x3578bf);}return _0x6869c1[_0x45a9('0x1a')](_0x3578bf)[_0x45a9('0x1b')]();};}function respondWithResult(_0x262361,_0x4efbda){_0x4efbda=_0x4efbda||0xc8;return function(_0x2d13f9){if(_0x2d13f9){return _0x262361[_0x45a9('0x1a')](_0x4efbda)[_0x45a9('0x1c')](_0x2d13f9);}};}function respondWithFilteredResult(_0x59a7a7,_0x2ef445){return function(_0x34f533){if(_0x34f533){var _0x31070e=typeof _0x2ef445[_0x45a9('0x1d')]===_0x45a9('0x1e')&&typeof _0x2ef445[_0x45a9('0x1f')]===_0x45a9('0x1e');var _0x198ea9=_0x34f533[_0x45a9('0x20')];var _0x2aedee=_0x31070e?0x0:_0x2ef445[_0x45a9('0x1d')];var _0x3b3b2f=_0x31070e?_0x34f533[_0x45a9('0x20')]:_0x2ef445['offset']+_0x2ef445[_0x45a9('0x1f')];var _0x4b1cc9;if(_0x3b3b2f>=_0x198ea9){_0x3b3b2f=_0x198ea9;_0x4b1cc9=0xc8;}else{_0x4b1cc9=0xce;}_0x59a7a7[_0x45a9('0x1a')](_0x4b1cc9);return _0x59a7a7[_0x45a9('0x21')]('Content-Range',_0x2aedee+'-'+_0x3b3b2f+'/'+_0x198ea9)['json'](_0x34f533);}return null;};}function patchUpdates(_0x5859f6){return function(_0x30028a){try{jsonpatch[_0x45a9('0x22')](_0x30028a,_0x5859f6,!![]);}catch(_0x1f2735){return BPromise['reject'](_0x1f2735);}return _0x30028a['save']();};}function saveUpdates(_0x34598f,_0x62cb9f){return function(_0x15baff){if(_0x15baff){return _0x15baff[_0x45a9('0x23')](_0x34598f)[_0x45a9('0x24')](function(_0x5a1952){return _0x5a1952;});}return null;};}function removeEntity(_0x19dfb,_0x5a8216){return function(_0x161fef){if(_0x161fef){return _0x161fef[_0x45a9('0x25')]()['then'](function(){_0x19dfb['status'](0xcc)[_0x45a9('0x1b')]();});}};}function handleEntityNotFound(_0x57f229,_0x23693b){return function(_0x42a0a1){if(!_0x42a0a1){_0x57f229[_0x45a9('0x19')](0x194);}return _0x42a0a1;};}function handleError(_0x132798,_0x46c7ed){_0x46c7ed=_0x46c7ed||0x1f4;return function(_0x1fccf5){logger['error'](_0x1fccf5[_0x45a9('0x26')]);if(_0x1fccf5[_0x45a9('0x27')]){delete _0x1fccf5[_0x45a9('0x27')];}_0x132798[_0x45a9('0x1a')](_0x46c7ed)[_0x45a9('0x28')](_0x1fccf5);};}exports[_0x45a9('0x29')]=function(_0x349d44,_0x18f1ca){var _0x46acfd={},_0x3e4cb1={},_0x13874a={'count':0x0,'rows':[]};var _0x30238e=_['map'](db['CmHopperBlack'][_0x45a9('0x2a')],function(_0x1a083a){return{'name':_0x1a083a[_0x45a9('0x2b')],'type':_0x1a083a[_0x45a9('0x2c')][_0x45a9('0x2d')]};});_0x3e4cb1[_0x45a9('0x2e')]=_[_0x45a9('0x2f')](_0x30238e,_0x45a9('0x27'));_0x3e4cb1[_0x45a9('0x30')]=_[_0x45a9('0x31')](_0x349d44['query']);_0x3e4cb1[_0x45a9('0x32')]=_[_0x45a9('0x33')](_0x3e4cb1[_0x45a9('0x2e')],_0x3e4cb1[_0x45a9('0x30')]);_0x46acfd['attributes']=_['intersection'](_0x3e4cb1[_0x45a9('0x2e')],qs[_0x45a9('0x34')](_0x349d44['query'][_0x45a9('0x34')]));_0x46acfd[_0x45a9('0x35')]=_0x46acfd[_0x45a9('0x35')][_0x45a9('0x36')]?_0x46acfd[_0x45a9('0x35')]:_0x3e4cb1[_0x45a9('0x2e')];if(!_0x349d44[_0x45a9('0x30')][_0x45a9('0x37')](_0x45a9('0x38'))){_0x46acfd['limit']=qs[_0x45a9('0x1f')](_0x349d44['query'][_0x45a9('0x1f')]);_0x46acfd[_0x45a9('0x1d')]=qs['offset'](_0x349d44['query'][_0x45a9('0x1d')]);}_0x46acfd[_0x45a9('0x39')]=qs['sort'](_0x349d44['query'][_0x45a9('0x3a')]);_0x46acfd[_0x45a9('0x3b')]=qs[_0x45a9('0x32')](_[_0x45a9('0x3c')](_0x349d44['query'],_0x3e4cb1[_0x45a9('0x32')]),_0x30238e);if(_0x349d44['query']['filter']){_0x46acfd[_0x45a9('0x3b')]=_[_0x45a9('0x3d')](_0x46acfd[_0x45a9('0x3b')],{'$or':_['map'](_0x30238e,function(_0x15f09b){if(_0x15f09b[_0x45a9('0x2c')]!==_0x45a9('0x3e')){var _0x5a2e43={};_0x5a2e43[_0x15f09b[_0x45a9('0x27')]]={'$like':'%'+_0x349d44[_0x45a9('0x30')][_0x45a9('0x3f')]+'%'};return _0x5a2e43;}})});}_0x46acfd=_[_0x45a9('0x3d')]({},_0x46acfd,_0x349d44[_0x45a9('0x40')]);var _0x12c09a={'where':_0x46acfd['where']};return db[_0x45a9('0x41')][_0x45a9('0x20')](_0x12c09a)[_0x45a9('0x24')](function(_0x8ad476){_0x13874a['count']=_0x8ad476;if(_0x349d44[_0x45a9('0x30')][_0x45a9('0x42')]){_0x46acfd[_0x45a9('0x43')]=[{'all':!![]}];}return db[_0x45a9('0x41')][_0x45a9('0x44')](_0x46acfd);})[_0x45a9('0x24')](function(_0x35ca73){_0x13874a['rows']=_0x35ca73;return _0x13874a;})['then'](respondWithFilteredResult(_0x18f1ca,_0x46acfd))['catch'](handleError(_0x18f1ca,null));};exports[_0x45a9('0x45')]=function(_0x391697,_0x4b7e9a){var _0x1c7d14={'raw':!![],'where':{'id':_0x391697['params']['id']}},_0x184a71={};_0x184a71[_0x45a9('0x2e')]=_[_0x45a9('0x31')](db[_0x45a9('0x41')][_0x45a9('0x2a')]);_0x184a71[_0x45a9('0x30')]=_['keys'](_0x391697[_0x45a9('0x30')]);_0x184a71[_0x45a9('0x32')]=_[_0x45a9('0x33')](_0x184a71[_0x45a9('0x2e')],_0x184a71[_0x45a9('0x30')]);_0x1c7d14[_0x45a9('0x35')]=_['intersection'](_0x184a71[_0x45a9('0x2e')],qs[_0x45a9('0x34')](_0x391697[_0x45a9('0x30')][_0x45a9('0x34')]));_0x1c7d14[_0x45a9('0x35')]=_0x1c7d14[_0x45a9('0x35')]['length']?_0x1c7d14[_0x45a9('0x35')]:_0x184a71['model'];if(_0x391697[_0x45a9('0x30')][_0x45a9('0x42')]){_0x1c7d14[_0x45a9('0x43')]=[{'all':!![]}];}_0x1c7d14=_['merge']({},_0x1c7d14,_0x391697[_0x45a9('0x40')]);return db[_0x45a9('0x41')][_0x45a9('0x46')](_0x1c7d14)['then'](handleEntityNotFound(_0x4b7e9a,null))[_0x45a9('0x24')](respondWithResult(_0x4b7e9a,null))[_0x45a9('0x47')](handleError(_0x4b7e9a,null));};exports['update']=function(_0x430017,_0x52817b){if(_0x430017['body']['id']){delete _0x430017[_0x45a9('0x48')]['id'];}return db['CmHopperBlack']['find']({'where':{'id':_0x430017[_0x45a9('0x49')]['id']}})[_0x45a9('0x24')](handleEntityNotFound(_0x52817b,null))[_0x45a9('0x24')](saveUpdates(_0x430017[_0x45a9('0x48')],null))[_0x45a9('0x24')](respondWithResult(_0x52817b,null))[_0x45a9('0x47')](handleError(_0x52817b,null));};exports[_0x45a9('0x25')]=function(_0x53d6f0,_0x8c82a8){return db[_0x45a9('0x41')]['find']({'where':{'id':_0x53d6f0[_0x45a9('0x49')]['id']}})[_0x45a9('0x24')](handleEntityNotFound(_0x8c82a8,null))['then'](removeEntity(_0x8c82a8,null))['catch'](handleError(_0x8c82a8,null));};exports['describe']=function(_0x303f42,_0x40d1fd){return db[_0x45a9('0x41')][_0x45a9('0x4a')]()[_0x45a9('0x24')](respondWithResult(_0x40d1fd,null))['catch'](handleError(_0x40d1fd,null));};