51256c933a0452f293bc0ef0e7c190340a075131
[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 _0x83e7=['options','find','update','body','params','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','CmHopperBlack','fieldName','type','key','query','keys','intersection','model','attributes','fields','nolimit','sort','where','pick','filters','filter','VIRTUAL','merge','include','findAll','rows','catch','show','rawAttributes','includeAll'];(function(_0x45add2,_0x40e2aa){var _0x2031f9=function(_0x54e95c){while(--_0x54e95c){_0x45add2['push'](_0x45add2['shift']());}};_0x2031f9(++_0x40e2aa);}(_0x83e7,0x187));var _0x783e=function(_0x3cf868,_0x28a57a){_0x3cf868=_0x3cf868-0x0;var _0x104034=_0x83e7[_0x3cf868];return _0x104034;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x783e('0x0'));var zipdir=require(_0x783e('0x1'));var jsonpatch=require(_0x783e('0x2'));var rp=require(_0x783e('0x3'));var moment=require(_0x783e('0x4'));var BPromise=require(_0x783e('0x5'));var Mustache=require(_0x783e('0x6'));var util=require('util');var path=require('path');var sox=require(_0x783e('0x7'));var csv=require(_0x783e('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x783e('0x9'));var _=require(_0x783e('0xa'));var squel=require(_0x783e('0xb'));var crypto=require('crypto');var jsforce=require(_0x783e('0xc'));var deskjs=require(_0x783e('0xd'));var toCsv=require(_0x783e('0x8'));var querystring=require(_0x783e('0xe'));var Papa=require(_0x783e('0xf'));var Redis=require('ioredis');var authService=require(_0x783e('0x10'));var qs=require(_0x783e('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x783e('0x12'));var logger=require(_0x783e('0x13'))(_0x783e('0x14'));var utils=require(_0x783e('0x15'));var config=require(_0x783e('0x16'));var licenseUtil=require(_0x783e('0x17'));var db=require(_0x783e('0x18'))['db'];function respondWithStatusCode(_0x344635,_0x139257){_0x139257=_0x139257||0xcc;return function(_0x2ec683){if(_0x2ec683){return _0x344635[_0x783e('0x19')](_0x139257);}return _0x344635[_0x783e('0x1a')](_0x139257)[_0x783e('0x1b')]();};}function respondWithResult(_0x369b6e,_0x1c5ccb){_0x1c5ccb=_0x1c5ccb||0xc8;return function(_0x44df86){if(_0x44df86){return _0x369b6e[_0x783e('0x1a')](_0x1c5ccb)[_0x783e('0x1c')](_0x44df86);}};}function respondWithFilteredResult(_0x2dafb9,_0xed98b4){return function(_0x170a9b){if(_0x170a9b){var _0x1bb075=typeof _0xed98b4[_0x783e('0x1d')]==='undefined'&&typeof _0xed98b4[_0x783e('0x1e')]===_0x783e('0x1f');var _0x410cb8=_0x170a9b['count'];var _0x3247f1=_0x1bb075?0x0:_0xed98b4[_0x783e('0x1d')];var _0x33cb44=_0x1bb075?_0x170a9b[_0x783e('0x20')]:_0xed98b4[_0x783e('0x1d')]+_0xed98b4['limit'];var _0x411c64;if(_0x33cb44>=_0x410cb8){_0x33cb44=_0x410cb8;_0x411c64=0xc8;}else{_0x411c64=0xce;}_0x2dafb9[_0x783e('0x1a')](_0x411c64);return _0x2dafb9[_0x783e('0x21')](_0x783e('0x22'),_0x3247f1+'-'+_0x33cb44+'/'+_0x410cb8)[_0x783e('0x1c')](_0x170a9b);}return null;};}function patchUpdates(_0x31edb7){return function(_0x36d45d){try{jsonpatch[_0x783e('0x23')](_0x36d45d,_0x31edb7,!![]);}catch(_0x5ba3b2){return BPromise[_0x783e('0x24')](_0x5ba3b2);}return _0x36d45d[_0x783e('0x25')]();};}function saveUpdates(_0x17c4dd,_0x3ef485){return function(_0x765d05){if(_0x765d05){return _0x765d05['update'](_0x17c4dd)[_0x783e('0x26')](function(_0x183060){return _0x183060;});}return null;};}function removeEntity(_0x999105,_0x32ceff){return function(_0x32ab60){if(_0x32ab60){return _0x32ab60[_0x783e('0x27')]()[_0x783e('0x26')](function(){_0x999105[_0x783e('0x1a')](0xcc)[_0x783e('0x1b')]();});}};}function handleEntityNotFound(_0x36d877,_0x484c8c){return function(_0x384881){if(!_0x384881){_0x36d877[_0x783e('0x19')](0x194);}return _0x384881;};}function handleError(_0x4bbe94,_0x912312){_0x912312=_0x912312||0x1f4;return function(_0x46045e){logger[_0x783e('0x28')](_0x46045e[_0x783e('0x29')]);if(_0x46045e[_0x783e('0x2a')]){delete _0x46045e[_0x783e('0x2a')];}_0x4bbe94[_0x783e('0x1a')](_0x912312)[_0x783e('0x2b')](_0x46045e);};}exports[_0x783e('0x2c')]=function(_0xe47e8f,_0xf90d7d){var _0x1be2bd={},_0x19eea5={},_0xec7a59={'count':0x0,'rows':[]};var _0x2eaafd=_[_0x783e('0x2d')](db[_0x783e('0x2e')]['rawAttributes'],function(_0x5bf19d){return{'name':_0x5bf19d[_0x783e('0x2f')],'type':_0x5bf19d[_0x783e('0x30')][_0x783e('0x31')]};});_0x19eea5['model']=_[_0x783e('0x2d')](_0x2eaafd,_0x783e('0x2a'));_0x19eea5[_0x783e('0x32')]=_[_0x783e('0x33')](_0xe47e8f[_0x783e('0x32')]);_0x19eea5['filters']=_[_0x783e('0x34')](_0x19eea5[_0x783e('0x35')],_0x19eea5[_0x783e('0x32')]);_0x1be2bd[_0x783e('0x36')]=_[_0x783e('0x34')](_0x19eea5[_0x783e('0x35')],qs[_0x783e('0x37')](_0xe47e8f[_0x783e('0x32')][_0x783e('0x37')]));_0x1be2bd[_0x783e('0x36')]=_0x1be2bd[_0x783e('0x36')]['length']?_0x1be2bd[_0x783e('0x36')]:_0x19eea5['model'];if(!_0xe47e8f['query']['hasOwnProperty'](_0x783e('0x38'))){_0x1be2bd[_0x783e('0x1e')]=qs[_0x783e('0x1e')](_0xe47e8f[_0x783e('0x32')][_0x783e('0x1e')]);_0x1be2bd['offset']=qs[_0x783e('0x1d')](_0xe47e8f[_0x783e('0x32')][_0x783e('0x1d')]);}_0x1be2bd['order']=qs[_0x783e('0x39')](_0xe47e8f[_0x783e('0x32')][_0x783e('0x39')]);_0x1be2bd[_0x783e('0x3a')]=qs['filters'](_[_0x783e('0x3b')](_0xe47e8f[_0x783e('0x32')],_0x19eea5[_0x783e('0x3c')]),_0x2eaafd);if(_0xe47e8f[_0x783e('0x32')][_0x783e('0x3d')]){_0x1be2bd[_0x783e('0x3a')]=_['merge'](_0x1be2bd[_0x783e('0x3a')],{'$or':_[_0x783e('0x2d')](_0x2eaafd,function(_0x419bf3){if(_0x419bf3[_0x783e('0x30')]!==_0x783e('0x3e')){var _0x3b23a5={};_0x3b23a5[_0x419bf3['name']]={'$like':'%'+_0xe47e8f[_0x783e('0x32')][_0x783e('0x3d')]+'%'};return _0x3b23a5;}})});}_0x1be2bd=_[_0x783e('0x3f')]({},_0x1be2bd,_0xe47e8f['options']);var _0x56d6b6={'where':_0x1be2bd[_0x783e('0x3a')]};return db[_0x783e('0x2e')][_0x783e('0x20')](_0x56d6b6)[_0x783e('0x26')](function(_0x1a935b){_0xec7a59['count']=_0x1a935b;if(_0xe47e8f[_0x783e('0x32')]['includeAll']){_0x1be2bd[_0x783e('0x40')]=[{'all':!![]}];}return db['CmHopperBlack'][_0x783e('0x41')](_0x1be2bd);})[_0x783e('0x26')](function(_0x4e12e7){_0xec7a59[_0x783e('0x42')]=_0x4e12e7;return _0xec7a59;})[_0x783e('0x26')](respondWithFilteredResult(_0xf90d7d,_0x1be2bd))[_0x783e('0x43')](handleError(_0xf90d7d,null));};exports[_0x783e('0x44')]=function(_0x4e8c3f,_0x2698e8){var _0x266910={'raw':!![],'where':{'id':_0x4e8c3f['params']['id']}},_0x4d71ca={};_0x4d71ca[_0x783e('0x35')]=_[_0x783e('0x33')](db[_0x783e('0x2e')][_0x783e('0x45')]);_0x4d71ca[_0x783e('0x32')]=_['keys'](_0x4e8c3f[_0x783e('0x32')]);_0x4d71ca[_0x783e('0x3c')]=_[_0x783e('0x34')](_0x4d71ca['model'],_0x4d71ca[_0x783e('0x32')]);_0x266910[_0x783e('0x36')]=_['intersection'](_0x4d71ca[_0x783e('0x35')],qs['fields'](_0x4e8c3f[_0x783e('0x32')][_0x783e('0x37')]));_0x266910[_0x783e('0x36')]=_0x266910['attributes']['length']?_0x266910[_0x783e('0x36')]:_0x4d71ca['model'];if(_0x4e8c3f['query'][_0x783e('0x46')]){_0x266910[_0x783e('0x40')]=[{'all':!![]}];}_0x266910=_[_0x783e('0x3f')]({},_0x266910,_0x4e8c3f[_0x783e('0x47')]);return db[_0x783e('0x2e')][_0x783e('0x48')](_0x266910)[_0x783e('0x26')](handleEntityNotFound(_0x2698e8,null))['then'](respondWithResult(_0x2698e8,null))[_0x783e('0x43')](handleError(_0x2698e8,null));};exports[_0x783e('0x49')]=function(_0x270e90,_0x19cd51){if(_0x270e90[_0x783e('0x4a')]['id']){delete _0x270e90[_0x783e('0x4a')]['id'];}return db[_0x783e('0x2e')][_0x783e('0x48')]({'where':{'id':_0x270e90[_0x783e('0x4b')]['id']}})['then'](handleEntityNotFound(_0x19cd51,null))[_0x783e('0x26')](saveUpdates(_0x270e90[_0x783e('0x4a')],null))['then'](respondWithResult(_0x19cd51,null))[_0x783e('0x43')](handleError(_0x19cd51,null));};exports[_0x783e('0x27')]=function(_0x8dddaa,_0x57a2f0){return db[_0x783e('0x2e')][_0x783e('0x48')]({'where':{'id':_0x8dddaa['params']['id']}})['then'](handleEntityNotFound(_0x57a2f0,null))[_0x783e('0x26')](removeEntity(_0x57a2f0,null))[_0x783e('0x43')](handleError(_0x57a2f0,null));};exports[_0x783e('0x4c')]=function(_0x43177e,_0x597fde){return db['CmHopperBlack'][_0x783e('0x4c')]()[_0x783e('0x26')](respondWithResult(_0x597fde,null))[_0x783e('0x43')](handleError(_0x597fde,null));};