89940eb55cdd1ea8fb40344f8dbbc43ccd43fb7d
[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 _0x7978=['options','find','body','destroy','describe','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','end','error','stack','name','send','index','CmHopperBlack','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','map','type','key','VIRTUAL','field','include','rows','catch','show','params'];(function(_0x183443,_0x3a9b4d){var _0x324051=function(_0x1567e6){while(--_0x1567e6){_0x183443['push'](_0x183443['shift']());}};_0x324051(++_0x3a9b4d);}(_0x7978,0x125));var _0x8797=function(_0x5627e1,_0x1b2dbf){_0x5627e1=_0x5627e1-0x0;var _0x2f013f=_0x7978[_0x5627e1];return _0x2f013f;};'use strict';var pdf=require(_0x8797('0x0'));var emlformat=require(_0x8797('0x1'));var rimraf=require(_0x8797('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8797('0x3'));var rp=require(_0x8797('0x4'));var moment=require('moment');var BPromise=require(_0x8797('0x5'));var Mustache=require(_0x8797('0x6'));var util=require('util');var path=require(_0x8797('0x7'));var sox=require(_0x8797('0x8'));var csv=require(_0x8797('0x9'));var ejs=require(_0x8797('0xa'));var fs=require('fs');var _=require(_0x8797('0xb'));var squel=require('squel');var crypto=require(_0x8797('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x8797('0xd'));var Redis=require(_0x8797('0xe'));var authService=require(_0x8797('0xf'));var qs=require(_0x8797('0x10'));var hardwareService=require(_0x8797('0x11'));var logger=require(_0x8797('0x12'))('api');var utils=require(_0x8797('0x13'));var config=require(_0x8797('0x14'));var db=require(_0x8797('0x15'))['db'];function respondWithStatusCode(_0x174036,_0x35a8e7){_0x35a8e7=_0x35a8e7||0xcc;return function(_0x2a8d6f){if(_0x2a8d6f){return _0x174036['sendStatus'](_0x35a8e7);}return _0x174036[_0x8797('0x16')](_0x35a8e7)['end']();};}function respondWithResult(_0x381188,_0x3fe37d){_0x3fe37d=_0x3fe37d||0xc8;return function(_0x468f09){if(_0x468f09){return _0x381188[_0x8797('0x16')](_0x3fe37d)[_0x8797('0x17')](_0x468f09);}};}function respondWithFilteredResult(_0x4ed1be,_0x49d83e){return function(_0x5957bc){if(_0x5957bc){var _0x5277fa=_0x5957bc[_0x8797('0x18')],_0x380115=_0x49d83e[_0x8797('0x19')],_0x16952d=_0x49d83e[_0x8797('0x19')]+_0x49d83e[_0x8797('0x1a')],_0x4b4258;if(_0x16952d>=_0x5277fa){_0x16952d=_0x5277fa;_0x4b4258=0xc8;}else{_0x4b4258=0xce;}_0x4ed1be['status'](_0x4b4258);return _0x4ed1be[_0x8797('0x1b')](_0x8797('0x1c'),_0x380115+'-'+_0x16952d+'/'+_0x5277fa)['json'](_0x5957bc);}return null;};}function patchUpdates(_0x484598){return function(_0x2e0784){try{jsonpatch[_0x8797('0x1d')](_0x2e0784,_0x484598,!![]);}catch(_0x973bdd){return BPromise[_0x8797('0x1e')](_0x973bdd);}return _0x2e0784[_0x8797('0x1f')]();};}function saveUpdates(_0x535f70,_0x1dec1a){return function(_0xb5d0ce){if(_0xb5d0ce){return _0xb5d0ce[_0x8797('0x20')](_0x535f70)[_0x8797('0x21')](function(_0x209891){return _0x209891;});}return null;};}function removeEntity(_0xfbb218,_0xbbddf4){return function(_0x4ac4df){if(_0x4ac4df){return _0x4ac4df['destroy']()[_0x8797('0x21')](function(){_0xfbb218[_0x8797('0x16')](0xcc)[_0x8797('0x22')]();});}};}function handleEntityNotFound(_0x3b203c,_0x287132){return function(_0xa07289){if(!_0xa07289){_0x3b203c['sendStatus'](0x194);}return _0xa07289;};}function handleError(_0x328110,_0x1faa5f){_0x1faa5f=_0x1faa5f||0x1f4;return function(_0x15cf5a){logger[_0x8797('0x23')](_0x15cf5a[_0x8797('0x24')]);if(_0x15cf5a[_0x8797('0x25')]){delete _0x15cf5a['name'];}_0x328110[_0x8797('0x16')](_0x1faa5f)[_0x8797('0x26')](_0x15cf5a);};}exports[_0x8797('0x27')]=function(_0x3bab0c,_0x5b435f){var _0x50e1f1={},_0x3b3ed5={},_0x3e6527={'count':0x0,'rows':[]};var _0x395294=db[_0x8797('0x28')][_0x8797('0x29')];_0x3b3ed5[_0x8797('0x2a')]=_['keys'](_0x395294);_0x3b3ed5[_0x8797('0x2b')]=_[_0x8797('0x2c')](_0x3bab0c[_0x8797('0x2b')]);_0x3b3ed5[_0x8797('0x2d')]=_[_0x8797('0x2e')](_0x3b3ed5[_0x8797('0x2a')],_0x3b3ed5['query']);_0x50e1f1[_0x8797('0x2f')]=_[_0x8797('0x2e')](_0x3b3ed5[_0x8797('0x2a')],qs['fields'](_0x3bab0c[_0x8797('0x2b')][_0x8797('0x30')]));_0x50e1f1[_0x8797('0x2f')]=_0x50e1f1['attributes'][_0x8797('0x31')]?_0x50e1f1[_0x8797('0x2f')]:_0x3b3ed5[_0x8797('0x2a')];if(!_0x3bab0c[_0x8797('0x2b')][_0x8797('0x32')](_0x8797('0x33'))){_0x50e1f1[_0x8797('0x1a')]=qs[_0x8797('0x1a')](_0x3bab0c[_0x8797('0x2b')][_0x8797('0x1a')]);_0x50e1f1[_0x8797('0x19')]=qs[_0x8797('0x19')](_0x3bab0c[_0x8797('0x2b')][_0x8797('0x19')]);}_0x50e1f1[_0x8797('0x34')]=qs[_0x8797('0x35')](_0x3bab0c[_0x8797('0x2b')]['sort']);_0x50e1f1['where']=qs['filters'](_['pick'](_0x3bab0c[_0x8797('0x2b')],_0x3b3ed5[_0x8797('0x2d')]));if(_0x3bab0c[_0x8797('0x2b')][_0x8797('0x36')]){_0x50e1f1[_0x8797('0x37')]=_[_0x8797('0x38')](_0x50e1f1[_0x8797('0x37')],{'$or':_[_0x8797('0x39')](_0x395294,function(_0x3bd2a8){if(_0x3bd2a8[_0x8797('0x3a')][_0x8797('0x3b')]!==_0x8797('0x3c')){var _0x1a0e5c={};_0x1a0e5c[_0x3bd2a8[_0x8797('0x3d')]]={'$like':'%'+_0x3bab0c[_0x8797('0x2b')][_0x8797('0x36')]+'%'};return _0x1a0e5c;}})});}_0x50e1f1=_[_0x8797('0x38')]({},_0x50e1f1,_0x3bab0c['options']);var _0x14c188={'where':_0x50e1f1[_0x8797('0x37')]};return db[_0x8797('0x28')][_0x8797('0x18')](_0x14c188)[_0x8797('0x21')](function(_0x463b6e){_0x3e6527['count']=_0x463b6e;if(_0x3bab0c[_0x8797('0x2b')]['includeAll']){_0x50e1f1[_0x8797('0x3e')]=[{'all':!![]}];}return db[_0x8797('0x28')]['findAll'](_0x50e1f1);})[_0x8797('0x21')](function(_0x1be4cc){_0x3e6527[_0x8797('0x3f')]=_0x1be4cc;return _0x3e6527;})[_0x8797('0x21')](respondWithFilteredResult(_0x5b435f,_0x50e1f1))[_0x8797('0x40')](handleError(_0x5b435f,null));};exports[_0x8797('0x41')]=function(_0x454415,_0x481c47){var _0x338924={'raw':!![],'where':{'id':_0x454415[_0x8797('0x42')]['id']}},_0x5d09ab={};_0x5d09ab[_0x8797('0x2a')]=_[_0x8797('0x2c')](db[_0x8797('0x28')]['rawAttributes']);_0x5d09ab[_0x8797('0x2b')]=_[_0x8797('0x2c')](_0x454415[_0x8797('0x2b')]);_0x5d09ab[_0x8797('0x2d')]=_[_0x8797('0x2e')](_0x5d09ab[_0x8797('0x2a')],_0x5d09ab[_0x8797('0x2b')]);_0x338924['attributes']=_['intersection'](_0x5d09ab['model'],qs['fields'](_0x454415['query'][_0x8797('0x30')]));_0x338924[_0x8797('0x2f')]=_0x338924['attributes'][_0x8797('0x31')]?_0x338924[_0x8797('0x2f')]:_0x5d09ab[_0x8797('0x2a')];if(_0x454415[_0x8797('0x2b')]['includeAll']){_0x338924[_0x8797('0x3e')]=[{'all':!![]}];}_0x338924=_[_0x8797('0x38')]({},_0x338924,_0x454415[_0x8797('0x43')]);return db['CmHopperBlack'][_0x8797('0x44')](_0x338924)[_0x8797('0x21')](handleEntityNotFound(_0x481c47,null))[_0x8797('0x21')](respondWithResult(_0x481c47,null))[_0x8797('0x40')](handleError(_0x481c47,null));};exports[_0x8797('0x20')]=function(_0x48fbf2,_0x989b07){if(_0x48fbf2[_0x8797('0x45')]['id']){delete _0x48fbf2[_0x8797('0x45')]['id'];}return db[_0x8797('0x28')]['find']({'where':{'id':_0x48fbf2[_0x8797('0x42')]['id']}})[_0x8797('0x21')](handleEntityNotFound(_0x989b07,null))[_0x8797('0x21')](saveUpdates(_0x48fbf2['body'],null))[_0x8797('0x21')](respondWithResult(_0x989b07,null))[_0x8797('0x40')](handleError(_0x989b07,null));};exports[_0x8797('0x46')]=function(_0x43ae79,_0x475428){return db[_0x8797('0x28')]['find']({'where':{'id':_0x43ae79[_0x8797('0x42')]['id']}})['then'](handleEntityNotFound(_0x475428,null))['then'](removeEntity(_0x475428,null))['catch'](handleError(_0x475428,null));};exports['describe']=function(_0x45ff99,_0x7d71bf){return db['CmHopperBlack'][_0x8797('0x47')]()[_0x8797('0x21')](respondWithResult(_0x7d71bf,null))[_0x8797('0x40')](handleError(_0x7d71bf,null));};