834a081acd45a63da5527ce921943114379c04eb
[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 _0xa734=['sox','to-csv','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','count','offset','set','apply','reject','save','update','destroy','then','error','name','send','map','CmHopperBlack','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','length','find','body','describe','eml-format','zip-dir','request-promise','moment','bluebird','mustache','path'];(function(_0x15bc81,_0x4d4f77){var _0x59440e=function(_0x1b60f2){while(--_0x1b60f2){_0x15bc81['push'](_0x15bc81['shift']());}};_0x59440e(++_0x4d4f77);}(_0xa734,0xcb));var _0x4a73=function(_0x31b9a3,_0x5f1937){_0x31b9a3=_0x31b9a3-0x0;var _0x15c127=_0xa734[_0x31b9a3];return _0x15c127;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4a73('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4a73('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4a73('0x2'));var moment=require(_0x4a73('0x3'));var BPromise=require(_0x4a73('0x4'));var Mustache=require(_0x4a73('0x5'));var util=require('util');var path=require(_0x4a73('0x6'));var sox=require(_0x4a73('0x7'));var csv=require(_0x4a73('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x4a73('0x9'));var crypto=require(_0x4a73('0xa'));var jsforce=require(_0x4a73('0xb'));var deskjs=require(_0x4a73('0xc'));var toCsv=require(_0x4a73('0x8'));var querystring=require('querystring');var Papa=require(_0x4a73('0xd'));var Redis=require(_0x4a73('0xe'));var authService=require(_0x4a73('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x4a73('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4a73('0x11'))('api');var utils=require(_0x4a73('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x4a73('0x13'));var db=require(_0x4a73('0x14'))['db'];function respondWithStatusCode(_0x9875bc,_0x56f816){_0x56f816=_0x56f816||0xcc;return function(_0x1650df){if(_0x1650df){return _0x9875bc['sendStatus'](_0x56f816);}return _0x9875bc[_0x4a73('0x15')](_0x56f816)[_0x4a73('0x16')]();};}function respondWithResult(_0x28cc7a,_0x3d101d){_0x3d101d=_0x3d101d||0xc8;return function(_0x10cf5e){if(_0x10cf5e){return _0x28cc7a[_0x4a73('0x15')](_0x3d101d)[_0x4a73('0x17')](_0x10cf5e);}};}function respondWithFilteredResult(_0x544e0c,_0x7a1592){return function(_0x5ef9b3){if(_0x5ef9b3){var _0x400562=_0x5ef9b3[_0x4a73('0x18')],_0x5ce441=_0x7a1592[_0x4a73('0x19')],_0x1622c1=_0x7a1592[_0x4a73('0x19')]+_0x7a1592['limit'],_0x4cb4b8;if(_0x1622c1>=_0x400562){_0x1622c1=_0x400562;_0x4cb4b8=0xc8;}else{_0x4cb4b8=0xce;}_0x544e0c[_0x4a73('0x15')](_0x4cb4b8);return _0x544e0c[_0x4a73('0x1a')]('Content-Range',_0x5ce441+'-'+_0x1622c1+'/'+_0x400562)['json'](_0x5ef9b3);}return null;};}function patchUpdates(_0x467f70){return function(_0x35ce16){try{jsonpatch[_0x4a73('0x1b')](_0x35ce16,_0x467f70,!![]);}catch(_0x35752c){return BPromise[_0x4a73('0x1c')](_0x35752c);}return _0x35ce16[_0x4a73('0x1d')]();};}function saveUpdates(_0x327bda,_0x55f92d){return function(_0xe3a055){if(_0xe3a055){return _0xe3a055[_0x4a73('0x1e')](_0x327bda)['then'](function(_0x434769){return _0x434769;});}return null;};}function removeEntity(_0x3020b6,_0x4c5ff1){return function(_0x24dbca){if(_0x24dbca){return _0x24dbca[_0x4a73('0x1f')]()[_0x4a73('0x20')](function(){_0x3020b6[_0x4a73('0x15')](0xcc)[_0x4a73('0x16')]();});}};}function handleEntityNotFound(_0x5db442,_0x5f38d0){return function(_0x438001){if(!_0x438001){_0x5db442['sendStatus'](0x194);}return _0x438001;};}function handleError(_0x138d5a,_0x449c91){_0x449c91=_0x449c91||0x1f4;return function(_0x44d6a5){logger[_0x4a73('0x21')](_0x44d6a5['stack']);if(_0x44d6a5[_0x4a73('0x22')]){delete _0x44d6a5[_0x4a73('0x22')];}_0x138d5a[_0x4a73('0x15')](_0x449c91)[_0x4a73('0x23')](_0x44d6a5);};}exports['index']=function(_0x3376fa,_0x27e0de){var _0x1676c0={},_0x5bba2d={},_0x1ab048={'count':0x0,'rows':[]};var _0x593255=_[_0x4a73('0x24')](db[_0x4a73('0x25')][_0x4a73('0x26')],function(_0x1ca713){return{'name':_0x1ca713[_0x4a73('0x27')],'type':_0x1ca713[_0x4a73('0x28')][_0x4a73('0x29')]};});_0x5bba2d[_0x4a73('0x2a')]=_['map'](_0x593255,_0x4a73('0x22'));_0x5bba2d[_0x4a73('0x2b')]=_[_0x4a73('0x2c')](_0x3376fa['query']);_0x5bba2d[_0x4a73('0x2d')]=_[_0x4a73('0x2e')](_0x5bba2d[_0x4a73('0x2a')],_0x5bba2d[_0x4a73('0x2b')]);_0x1676c0['attributes']=_['intersection'](_0x5bba2d[_0x4a73('0x2a')],qs[_0x4a73('0x2f')](_0x3376fa[_0x4a73('0x2b')][_0x4a73('0x2f')]));_0x1676c0[_0x4a73('0x30')]=_0x1676c0[_0x4a73('0x30')]['length']?_0x1676c0[_0x4a73('0x30')]:_0x5bba2d[_0x4a73('0x2a')];if(!_0x3376fa[_0x4a73('0x2b')][_0x4a73('0x31')](_0x4a73('0x32'))){_0x1676c0[_0x4a73('0x33')]=qs['limit'](_0x3376fa[_0x4a73('0x2b')][_0x4a73('0x33')]);_0x1676c0[_0x4a73('0x19')]=qs['offset'](_0x3376fa['query'][_0x4a73('0x19')]);}_0x1676c0[_0x4a73('0x34')]=qs['sort'](_0x3376fa[_0x4a73('0x2b')][_0x4a73('0x35')]);_0x1676c0[_0x4a73('0x36')]=qs[_0x4a73('0x2d')](_[_0x4a73('0x37')](_0x3376fa[_0x4a73('0x2b')],_0x5bba2d[_0x4a73('0x2d')]),_0x593255);if(_0x3376fa[_0x4a73('0x2b')][_0x4a73('0x38')]){_0x1676c0['where']=_[_0x4a73('0x39')](_0x1676c0[_0x4a73('0x36')],{'$or':_['map'](_0x593255,function(_0x5e08a8){if(_0x5e08a8['type']!==_0x4a73('0x3a')){var _0x4533fa={};_0x4533fa[_0x5e08a8[_0x4a73('0x22')]]={'$like':'%'+_0x3376fa[_0x4a73('0x2b')][_0x4a73('0x38')]+'%'};return _0x4533fa;}})});}_0x1676c0=_['merge']({},_0x1676c0,_0x3376fa[_0x4a73('0x3b')]);var _0x4bed46={'where':_0x1676c0[_0x4a73('0x36')]};return db['CmHopperBlack'][_0x4a73('0x18')](_0x4bed46)['then'](function(_0x38f7a6){_0x1ab048[_0x4a73('0x18')]=_0x38f7a6;if(_0x3376fa['query'][_0x4a73('0x3c')]){_0x1676c0[_0x4a73('0x3d')]=[{'all':!![]}];}return db[_0x4a73('0x25')][_0x4a73('0x3e')](_0x1676c0);})[_0x4a73('0x20')](function(_0xcc7cb7){_0x1ab048[_0x4a73('0x3f')]=_0xcc7cb7;return _0x1ab048;})['then'](respondWithFilteredResult(_0x27e0de,_0x1676c0))[_0x4a73('0x40')](handleError(_0x27e0de,null));};exports['show']=function(_0x1ecedb,_0x2f6b0a){var _0x372047={'raw':!![],'where':{'id':_0x1ecedb[_0x4a73('0x41')]['id']}},_0x195b75={};_0x195b75[_0x4a73('0x2a')]=_['keys'](db[_0x4a73('0x25')][_0x4a73('0x26')]);_0x195b75[_0x4a73('0x2b')]=_['keys'](_0x1ecedb[_0x4a73('0x2b')]);_0x195b75[_0x4a73('0x2d')]=_[_0x4a73('0x2e')](_0x195b75[_0x4a73('0x2a')],_0x195b75[_0x4a73('0x2b')]);_0x372047[_0x4a73('0x30')]=_[_0x4a73('0x2e')](_0x195b75[_0x4a73('0x2a')],qs['fields'](_0x1ecedb[_0x4a73('0x2b')]['fields']));_0x372047[_0x4a73('0x30')]=_0x372047['attributes'][_0x4a73('0x42')]?_0x372047[_0x4a73('0x30')]:_0x195b75[_0x4a73('0x2a')];if(_0x1ecedb[_0x4a73('0x2b')][_0x4a73('0x3c')]){_0x372047[_0x4a73('0x3d')]=[{'all':!![]}];}_0x372047=_[_0x4a73('0x39')]({},_0x372047,_0x1ecedb[_0x4a73('0x3b')]);return db[_0x4a73('0x25')][_0x4a73('0x43')](_0x372047)[_0x4a73('0x20')](handleEntityNotFound(_0x2f6b0a,null))[_0x4a73('0x20')](respondWithResult(_0x2f6b0a,null))[_0x4a73('0x40')](handleError(_0x2f6b0a,null));};exports[_0x4a73('0x1e')]=function(_0xa469a6,_0x4fd60c){if(_0xa469a6[_0x4a73('0x44')]['id']){delete _0xa469a6[_0x4a73('0x44')]['id'];}return db[_0x4a73('0x25')]['find']({'where':{'id':_0xa469a6[_0x4a73('0x41')]['id']}})[_0x4a73('0x20')](handleEntityNotFound(_0x4fd60c,null))[_0x4a73('0x20')](saveUpdates(_0xa469a6['body'],null))[_0x4a73('0x20')](respondWithResult(_0x4fd60c,null))[_0x4a73('0x40')](handleError(_0x4fd60c,null));};exports[_0x4a73('0x1f')]=function(_0x109bab,_0x58339b){return db[_0x4a73('0x25')][_0x4a73('0x43')]({'where':{'id':_0x109bab[_0x4a73('0x41')]['id']}})['then'](handleEntityNotFound(_0x58339b,null))[_0x4a73('0x20')](removeEntity(_0x58339b,null))[_0x4a73('0x40')](handleError(_0x58339b,null));};exports[_0x4a73('0x45')]=function(_0x336e1a,_0x1a7eff){return db[_0x4a73('0x25')][_0x4a73('0x45')]()[_0x4a73('0x20')](respondWithResult(_0x1a7eff,null))['catch'](handleError(_0x1a7eff,null));};