2b1f4164aa431571e020654338def012463f1c21
[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 _0xe375=['jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','name','send','index','map','rawAttributes','type','key','keys','query','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','filter','merge','options','CmHopperBlack','includeAll','include','findAll','catch','params','length','find','body','describe','eml-format','rimraf','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto'];(function(_0x47c5d9,_0xbcc612){var _0x198c60=function(_0x3263d4){while(--_0x3263d4){_0x47c5d9['push'](_0x47c5d9['shift']());}};_0x198c60(++_0xbcc612);}(_0xe375,0x7e));var _0x5e37=function(_0x333617,_0x275a5e){_0x333617=_0x333617-0x0;var _0x4c3d69=_0xe375[_0x333617];return _0x4c3d69;};'use strict';var emlformat=require(_0x5e37('0x0'));var rimraf=require(_0x5e37('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x5e37('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5e37('0x3'));var path=require(_0x5e37('0x4'));var sox=require(_0x5e37('0x5'));var csv=require(_0x5e37('0x6'));var ejs=require(_0x5e37('0x7'));var fs=require('fs');var fs_extra=require(_0x5e37('0x8'));var _=require(_0x5e37('0x9'));var squel=require(_0x5e37('0xa'));var crypto=require(_0x5e37('0xb'));var jsforce=require(_0x5e37('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x5e37('0xd'));var Papa=require(_0x5e37('0xe'));var Redis=require('ioredis');var authService=require(_0x5e37('0xf'));var qs=require(_0x5e37('0x10'));var as=require(_0x5e37('0x11'));var hardwareService=require(_0x5e37('0x12'));var logger=require(_0x5e37('0x13'))('api');var utils=require(_0x5e37('0x14'));var config=require(_0x5e37('0x15'));var licenseUtil=require(_0x5e37('0x16'));var db=require(_0x5e37('0x17'))['db'];function respondWithStatusCode(_0x38b53a,_0x337669){_0x337669=_0x337669||0xcc;return function(_0x430e0f){if(_0x430e0f){return _0x38b53a['sendStatus'](_0x337669);}return _0x38b53a['status'](_0x337669)[_0x5e37('0x18')]();};}function respondWithResult(_0x37667a,_0x307e0f){_0x307e0f=_0x307e0f||0xc8;return function(_0xde205b){if(_0xde205b){return _0x37667a[_0x5e37('0x19')](_0x307e0f)[_0x5e37('0x1a')](_0xde205b);}};}function respondWithFilteredResult(_0x557854,_0x9c17ac){return function(_0x302095){if(_0x302095){var _0x152d5f=typeof _0x9c17ac['offset']===_0x5e37('0x1b')&&typeof _0x9c17ac['limit']==='undefined';var _0x490fab=_0x302095[_0x5e37('0x1c')];var _0x152d96=_0x152d5f?0x0:_0x9c17ac[_0x5e37('0x1d')];var _0xc4405c=_0x152d5f?_0x302095['count']:_0x9c17ac[_0x5e37('0x1d')]+_0x9c17ac[_0x5e37('0x1e')];var _0x566e11;if(_0xc4405c>=_0x490fab){_0xc4405c=_0x490fab;_0x566e11=0xc8;}else{_0x566e11=0xce;}_0x557854[_0x5e37('0x19')](_0x566e11);return _0x557854[_0x5e37('0x1f')](_0x5e37('0x20'),_0x152d96+'-'+_0xc4405c+'/'+_0x490fab)[_0x5e37('0x1a')](_0x302095);}return null;};}function patchUpdates(_0x55ce05){return function(_0x455312){try{jsonpatch[_0x5e37('0x21')](_0x455312,_0x55ce05,!![]);}catch(_0x370448){return BPromise[_0x5e37('0x22')](_0x370448);}return _0x455312['save']();};}function saveUpdates(_0x180b1d,_0x2e99c1){return function(_0x23518b){if(_0x23518b){return _0x23518b[_0x5e37('0x23')](_0x180b1d)[_0x5e37('0x24')](function(_0x46c161){return _0x46c161;});}return null;};}function removeEntity(_0x57634a,_0x10314d){return function(_0x5c937a){if(_0x5c937a){return _0x5c937a[_0x5e37('0x25')]()['then'](function(){_0x57634a['status'](0xcc)[_0x5e37('0x18')]();});}};}function handleEntityNotFound(_0x18b8a0,_0x504518){return function(_0x692aec){if(!_0x692aec){_0x18b8a0['sendStatus'](0x194);}return _0x692aec;};}function handleError(_0x92424c,_0x5a11c0){_0x5a11c0=_0x5a11c0||0x1f4;return function(_0x1eb73f){logger['error'](_0x1eb73f['stack']);if(_0x1eb73f[_0x5e37('0x26')]){delete _0x1eb73f['name'];}_0x92424c[_0x5e37('0x19')](_0x5a11c0)[_0x5e37('0x27')](_0x1eb73f);};}exports[_0x5e37('0x28')]=function(_0x4a32cd,_0x3a97da){var _0x42fb4e={},_0x3fa561={},_0x4c26ee={'count':0x0,'rows':[]};var _0xa15e64=_[_0x5e37('0x29')](db['CmHopperBlack'][_0x5e37('0x2a')],function(_0x5d36b3){return{'name':_0x5d36b3['fieldName'],'type':_0x5d36b3[_0x5e37('0x2b')][_0x5e37('0x2c')]};});_0x3fa561['model']=_['map'](_0xa15e64,_0x5e37('0x26'));_0x3fa561['query']=_[_0x5e37('0x2d')](_0x4a32cd[_0x5e37('0x2e')]);_0x3fa561[_0x5e37('0x2f')]=_['intersection'](_0x3fa561[_0x5e37('0x30')],_0x3fa561[_0x5e37('0x2e')]);_0x42fb4e[_0x5e37('0x31')]=_[_0x5e37('0x32')](_0x3fa561[_0x5e37('0x30')],qs['fields'](_0x4a32cd[_0x5e37('0x2e')][_0x5e37('0x33')]));_0x42fb4e['attributes']=_0x42fb4e[_0x5e37('0x31')]['length']?_0x42fb4e[_0x5e37('0x31')]:_0x3fa561[_0x5e37('0x30')];if(!_0x4a32cd[_0x5e37('0x2e')][_0x5e37('0x34')](_0x5e37('0x35'))){_0x42fb4e[_0x5e37('0x1e')]=qs[_0x5e37('0x1e')](_0x4a32cd[_0x5e37('0x2e')]['limit']);_0x42fb4e[_0x5e37('0x1d')]=qs['offset'](_0x4a32cd['query'][_0x5e37('0x1d')]);}_0x42fb4e['order']=qs['sort'](_0x4a32cd[_0x5e37('0x2e')][_0x5e37('0x36')]);_0x42fb4e[_0x5e37('0x37')]=qs['filters'](_['pick'](_0x4a32cd['query'],_0x3fa561['filters']),_0xa15e64);if(_0x4a32cd[_0x5e37('0x2e')][_0x5e37('0x38')]){_0x42fb4e[_0x5e37('0x37')]=_['merge'](_0x42fb4e['where'],{'$or':_['map'](_0xa15e64,function(_0xa1b4c2){if(_0xa1b4c2[_0x5e37('0x2b')]!=='VIRTUAL'){var _0x602be9={};_0x602be9[_0xa1b4c2[_0x5e37('0x26')]]={'$like':'%'+_0x4a32cd['query'][_0x5e37('0x38')]+'%'};return _0x602be9;}})});}_0x42fb4e=_[_0x5e37('0x39')]({},_0x42fb4e,_0x4a32cd[_0x5e37('0x3a')]);var _0x1de4d7={'where':_0x42fb4e[_0x5e37('0x37')]};return db[_0x5e37('0x3b')][_0x5e37('0x1c')](_0x1de4d7)[_0x5e37('0x24')](function(_0x2e128d){_0x4c26ee['count']=_0x2e128d;if(_0x4a32cd[_0x5e37('0x2e')][_0x5e37('0x3c')]){_0x42fb4e[_0x5e37('0x3d')]=[{'all':!![]}];}return db[_0x5e37('0x3b')][_0x5e37('0x3e')](_0x42fb4e);})[_0x5e37('0x24')](function(_0xcda16a){_0x4c26ee['rows']=_0xcda16a;return _0x4c26ee;})[_0x5e37('0x24')](respondWithFilteredResult(_0x3a97da,_0x42fb4e))[_0x5e37('0x3f')](handleError(_0x3a97da,null));};exports['show']=function(_0x4d9869,_0x5a1341){var _0x20926a={'raw':!![],'where':{'id':_0x4d9869[_0x5e37('0x40')]['id']}},_0x4c8764={};_0x4c8764[_0x5e37('0x30')]=_[_0x5e37('0x2d')](db['CmHopperBlack']['rawAttributes']);_0x4c8764['query']=_['keys'](_0x4d9869[_0x5e37('0x2e')]);_0x4c8764[_0x5e37('0x2f')]=_[_0x5e37('0x32')](_0x4c8764[_0x5e37('0x30')],_0x4c8764[_0x5e37('0x2e')]);_0x20926a[_0x5e37('0x31')]=_[_0x5e37('0x32')](_0x4c8764[_0x5e37('0x30')],qs[_0x5e37('0x33')](_0x4d9869['query'][_0x5e37('0x33')]));_0x20926a['attributes']=_0x20926a[_0x5e37('0x31')][_0x5e37('0x41')]?_0x20926a[_0x5e37('0x31')]:_0x4c8764[_0x5e37('0x30')];if(_0x4d9869[_0x5e37('0x2e')][_0x5e37('0x3c')]){_0x20926a['include']=[{'all':!![]}];}_0x20926a=_[_0x5e37('0x39')]({},_0x20926a,_0x4d9869['options']);return db['CmHopperBlack'][_0x5e37('0x42')](_0x20926a)[_0x5e37('0x24')](handleEntityNotFound(_0x5a1341,null))[_0x5e37('0x24')](respondWithResult(_0x5a1341,null))[_0x5e37('0x3f')](handleError(_0x5a1341,null));};exports[_0x5e37('0x23')]=function(_0x3e1c65,_0x39fa4a){if(_0x3e1c65[_0x5e37('0x43')]['id']){delete _0x3e1c65[_0x5e37('0x43')]['id'];}return db[_0x5e37('0x3b')][_0x5e37('0x42')]({'where':{'id':_0x3e1c65[_0x5e37('0x40')]['id']}})[_0x5e37('0x24')](handleEntityNotFound(_0x39fa4a,null))[_0x5e37('0x24')](saveUpdates(_0x3e1c65[_0x5e37('0x43')],null))[_0x5e37('0x24')](respondWithResult(_0x39fa4a,null))['catch'](handleError(_0x39fa4a,null));};exports[_0x5e37('0x25')]=function(_0x5eae88,_0x19208d){return db[_0x5e37('0x3b')][_0x5e37('0x42')]({'where':{'id':_0x5eae88[_0x5e37('0x40')]['id']}})[_0x5e37('0x24')](handleEntityNotFound(_0x19208d,null))[_0x5e37('0x24')](removeEntity(_0x19208d,null))[_0x5e37('0x3f')](handleError(_0x19208d,null));};exports[_0x5e37('0x44')]=function(_0x1ec93c,_0x345970){return db[_0x5e37('0x3b')][_0x5e37('0x44')]()[_0x5e37('0x24')](respondWithResult(_0x345970,null))[_0x5e37('0x3f')](handleError(_0x345970,null));};