bf7fee3419bbee64bd6982d0c4449782795af4ca
[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 _0xaac8=['type','query','keys','filters','attributes','intersection','model','length','hasOwnProperty','sort','where','pick','merge','VIRTUAL','filter','count','include','rows','show','params','fields','includeAll','find','body','catch','describe','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','limit','set','Content-Range','apply','reject','update','destroy','then','end','stack','name','send','index','map','CmHopperBlack','fieldName'];(function(_0x390c42,_0x10e1ae){var _0x43894c=function(_0x510bd0){while(--_0x510bd0){_0x390c42['push'](_0x390c42['shift']());}};_0x43894c(++_0x10e1ae);}(_0xaac8,0xa2));var _0x8aac=function(_0x5f3f88,_0x562baf){_0x5f3f88=_0x5f3f88-0x0;var _0xd08119=_0xaac8[_0x5f3f88];return _0xd08119;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8aac('0x0'));var rimraf=require(_0x8aac('0x1'));var zipdir=require(_0x8aac('0x2'));var jsonpatch=require(_0x8aac('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x8aac('0x4'));var Mustache=require(_0x8aac('0x5'));var util=require(_0x8aac('0x6'));var path=require(_0x8aac('0x7'));var sox=require(_0x8aac('0x8'));var csv=require(_0x8aac('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x8aac('0xa'));var squel=require(_0x8aac('0xb'));var crypto=require(_0x8aac('0xc'));var jsforce=require(_0x8aac('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x8aac('0x9'));var querystring=require('querystring');var Papa=require(_0x8aac('0xe'));var Redis=require('ioredis');var authService=require(_0x8aac('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x8aac('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8aac('0x11'))(_0x8aac('0x12'));var utils=require(_0x8aac('0x13'));var config=require(_0x8aac('0x14'));var licenseUtil=require(_0x8aac('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1982e1,_0x3dd6b0){_0x3dd6b0=_0x3dd6b0||0xcc;return function(_0x22f735){if(_0x22f735){return _0x1982e1[_0x8aac('0x16')](_0x3dd6b0);}return _0x1982e1[_0x8aac('0x17')](_0x3dd6b0)['end']();};}function respondWithResult(_0x45ee0d,_0x5afa82){_0x5afa82=_0x5afa82||0xc8;return function(_0x28b1ba){if(_0x28b1ba){return _0x45ee0d[_0x8aac('0x17')](_0x5afa82)[_0x8aac('0x18')](_0x28b1ba);}};}function respondWithFilteredResult(_0x5d4354,_0x1affda){return function(_0x599b5e){if(_0x599b5e){var _0x14954e=_0x599b5e['count'],_0x3d421d=_0x1affda[_0x8aac('0x19')],_0x12783c=_0x1affda['offset']+_0x1affda[_0x8aac('0x1a')],_0x584930;if(_0x12783c>=_0x14954e){_0x12783c=_0x14954e;_0x584930=0xc8;}else{_0x584930=0xce;}_0x5d4354['status'](_0x584930);return _0x5d4354[_0x8aac('0x1b')](_0x8aac('0x1c'),_0x3d421d+'-'+_0x12783c+'/'+_0x14954e)[_0x8aac('0x18')](_0x599b5e);}return null;};}function patchUpdates(_0x443bf7){return function(_0xb44055){try{jsonpatch[_0x8aac('0x1d')](_0xb44055,_0x443bf7,!![]);}catch(_0x26ec21){return BPromise[_0x8aac('0x1e')](_0x26ec21);}return _0xb44055['save']();};}function saveUpdates(_0x445556,_0x427262){return function(_0x258561){if(_0x258561){return _0x258561[_0x8aac('0x1f')](_0x445556)['then'](function(_0x14dad2){return _0x14dad2;});}return null;};}function removeEntity(_0x55ddec,_0x4d9a55){return function(_0x53ff08){if(_0x53ff08){return _0x53ff08[_0x8aac('0x20')]()[_0x8aac('0x21')](function(){_0x55ddec[_0x8aac('0x17')](0xcc)[_0x8aac('0x22')]();});}};}function handleEntityNotFound(_0x26ed58,_0x430145){return function(_0x2c9d8a){if(!_0x2c9d8a){_0x26ed58['sendStatus'](0x194);}return _0x2c9d8a;};}function handleError(_0x389689,_0x190e64){_0x190e64=_0x190e64||0x1f4;return function(_0x28de1a){logger['error'](_0x28de1a[_0x8aac('0x23')]);if(_0x28de1a[_0x8aac('0x24')]){delete _0x28de1a[_0x8aac('0x24')];}_0x389689[_0x8aac('0x17')](_0x190e64)[_0x8aac('0x25')](_0x28de1a);};}exports[_0x8aac('0x26')]=function(_0x27c036,_0xaae03c){var _0x13af54={},_0x51f068={},_0x4edb86={'count':0x0,'rows':[]};var _0x28a647=_[_0x8aac('0x27')](db[_0x8aac('0x28')]['rawAttributes'],function(_0x968018){return{'name':_0x968018[_0x8aac('0x29')],'type':_0x968018[_0x8aac('0x2a')]['key']};});_0x51f068['model']=_[_0x8aac('0x27')](_0x28a647,_0x8aac('0x24'));_0x51f068[_0x8aac('0x2b')]=_[_0x8aac('0x2c')](_0x27c036['query']);_0x51f068[_0x8aac('0x2d')]=_['intersection'](_0x51f068['model'],_0x51f068[_0x8aac('0x2b')]);_0x13af54[_0x8aac('0x2e')]=_[_0x8aac('0x2f')](_0x51f068[_0x8aac('0x30')],qs['fields'](_0x27c036[_0x8aac('0x2b')]['fields']));_0x13af54[_0x8aac('0x2e')]=_0x13af54[_0x8aac('0x2e')][_0x8aac('0x31')]?_0x13af54['attributes']:_0x51f068[_0x8aac('0x30')];if(!_0x27c036['query'][_0x8aac('0x32')]('nolimit')){_0x13af54[_0x8aac('0x1a')]=qs[_0x8aac('0x1a')](_0x27c036[_0x8aac('0x2b')][_0x8aac('0x1a')]);_0x13af54[_0x8aac('0x19')]=qs[_0x8aac('0x19')](_0x27c036[_0x8aac('0x2b')][_0x8aac('0x19')]);}_0x13af54['order']=qs['sort'](_0x27c036[_0x8aac('0x2b')][_0x8aac('0x33')]);_0x13af54[_0x8aac('0x34')]=qs[_0x8aac('0x2d')](_[_0x8aac('0x35')](_0x27c036['query'],_0x51f068['filters']),_0x28a647);if(_0x27c036['query']['filter']){_0x13af54['where']=_[_0x8aac('0x36')](_0x13af54[_0x8aac('0x34')],{'$or':_['map'](_0x28a647,function(_0x11e4f9){if(_0x11e4f9[_0x8aac('0x2a')]!==_0x8aac('0x37')){var _0x1c6bf7={};_0x1c6bf7[_0x11e4f9['name']]={'$like':'%'+_0x27c036[_0x8aac('0x2b')][_0x8aac('0x38')]+'%'};return _0x1c6bf7;}})});}_0x13af54=_[_0x8aac('0x36')]({},_0x13af54,_0x27c036['options']);var _0x36131e={'where':_0x13af54[_0x8aac('0x34')]};return db[_0x8aac('0x28')][_0x8aac('0x39')](_0x36131e)[_0x8aac('0x21')](function(_0x70c6b0){_0x4edb86[_0x8aac('0x39')]=_0x70c6b0;if(_0x27c036[_0x8aac('0x2b')]['includeAll']){_0x13af54[_0x8aac('0x3a')]=[{'all':!![]}];}return db[_0x8aac('0x28')]['findAll'](_0x13af54);})[_0x8aac('0x21')](function(_0x2e24a7){_0x4edb86[_0x8aac('0x3b')]=_0x2e24a7;return _0x4edb86;})[_0x8aac('0x21')](respondWithFilteredResult(_0xaae03c,_0x13af54))['catch'](handleError(_0xaae03c,null));};exports[_0x8aac('0x3c')]=function(_0x306d2a,_0x2e1124){var _0x31538e={'raw':!![],'where':{'id':_0x306d2a[_0x8aac('0x3d')]['id']}},_0x4feca1={};_0x4feca1[_0x8aac('0x30')]=_[_0x8aac('0x2c')](db[_0x8aac('0x28')]['rawAttributes']);_0x4feca1[_0x8aac('0x2b')]=_['keys'](_0x306d2a[_0x8aac('0x2b')]);_0x4feca1['filters']=_[_0x8aac('0x2f')](_0x4feca1[_0x8aac('0x30')],_0x4feca1['query']);_0x31538e[_0x8aac('0x2e')]=_[_0x8aac('0x2f')](_0x4feca1[_0x8aac('0x30')],qs[_0x8aac('0x3e')](_0x306d2a[_0x8aac('0x2b')][_0x8aac('0x3e')]));_0x31538e[_0x8aac('0x2e')]=_0x31538e[_0x8aac('0x2e')][_0x8aac('0x31')]?_0x31538e[_0x8aac('0x2e')]:_0x4feca1[_0x8aac('0x30')];if(_0x306d2a[_0x8aac('0x2b')][_0x8aac('0x3f')]){_0x31538e[_0x8aac('0x3a')]=[{'all':!![]}];}_0x31538e=_['merge']({},_0x31538e,_0x306d2a['options']);return db[_0x8aac('0x28')][_0x8aac('0x40')](_0x31538e)[_0x8aac('0x21')](handleEntityNotFound(_0x2e1124,null))['then'](respondWithResult(_0x2e1124,null))['catch'](handleError(_0x2e1124,null));};exports[_0x8aac('0x1f')]=function(_0x13aaee,_0x145572){if(_0x13aaee[_0x8aac('0x41')]['id']){delete _0x13aaee[_0x8aac('0x41')]['id'];}return db[_0x8aac('0x28')][_0x8aac('0x40')]({'where':{'id':_0x13aaee[_0x8aac('0x3d')]['id']}})[_0x8aac('0x21')](handleEntityNotFound(_0x145572,null))[_0x8aac('0x21')](saveUpdates(_0x13aaee[_0x8aac('0x41')],null))[_0x8aac('0x21')](respondWithResult(_0x145572,null))[_0x8aac('0x42')](handleError(_0x145572,null));};exports[_0x8aac('0x20')]=function(_0x52077d,_0x2908cf){return db[_0x8aac('0x28')][_0x8aac('0x40')]({'where':{'id':_0x52077d[_0x8aac('0x3d')]['id']}})[_0x8aac('0x21')](handleEntityNotFound(_0x2908cf,null))['then'](removeEntity(_0x2908cf,null))[_0x8aac('0x42')](handleError(_0x2908cf,null));};exports[_0x8aac('0x43')]=function(_0x57853e,_0x6e39a2){return db['CmHopperBlack'][_0x8aac('0x43')]()[_0x8aac('0x21')](respondWithResult(_0x6e39a2,null))[_0x8aac('0x42')](handleError(_0x6e39a2,null));};