ac72c7d3254bcc70fd140ab3e207a4c5dd38967e
[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 _0x544b=['destroy','end','sendStatus','stack','name','send','index','map','type','key','query','keys','intersection','model','attributes','length','hasOwnProperty','limit','order','sort','where','filters','pick','filter','VIRTUAL','CmHopperBlack','includeAll','findAll','rows','show','params','rawAttributes','include','merge','options','catch','body','find','describe','html-pdf','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','ejs','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','count','offset','Content-Range','reject','update','then'];(function(_0x36e686,_0x3dd2c3){var _0x204c88=function(_0x1c82c7){while(--_0x1c82c7){_0x36e686['push'](_0x36e686['shift']());}};_0x204c88(++_0x3dd2c3);}(_0x544b,0x1c5));var _0xb544=function(_0x49dd14,_0x5880c2){_0x49dd14=_0x49dd14-0x0;var _0x27114e=_0x544b[_0x49dd14];return _0x27114e;};'use strict';var pdf=require(_0xb544('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb544('0x1'));var zipdir=require(_0xb544('0x2'));var jsonpatch=require(_0xb544('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xb544('0x4'));var util=require(_0xb544('0x5'));var path=require(_0xb544('0x6'));var sox=require(_0xb544('0x7'));var csv=require('to-csv');var ejs=require(_0xb544('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xb544('0x9'));var crypto=require('crypto');var jsforce=require(_0xb544('0xa'));var deskjs=require(_0xb544('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xb544('0xc'));var Redis=require(_0xb544('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xb544('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb544('0xf'));var logger=require(_0xb544('0x10'))(_0xb544('0x11'));var utils=require(_0xb544('0x12'));var config=require(_0xb544('0x13'));var licenseUtil=require(_0xb544('0x14'));var db=require(_0xb544('0x15'))['db'];function respondWithStatusCode(_0x551a24,_0x4f131b){_0x4f131b=_0x4f131b||0xcc;return function(_0x330304){if(_0x330304){return _0x551a24['sendStatus'](_0x4f131b);}return _0x551a24[_0xb544('0x16')](_0x4f131b)['end']();};}function respondWithResult(_0x5a1a39,_0x1304fa){_0x1304fa=_0x1304fa||0xc8;return function(_0x3b7a62){if(_0x3b7a62){return _0x5a1a39[_0xb544('0x16')](_0x1304fa)[_0xb544('0x17')](_0x3b7a62);}};}function respondWithFilteredResult(_0x480282,_0xf3b354){return function(_0x1d170d){if(_0x1d170d){var _0x5e730b=_0x1d170d[_0xb544('0x18')],_0x164333=_0xf3b354[_0xb544('0x19')],_0x19a4cc=_0xf3b354[_0xb544('0x19')]+_0xf3b354['limit'],_0x3bd594;if(_0x19a4cc>=_0x5e730b){_0x19a4cc=_0x5e730b;_0x3bd594=0xc8;}else{_0x3bd594=0xce;}_0x480282[_0xb544('0x16')](_0x3bd594);return _0x480282['set'](_0xb544('0x1a'),_0x164333+'-'+_0x19a4cc+'/'+_0x5e730b)[_0xb544('0x17')](_0x1d170d);}return null;};}function patchUpdates(_0x138297){return function(_0x3fd5f2){try{jsonpatch['apply'](_0x3fd5f2,_0x138297,!![]);}catch(_0x458306){return BPromise[_0xb544('0x1b')](_0x458306);}return _0x3fd5f2['save']();};}function saveUpdates(_0x324e26,_0x1f945a){return function(_0x56cc61){if(_0x56cc61){return _0x56cc61[_0xb544('0x1c')](_0x324e26)[_0xb544('0x1d')](function(_0xd87e75){return _0xd87e75;});}return null;};}function removeEntity(_0xe4d4b9,_0x44a34d){return function(_0x4d9343){if(_0x4d9343){return _0x4d9343[_0xb544('0x1e')]()['then'](function(){_0xe4d4b9[_0xb544('0x16')](0xcc)[_0xb544('0x1f')]();});}};}function handleEntityNotFound(_0x4c3fd0,_0x2ab6d5){return function(_0x48462e){if(!_0x48462e){_0x4c3fd0[_0xb544('0x20')](0x194);}return _0x48462e;};}function handleError(_0x64b287,_0x3f0f0e){_0x3f0f0e=_0x3f0f0e||0x1f4;return function(_0x481d3a){logger['error'](_0x481d3a[_0xb544('0x21')]);if(_0x481d3a[_0xb544('0x22')]){delete _0x481d3a[_0xb544('0x22')];}_0x64b287['status'](_0x3f0f0e)[_0xb544('0x23')](_0x481d3a);};}exports[_0xb544('0x24')]=function(_0x1d24c6,_0x3409a3){var _0x491012={},_0x410f22={},_0x5c0b8b={'count':0x0,'rows':[]};var _0x3a6739=_[_0xb544('0x25')](db['CmHopperBlack']['rawAttributes'],function(_0xc4031c){return{'name':_0xc4031c['fieldName'],'type':_0xc4031c[_0xb544('0x26')][_0xb544('0x27')]};});_0x410f22['model']=_[_0xb544('0x25')](_0x3a6739,'name');_0x410f22[_0xb544('0x28')]=_[_0xb544('0x29')](_0x1d24c6['query']);_0x410f22['filters']=_[_0xb544('0x2a')](_0x410f22[_0xb544('0x2b')],_0x410f22[_0xb544('0x28')]);_0x491012[_0xb544('0x2c')]=_[_0xb544('0x2a')](_0x410f22['model'],qs['fields'](_0x1d24c6['query']['fields']));_0x491012[_0xb544('0x2c')]=_0x491012['attributes'][_0xb544('0x2d')]?_0x491012[_0xb544('0x2c')]:_0x410f22[_0xb544('0x2b')];if(!_0x1d24c6[_0xb544('0x28')][_0xb544('0x2e')]('nolimit')){_0x491012[_0xb544('0x2f')]=qs['limit'](_0x1d24c6[_0xb544('0x28')]['limit']);_0x491012[_0xb544('0x19')]=qs['offset'](_0x1d24c6['query'][_0xb544('0x19')]);}_0x491012[_0xb544('0x30')]=qs[_0xb544('0x31')](_0x1d24c6[_0xb544('0x28')][_0xb544('0x31')]);_0x491012[_0xb544('0x32')]=qs[_0xb544('0x33')](_[_0xb544('0x34')](_0x1d24c6['query'],_0x410f22[_0xb544('0x33')]),_0x3a6739);if(_0x1d24c6['query'][_0xb544('0x35')]){_0x491012['where']=_['merge'](_0x491012['where'],{'$or':_[_0xb544('0x25')](_0x3a6739,function(_0x3a1383){if(_0x3a1383[_0xb544('0x26')]!==_0xb544('0x36')){var _0xe5e5e2={};_0xe5e5e2[_0x3a1383[_0xb544('0x22')]]={'$like':'%'+_0x1d24c6[_0xb544('0x28')][_0xb544('0x35')]+'%'};return _0xe5e5e2;}})});}_0x491012=_['merge']({},_0x491012,_0x1d24c6['options']);var _0x44c082={'where':_0x491012['where']};return db[_0xb544('0x37')][_0xb544('0x18')](_0x44c082)[_0xb544('0x1d')](function(_0xb9cfe3){_0x5c0b8b[_0xb544('0x18')]=_0xb9cfe3;if(_0x1d24c6[_0xb544('0x28')][_0xb544('0x38')]){_0x491012['include']=[{'all':!![]}];}return db['CmHopperBlack'][_0xb544('0x39')](_0x491012);})['then'](function(_0x402ae5){_0x5c0b8b[_0xb544('0x3a')]=_0x402ae5;return _0x5c0b8b;})[_0xb544('0x1d')](respondWithFilteredResult(_0x3409a3,_0x491012))['catch'](handleError(_0x3409a3,null));};exports[_0xb544('0x3b')]=function(_0x4de6a6,_0x3f909d){var _0x2fb0e8={'raw':!![],'where':{'id':_0x4de6a6[_0xb544('0x3c')]['id']}},_0x32aba3={};_0x32aba3[_0xb544('0x2b')]=_[_0xb544('0x29')](db[_0xb544('0x37')][_0xb544('0x3d')]);_0x32aba3[_0xb544('0x28')]=_[_0xb544('0x29')](_0x4de6a6[_0xb544('0x28')]);_0x32aba3[_0xb544('0x33')]=_[_0xb544('0x2a')](_0x32aba3[_0xb544('0x2b')],_0x32aba3[_0xb544('0x28')]);_0x2fb0e8[_0xb544('0x2c')]=_[_0xb544('0x2a')](_0x32aba3[_0xb544('0x2b')],qs['fields'](_0x4de6a6['query']['fields']));_0x2fb0e8[_0xb544('0x2c')]=_0x2fb0e8[_0xb544('0x2c')][_0xb544('0x2d')]?_0x2fb0e8[_0xb544('0x2c')]:_0x32aba3['model'];if(_0x4de6a6[_0xb544('0x28')][_0xb544('0x38')]){_0x2fb0e8[_0xb544('0x3e')]=[{'all':!![]}];}_0x2fb0e8=_[_0xb544('0x3f')]({},_0x2fb0e8,_0x4de6a6[_0xb544('0x40')]);return db[_0xb544('0x37')]['find'](_0x2fb0e8)[_0xb544('0x1d')](handleEntityNotFound(_0x3f909d,null))[_0xb544('0x1d')](respondWithResult(_0x3f909d,null))[_0xb544('0x41')](handleError(_0x3f909d,null));};exports[_0xb544('0x1c')]=function(_0xdddcf8,_0x11cb52){if(_0xdddcf8[_0xb544('0x42')]['id']){delete _0xdddcf8[_0xb544('0x42')]['id'];}return db['CmHopperBlack']['find']({'where':{'id':_0xdddcf8['params']['id']}})[_0xb544('0x1d')](handleEntityNotFound(_0x11cb52,null))[_0xb544('0x1d')](saveUpdates(_0xdddcf8[_0xb544('0x42')],null))['then'](respondWithResult(_0x11cb52,null))[_0xb544('0x41')](handleError(_0x11cb52,null));};exports[_0xb544('0x1e')]=function(_0x41af76,_0x4aa5d8){return db['CmHopperBlack'][_0xb544('0x43')]({'where':{'id':_0x41af76['params']['id']}})[_0xb544('0x1d')](handleEntityNotFound(_0x4aa5d8,null))[_0xb544('0x1d')](removeEntity(_0x4aa5d8,null))[_0xb544('0x41')](handleError(_0x4aa5d8,null));};exports[_0xb544('0x44')]=function(_0x434be5,_0x5b54d1){return db['CmHopperBlack'][_0xb544('0x44')]()[_0xb544('0x1d')](respondWithResult(_0x5b54d1,null))[_0xb544('0x41')](handleError(_0x5b54d1,null));};