2de0cf93f7f0e0d912d8fd11e9d6d1a05df92a55
[motion2.git] / server / api / cmHopperHistory / cmHopperHistory.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 _0xae79=['save','then','destroy','name','send','render','merge','body','message','interaction','account','map','CmHopperHistory','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filters','VIRTUAL','filter','options','count','includeAll','findAll','rows','catch','show','include','find','create','describe','update','uniqueid','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','undefined','limit','set','json','apply','reject'];(function(_0x1cc083,_0x51abc4){var _0x5055b4=function(_0x19704c){while(--_0x19704c){_0x1cc083['push'](_0x1cc083['shift']());}};_0x5055b4(++_0x51abc4);}(_0xae79,0x1d3));var _0x9ae7=function(_0x33f7ea,_0x5aecb1){_0x33f7ea=_0x33f7ea-0x0;var _0x321ea7=_0xae79[_0x33f7ea];return _0x321ea7;};'use strict';var emlformat=require(_0x9ae7('0x0'));var rimraf=require(_0x9ae7('0x1'));var zipdir=require(_0x9ae7('0x2'));var jsonpatch=require(_0x9ae7('0x3'));var rp=require(_0x9ae7('0x4'));var moment=require(_0x9ae7('0x5'));var BPromise=require(_0x9ae7('0x6'));var Mustache=require(_0x9ae7('0x7'));var util=require(_0x9ae7('0x8'));var path=require(_0x9ae7('0x9'));var sox=require(_0x9ae7('0xa'));var csv=require(_0x9ae7('0xb'));var ejs=require(_0x9ae7('0xc'));var fs=require('fs');var fs_extra=require(_0x9ae7('0xd'));var _=require(_0x9ae7('0xe'));var squel=require('squel');var crypto=require(_0x9ae7('0xf'));var jsforce=require(_0x9ae7('0x10'));var deskjs=require(_0x9ae7('0x11'));var toCsv=require(_0x9ae7('0xb'));var querystring=require(_0x9ae7('0x12'));var Papa=require(_0x9ae7('0x13'));var Redis=require('ioredis');var authService=require(_0x9ae7('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0x9ae7('0x15'));var hardwareService=require(_0x9ae7('0x16'));var logger=require(_0x9ae7('0x17'))(_0x9ae7('0x18'));var utils=require(_0x9ae7('0x19'));var config=require(_0x9ae7('0x1a'));var licenseUtil=require(_0x9ae7('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xf0ddd1,_0x41a773){_0x41a773=_0x41a773||0xcc;return function(_0x4fec37){if(_0x4fec37){return _0xf0ddd1[_0x9ae7('0x1c')](_0x41a773);}return _0xf0ddd1[_0x9ae7('0x1d')](_0x41a773)[_0x9ae7('0x1e')]();};}function respondWithResult(_0x18ff9d,_0x1bc8a1){_0x1bc8a1=_0x1bc8a1||0xc8;return function(_0x39ac53){if(_0x39ac53){return _0x18ff9d[_0x9ae7('0x1d')](_0x1bc8a1)['json'](_0x39ac53);}};}function respondWithFilteredResult(_0x1b9b21,_0x3f8a2d){return function(_0x1f8008){if(_0x1f8008){var _0x44c0bc=typeof _0x3f8a2d['offset']===_0x9ae7('0x1f')&&typeof _0x3f8a2d[_0x9ae7('0x20')]===_0x9ae7('0x1f');var _0x490d26=_0x1f8008['count'];var _0x2c7643=_0x44c0bc?0x0:_0x3f8a2d['offset'];var _0x5d6ad1=_0x44c0bc?_0x1f8008['count']:_0x3f8a2d['offset']+_0x3f8a2d[_0x9ae7('0x20')];var _0x1366cd;if(_0x5d6ad1>=_0x490d26){_0x5d6ad1=_0x490d26;_0x1366cd=0xc8;}else{_0x1366cd=0xce;}_0x1b9b21[_0x9ae7('0x1d')](_0x1366cd);return _0x1b9b21[_0x9ae7('0x21')]('Content-Range',_0x2c7643+'-'+_0x5d6ad1+'/'+_0x490d26)[_0x9ae7('0x22')](_0x1f8008);}return null;};}function patchUpdates(_0x1d94fb){return function(_0x481e47){try{jsonpatch[_0x9ae7('0x23')](_0x481e47,_0x1d94fb,!![]);}catch(_0x48eb76){return BPromise[_0x9ae7('0x24')](_0x48eb76);}return _0x481e47[_0x9ae7('0x25')]();};}function saveUpdates(_0x583937,_0x356559){return function(_0x550e52){if(_0x550e52){return _0x550e52['update'](_0x583937)[_0x9ae7('0x26')](function(_0x1abf16){return _0x1abf16;});}return null;};}function removeEntity(_0x1798d5,_0x1159a0){return function(_0x5aad24){if(_0x5aad24){return _0x5aad24[_0x9ae7('0x27')]()[_0x9ae7('0x26')](function(){_0x1798d5[_0x9ae7('0x1d')](0xcc)[_0x9ae7('0x1e')]();});}};}function handleEntityNotFound(_0x5da136,_0x125403){return function(_0x557030){if(!_0x557030){_0x5da136[_0x9ae7('0x1c')](0x194);}return _0x557030;};}function handleError(_0x1dc28a,_0x5a5cf9){_0x5a5cf9=_0x5a5cf9||0x1f4;return function(_0x49da63){logger['error'](_0x49da63['stack']);if(_0x49da63[_0x9ae7('0x28')]){delete _0x49da63[_0x9ae7('0x28')];}_0x1dc28a['status'](_0x5a5cf9)[_0x9ae7('0x29')](_0x49da63);};}function getMustacheRender(_0xf3bdcb,_0x41e4a8){return Mustache[_0x9ae7('0x2a')](_0xf3bdcb,_[_0x9ae7('0x2b')](_0x41e4a8[_0x9ae7('0x2c')],{'contact':_0x41e4a8['contact'],'message':_0x41e4a8[_0x9ae7('0x2d')],'agent':_0x41e4a8['agent'],'interaction':_0x41e4a8[_0x9ae7('0x2e')],'account':_0x41e4a8[_0x9ae7('0x2f')]}))||'';}exports['index']=function(_0xfe666d,_0x23a65e){var _0x182d2c={},_0x5879cf={},_0x23b79d={'count':0x0,'rows':[]};var _0x239a47=_[_0x9ae7('0x30')](db[_0x9ae7('0x31')]['rawAttributes'],function(_0x4f3ab3){return{'name':_0x4f3ab3[_0x9ae7('0x32')],'type':_0x4f3ab3[_0x9ae7('0x33')][_0x9ae7('0x34')]};});_0x5879cf[_0x9ae7('0x35')]=_[_0x9ae7('0x30')](_0x239a47,_0x9ae7('0x28'));_0x5879cf[_0x9ae7('0x36')]=_[_0x9ae7('0x37')](_0xfe666d[_0x9ae7('0x36')]);_0x5879cf['filters']=_[_0x9ae7('0x38')](_0x5879cf[_0x9ae7('0x35')],_0x5879cf['query']);_0x182d2c[_0x9ae7('0x39')]=_[_0x9ae7('0x38')](_0x5879cf['model'],qs['fields'](_0xfe666d['query'][_0x9ae7('0x3a')]));_0x182d2c['attributes']=_0x182d2c[_0x9ae7('0x39')][_0x9ae7('0x3b')]?_0x182d2c[_0x9ae7('0x39')]:_0x5879cf[_0x9ae7('0x35')];if(!_0xfe666d[_0x9ae7('0x36')][_0x9ae7('0x3c')](_0x9ae7('0x3d'))){_0x182d2c[_0x9ae7('0x20')]=qs[_0x9ae7('0x20')](_0xfe666d['query'][_0x9ae7('0x20')]);_0x182d2c[_0x9ae7('0x3e')]=qs['offset'](_0xfe666d[_0x9ae7('0x36')]['offset']);}_0x182d2c[_0x9ae7('0x3f')]=qs[_0x9ae7('0x40')](_0xfe666d[_0x9ae7('0x36')][_0x9ae7('0x40')]);_0x182d2c[_0x9ae7('0x41')]=qs['filters'](_[_0x9ae7('0x42')](_0xfe666d[_0x9ae7('0x36')],_0x5879cf[_0x9ae7('0x43')]),_0x239a47);if(_0xfe666d[_0x9ae7('0x36')]['filter']){_0x182d2c[_0x9ae7('0x41')]=_[_0x9ae7('0x2b')](_0x182d2c[_0x9ae7('0x41')],{'$or':_['map'](_0x239a47,function(_0x27da76){if(_0x27da76['type']!==_0x9ae7('0x44')){var _0x30b224={};_0x30b224[_0x27da76[_0x9ae7('0x28')]]={'$like':'%'+_0xfe666d[_0x9ae7('0x36')][_0x9ae7('0x45')]+'%'};return _0x30b224;}})});}_0x182d2c=_[_0x9ae7('0x2b')]({},_0x182d2c,_0xfe666d[_0x9ae7('0x46')]);var _0x3b0e43={'where':_0x182d2c['where']};return db['CmHopperHistory'][_0x9ae7('0x47')](_0x3b0e43)[_0x9ae7('0x26')](function(_0x221a08){_0x23b79d[_0x9ae7('0x47')]=_0x221a08;if(_0xfe666d['query'][_0x9ae7('0x48')]){_0x182d2c['include']=[{'all':!![]}];}return db[_0x9ae7('0x31')][_0x9ae7('0x49')](_0x182d2c);})[_0x9ae7('0x26')](function(_0x118aad){_0x23b79d[_0x9ae7('0x4a')]=_0x118aad;return _0x23b79d;})[_0x9ae7('0x26')](respondWithFilteredResult(_0x23a65e,_0x182d2c))[_0x9ae7('0x4b')](handleError(_0x23a65e,null));};exports[_0x9ae7('0x4c')]=function(_0x25e90e,_0x525185){var _0x43f379={'raw':!![],'where':{'id':_0x25e90e['params']['id']}},_0x617a80={};_0x617a80[_0x9ae7('0x35')]=_['keys'](db[_0x9ae7('0x31')]['rawAttributes']);_0x617a80[_0x9ae7('0x36')]=_[_0x9ae7('0x37')](_0x25e90e[_0x9ae7('0x36')]);_0x617a80[_0x9ae7('0x43')]=_[_0x9ae7('0x38')](_0x617a80[_0x9ae7('0x35')],_0x617a80['query']);_0x43f379[_0x9ae7('0x39')]=_['intersection'](_0x617a80[_0x9ae7('0x35')],qs[_0x9ae7('0x3a')](_0x25e90e[_0x9ae7('0x36')][_0x9ae7('0x3a')]));_0x43f379[_0x9ae7('0x39')]=_0x43f379[_0x9ae7('0x39')]['length']?_0x43f379[_0x9ae7('0x39')]:_0x617a80[_0x9ae7('0x35')];if(_0x25e90e[_0x9ae7('0x36')][_0x9ae7('0x48')]){_0x43f379[_0x9ae7('0x4d')]=[{'all':!![]}];}_0x43f379=_[_0x9ae7('0x2b')]({},_0x43f379,_0x25e90e[_0x9ae7('0x46')]);return db['CmHopperHistory'][_0x9ae7('0x4e')](_0x43f379)[_0x9ae7('0x26')](handleEntityNotFound(_0x525185,null))['then'](respondWithResult(_0x525185,null))['catch'](handleError(_0x525185,null));};exports['create']=function(_0x3bd0e8,_0x2fad4e){return db[_0x9ae7('0x31')][_0x9ae7('0x4f')](_0x3bd0e8[_0x9ae7('0x2c')],{})[_0x9ae7('0x26')](respondWithResult(_0x2fad4e,0xc9))[_0x9ae7('0x4b')](handleError(_0x2fad4e,null));};exports[_0x9ae7('0x50')]=function(_0x137c54,_0x2eaa84){return db['CmHopperHistory']['describe']()[_0x9ae7('0x26')](respondWithResult(_0x2eaa84,null))[_0x9ae7('0x4b')](handleError(_0x2eaa84,null));};exports[_0x9ae7('0x51')]=function(_0x176c39,_0x431099){if(_0x176c39[_0x9ae7('0x2c')][_0x9ae7('0x52')]){delete _0x176c39['body'][_0x9ae7('0x52')];}return db[_0x9ae7('0x31')][_0x9ae7('0x4e')]({'where':{'uniqueid':_0x176c39[_0x9ae7('0x53')]['id']}})[_0x9ae7('0x26')](handleEntityNotFound(_0x431099,null))[_0x9ae7('0x26')](saveUpdates(_0x176c39[_0x9ae7('0x2c')],null))['then'](respondWithResult(_0x431099,null))[_0x9ae7('0x4b')](handleError(_0x431099,null));};