89b4f37f5385ae52b0ddd3c4272f51f7d57d9a09
[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 _0x72eb=['squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/license/util','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','CmHopperBlack','includeAll','findAll','rows','catch','show','params','length','merge','find','body','destroy','describe','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash'];(function(_0xb0f7c3,_0x4eae95){var _0x28ea68=function(_0x4395a7){while(--_0x4395a7){_0xb0f7c3['push'](_0xb0f7c3['shift']());}};_0x28ea68(++_0x4eae95);}(_0x72eb,0x147));var _0xb72e=function(_0x3a267e,_0x1a9e04){_0x3a267e=_0x3a267e-0x0;var _0x4ab3a1=_0x72eb[_0x3a267e];return _0x4ab3a1;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xb72e('0x0'));var moment=require(_0xb72e('0x1'));var BPromise=require(_0xb72e('0x2'));var Mustache=require(_0xb72e('0x3'));var util=require('util');var path=require(_0xb72e('0x4'));var sox=require(_0xb72e('0x5'));var csv=require('to-csv');var ejs=require(_0xb72e('0x6'));var fs=require('fs');var _=require(_0xb72e('0x7'));var squel=require(_0xb72e('0x8'));var crypto=require(_0xb72e('0x9'));var jsforce=require(_0xb72e('0xa'));var deskjs=require(_0xb72e('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xb72e('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xb72e('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb72e('0xe'));var logger=require(_0xb72e('0xf'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xb72e('0x10'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x19bc2d,_0x434906){_0x434906=_0x434906||0xcc;return function(_0x402048){if(_0x402048){return _0x19bc2d['sendStatus'](_0x434906);}return _0x19bc2d[_0xb72e('0x11')](_0x434906)[_0xb72e('0x12')]();};}function respondWithResult(_0xc3a507,_0x5dcaea){_0x5dcaea=_0x5dcaea||0xc8;return function(_0x4734dd){if(_0x4734dd){return _0xc3a507[_0xb72e('0x11')](_0x5dcaea)[_0xb72e('0x13')](_0x4734dd);}};}function respondWithFilteredResult(_0x1df6a5,_0x33b3d9){return function(_0x7a1f02){if(_0x7a1f02){var _0x29e274=_0x7a1f02[_0xb72e('0x14')],_0x3cff53=_0x33b3d9[_0xb72e('0x15')],_0x10a865=_0x33b3d9[_0xb72e('0x15')]+_0x33b3d9[_0xb72e('0x16')],_0x2623e9;if(_0x10a865>=_0x29e274){_0x10a865=_0x29e274;_0x2623e9=0xc8;}else{_0x2623e9=0xce;}_0x1df6a5[_0xb72e('0x11')](_0x2623e9);return _0x1df6a5[_0xb72e('0x17')](_0xb72e('0x18'),_0x3cff53+'-'+_0x10a865+'/'+_0x29e274)['json'](_0x7a1f02);}return null;};}function patchUpdates(_0x1a6cf9){return function(_0x4620da){try{jsonpatch[_0xb72e('0x19')](_0x4620da,_0x1a6cf9,!![]);}catch(_0x5575e5){return BPromise['reject'](_0x5575e5);}return _0x4620da[_0xb72e('0x1a')]();};}function saveUpdates(_0x2d0326,_0x3caa52){return function(_0x5ec3b5){if(_0x5ec3b5){return _0x5ec3b5[_0xb72e('0x1b')](_0x2d0326)[_0xb72e('0x1c')](function(_0x4a09d5){return _0x4a09d5;});}return null;};}function removeEntity(_0x8c56a6,_0x6ec28e){return function(_0x27edd7){if(_0x27edd7){return _0x27edd7['destroy']()[_0xb72e('0x1c')](function(){_0x8c56a6['status'](0xcc)[_0xb72e('0x12')]();});}};}function handleEntityNotFound(_0x30f46c,_0x32e146){return function(_0x5e5f87){if(!_0x5e5f87){_0x30f46c[_0xb72e('0x1d')](0x194);}return _0x5e5f87;};}function handleError(_0x1519b0,_0x45813a){_0x45813a=_0x45813a||0x1f4;return function(_0x3d2b90){logger[_0xb72e('0x1e')](_0x3d2b90[_0xb72e('0x1f')]);if(_0x3d2b90[_0xb72e('0x20')]){delete _0x3d2b90['name'];}_0x1519b0[_0xb72e('0x11')](_0x45813a)[_0xb72e('0x21')](_0x3d2b90);};}exports[_0xb72e('0x22')]=function(_0xe3b7bc,_0x944918){var _0x381ef7={},_0x20f3ad={},_0x28420f={'count':0x0,'rows':[]};var _0x345bc0=_[_0xb72e('0x23')](db['CmHopperBlack'][_0xb72e('0x24')],function(_0x540389){return{'name':_0x540389[_0xb72e('0x25')],'type':_0x540389['type'][_0xb72e('0x26')]};});_0x20f3ad[_0xb72e('0x27')]=_[_0xb72e('0x23')](_0x345bc0,_0xb72e('0x20'));_0x20f3ad[_0xb72e('0x28')]=_[_0xb72e('0x29')](_0xe3b7bc[_0xb72e('0x28')]);_0x20f3ad[_0xb72e('0x2a')]=_['intersection'](_0x20f3ad['model'],_0x20f3ad[_0xb72e('0x28')]);_0x381ef7[_0xb72e('0x2b')]=_[_0xb72e('0x2c')](_0x20f3ad[_0xb72e('0x27')],qs['fields'](_0xe3b7bc[_0xb72e('0x28')][_0xb72e('0x2d')]));_0x381ef7[_0xb72e('0x2b')]=_0x381ef7[_0xb72e('0x2b')]['length']?_0x381ef7['attributes']:_0x20f3ad['model'];if(!_0xe3b7bc['query'][_0xb72e('0x2e')](_0xb72e('0x2f'))){_0x381ef7['limit']=qs[_0xb72e('0x16')](_0xe3b7bc[_0xb72e('0x28')][_0xb72e('0x16')]);_0x381ef7[_0xb72e('0x15')]=qs['offset'](_0xe3b7bc[_0xb72e('0x28')][_0xb72e('0x15')]);}_0x381ef7[_0xb72e('0x30')]=qs[_0xb72e('0x31')](_0xe3b7bc['query'][_0xb72e('0x31')]);_0x381ef7[_0xb72e('0x32')]=qs[_0xb72e('0x2a')](_[_0xb72e('0x33')](_0xe3b7bc[_0xb72e('0x28')],_0x20f3ad[_0xb72e('0x2a')]),_0x345bc0);if(_0xe3b7bc[_0xb72e('0x28')][_0xb72e('0x34')]){_0x381ef7[_0xb72e('0x32')]=_['merge'](_0x381ef7[_0xb72e('0x32')],{'$or':_['map'](_0x345bc0,function(_0x2e6761){if(_0x2e6761['type']!=='VIRTUAL'){var _0x2469bd={};_0x2469bd[_0x2e6761[_0xb72e('0x20')]]={'$like':'%'+_0xe3b7bc[_0xb72e('0x28')][_0xb72e('0x34')]+'%'};return _0x2469bd;}})});}_0x381ef7=_['merge']({},_0x381ef7,_0xe3b7bc[_0xb72e('0x35')]);var _0x1f500e={'where':_0x381ef7[_0xb72e('0x32')]};return db[_0xb72e('0x36')]['count'](_0x1f500e)[_0xb72e('0x1c')](function(_0x5279d2){_0x28420f['count']=_0x5279d2;if(_0xe3b7bc[_0xb72e('0x28')][_0xb72e('0x37')]){_0x381ef7['include']=[{'all':!![]}];}return db['CmHopperBlack'][_0xb72e('0x38')](_0x381ef7);})[_0xb72e('0x1c')](function(_0x4548d0){_0x28420f[_0xb72e('0x39')]=_0x4548d0;return _0x28420f;})[_0xb72e('0x1c')](respondWithFilteredResult(_0x944918,_0x381ef7))[_0xb72e('0x3a')](handleError(_0x944918,null));};exports[_0xb72e('0x3b')]=function(_0x3c4775,_0x33c840){var _0x4e831e={'raw':!![],'where':{'id':_0x3c4775[_0xb72e('0x3c')]['id']}},_0x225be5={};_0x225be5[_0xb72e('0x27')]=_[_0xb72e('0x29')](db[_0xb72e('0x36')][_0xb72e('0x24')]);_0x225be5[_0xb72e('0x28')]=_[_0xb72e('0x29')](_0x3c4775[_0xb72e('0x28')]);_0x225be5[_0xb72e('0x2a')]=_['intersection'](_0x225be5[_0xb72e('0x27')],_0x225be5[_0xb72e('0x28')]);_0x4e831e[_0xb72e('0x2b')]=_[_0xb72e('0x2c')](_0x225be5[_0xb72e('0x27')],qs['fields'](_0x3c4775[_0xb72e('0x28')][_0xb72e('0x2d')]));_0x4e831e[_0xb72e('0x2b')]=_0x4e831e[_0xb72e('0x2b')][_0xb72e('0x3d')]?_0x4e831e[_0xb72e('0x2b')]:_0x225be5[_0xb72e('0x27')];if(_0x3c4775[_0xb72e('0x28')][_0xb72e('0x37')]){_0x4e831e['include']=[{'all':!![]}];}_0x4e831e=_[_0xb72e('0x3e')]({},_0x4e831e,_0x3c4775[_0xb72e('0x35')]);return db[_0xb72e('0x36')][_0xb72e('0x3f')](_0x4e831e)[_0xb72e('0x1c')](handleEntityNotFound(_0x33c840,null))[_0xb72e('0x1c')](respondWithResult(_0x33c840,null))[_0xb72e('0x3a')](handleError(_0x33c840,null));};exports[_0xb72e('0x1b')]=function(_0x499e52,_0x104f7b){if(_0x499e52['body']['id']){delete _0x499e52[_0xb72e('0x40')]['id'];}return db[_0xb72e('0x36')][_0xb72e('0x3f')]({'where':{'id':_0x499e52[_0xb72e('0x3c')]['id']}})[_0xb72e('0x1c')](handleEntityNotFound(_0x104f7b,null))[_0xb72e('0x1c')](saveUpdates(_0x499e52[_0xb72e('0x40')],null))[_0xb72e('0x1c')](respondWithResult(_0x104f7b,null))[_0xb72e('0x3a')](handleError(_0x104f7b,null));};exports[_0xb72e('0x41')]=function(_0x1b4446,_0x50120d){return db[_0xb72e('0x36')][_0xb72e('0x3f')]({'where':{'id':_0x1b4446[_0xb72e('0x3c')]['id']}})[_0xb72e('0x1c')](handleEntityNotFound(_0x50120d,null))['then'](removeEntity(_0x50120d,null))['catch'](handleError(_0x50120d,null));};exports[_0xb72e('0x42')]=function(_0x1ebb73,_0x52f587){return db['CmHopperBlack'][_0xb72e('0x42')]()[_0xb72e('0x1c')](respondWithResult(_0x52f587,null))[_0xb72e('0x3a')](handleError(_0x52f587,null));};