7b54addc801c998666f7d5de68659260629be2c0
[motion2.git] / server / api / smsTransferReport / smsTransferReport.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 _0x4cec=['moment','bluebird','util','sox','to-csv','ejs','lodash','squel','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','offset','undefined','limit','count','set','Content-Range','json','apply','then','end','sendStatus','error','stack','name','send','render','merge','body','contact','message','agent','map','SmsTransferReport','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','options','includeAll','include','findAll','catch','params','find','create','destroy','describe','rimraf','zip-dir','request-promise'];(function(_0x1c3b0d,_0x18219b){var _0x5109e6=function(_0x332343){while(--_0x332343){_0x1c3b0d['push'](_0x1c3b0d['shift']());}};_0x5109e6(++_0x18219b);}(_0x4cec,0x1b9));var _0xc4ce=function(_0x178e48,_0x3c9509){_0x178e48=_0x178e48-0x0;var _0x440d7e=_0x4cec[_0x178e48];return _0x440d7e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc4ce('0x0'));var zipdir=require(_0xc4ce('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc4ce('0x2'));var moment=require(_0xc4ce('0x3'));var BPromise=require(_0xc4ce('0x4'));var Mustache=require('mustache');var util=require(_0xc4ce('0x5'));var path=require('path');var sox=require(_0xc4ce('0x6'));var csv=require(_0xc4ce('0x7'));var ejs=require(_0xc4ce('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc4ce('0x9'));var squel=require(_0xc4ce('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xc4ce('0xb'));var authService=require('../../components/auth/service');var qs=require(_0xc4ce('0xc'));var as=require(_0xc4ce('0xd'));var hardwareService=require(_0xc4ce('0xe'));var logger=require(_0xc4ce('0xf'))(_0xc4ce('0x10'));var utils=require(_0xc4ce('0x11'));var config=require(_0xc4ce('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xc4ce('0x13'))['db'];function respondWithStatusCode(_0x3d26b1,_0x16e06d){_0x16e06d=_0x16e06d||0xcc;return function(_0xeb515d){if(_0xeb515d){return _0x3d26b1['sendStatus'](_0x16e06d);}return _0x3d26b1[_0xc4ce('0x14')](_0x16e06d)['end']();};}function respondWithResult(_0x378c23,_0x24c7ea){_0x24c7ea=_0x24c7ea||0xc8;return function(_0x30bbed){if(_0x30bbed){return _0x378c23[_0xc4ce('0x14')](_0x24c7ea)['json'](_0x30bbed);}};}function respondWithFilteredResult(_0x38247f,_0x4449ee){return function(_0x4bb87e){if(_0x4bb87e){var _0x4034c9=typeof _0x4449ee[_0xc4ce('0x15')]===_0xc4ce('0x16')&&typeof _0x4449ee[_0xc4ce('0x17')]==='undefined';var _0x4202d2=_0x4bb87e[_0xc4ce('0x18')];var _0x535105=_0x4034c9?0x0:_0x4449ee[_0xc4ce('0x15')];var _0x2b11a6=_0x4034c9?_0x4bb87e[_0xc4ce('0x18')]:_0x4449ee[_0xc4ce('0x15')]+_0x4449ee[_0xc4ce('0x17')];var _0x261bfa;if(_0x2b11a6>=_0x4202d2){_0x2b11a6=_0x4202d2;_0x261bfa=0xc8;}else{_0x261bfa=0xce;}_0x38247f['status'](_0x261bfa);return _0x38247f[_0xc4ce('0x19')](_0xc4ce('0x1a'),_0x535105+'-'+_0x2b11a6+'/'+_0x4202d2)[_0xc4ce('0x1b')](_0x4bb87e);}return null;};}function patchUpdates(_0xc99b0d){return function(_0x4b5097){try{jsonpatch[_0xc4ce('0x1c')](_0x4b5097,_0xc99b0d,!![]);}catch(_0x430e2c){return BPromise['reject'](_0x430e2c);}return _0x4b5097['save']();};}function saveUpdates(_0x504fa1,_0x2d7e1e){return function(_0x44613c){if(_0x44613c){return _0x44613c['update'](_0x504fa1)[_0xc4ce('0x1d')](function(_0x546108){return _0x546108;});}return null;};}function removeEntity(_0x461091,_0x52d7b1){return function(_0x4db252){if(_0x4db252){return _0x4db252['destroy']()[_0xc4ce('0x1d')](function(){_0x461091['status'](0xcc)[_0xc4ce('0x1e')]();});}};}function handleEntityNotFound(_0x55dc25,_0x2d8f0c){return function(_0x2353f3){if(!_0x2353f3){_0x55dc25[_0xc4ce('0x1f')](0x194);}return _0x2353f3;};}function handleError(_0x523160,_0x309580){_0x309580=_0x309580||0x1f4;return function(_0xba96e){logger[_0xc4ce('0x20')](_0xba96e[_0xc4ce('0x21')]);if(_0xba96e['name']){delete _0xba96e[_0xc4ce('0x22')];}_0x523160[_0xc4ce('0x14')](_0x309580)[_0xc4ce('0x23')](_0xba96e);};}function getMustacheRender(_0x47ff2d,_0x3484db){return Mustache[_0xc4ce('0x24')](_0x47ff2d,_[_0xc4ce('0x25')](_0x3484db[_0xc4ce('0x26')],{'contact':_0x3484db[_0xc4ce('0x27')],'message':_0x3484db[_0xc4ce('0x28')],'agent':_0x3484db[_0xc4ce('0x29')],'interaction':_0x3484db['interaction'],'account':_0x3484db['account']}))||'';}exports['index']=function(_0x55b48d,_0x13398e){var _0x4ca68f={},_0x3f0fce={},_0x35ed9b={'count':0x0,'rows':[]};var _0x55012e=_[_0xc4ce('0x2a')](db[_0xc4ce('0x2b')][_0xc4ce('0x2c')],function(_0x102712){return{'name':_0x102712[_0xc4ce('0x2d')],'type':_0x102712['type'][_0xc4ce('0x2e')]};});_0x3f0fce[_0xc4ce('0x2f')]=_[_0xc4ce('0x2a')](_0x55012e,'name');_0x3f0fce[_0xc4ce('0x30')]=_[_0xc4ce('0x31')](_0x55b48d[_0xc4ce('0x30')]);_0x3f0fce[_0xc4ce('0x32')]=_['intersection'](_0x3f0fce[_0xc4ce('0x2f')],_0x3f0fce[_0xc4ce('0x30')]);_0x4ca68f[_0xc4ce('0x33')]=_[_0xc4ce('0x34')](_0x3f0fce['model'],qs[_0xc4ce('0x35')](_0x55b48d[_0xc4ce('0x30')][_0xc4ce('0x35')]));_0x4ca68f[_0xc4ce('0x33')]=_0x4ca68f[_0xc4ce('0x33')][_0xc4ce('0x36')]?_0x4ca68f[_0xc4ce('0x33')]:_0x3f0fce[_0xc4ce('0x2f')];if(!_0x55b48d['query'][_0xc4ce('0x37')](_0xc4ce('0x38'))){_0x4ca68f['limit']=qs[_0xc4ce('0x17')](_0x55b48d[_0xc4ce('0x30')][_0xc4ce('0x17')]);_0x4ca68f['offset']=qs['offset'](_0x55b48d['query'][_0xc4ce('0x15')]);}_0x4ca68f[_0xc4ce('0x39')]=qs[_0xc4ce('0x3a')](_0x55b48d[_0xc4ce('0x30')][_0xc4ce('0x3a')]);_0x4ca68f[_0xc4ce('0x3b')]=qs[_0xc4ce('0x32')](_[_0xc4ce('0x3c')](_0x55b48d[_0xc4ce('0x30')],_0x3f0fce[_0xc4ce('0x32')]),_0x55012e);if(_0x55b48d[_0xc4ce('0x30')][_0xc4ce('0x3d')]){_0x4ca68f[_0xc4ce('0x3b')]=_[_0xc4ce('0x25')](_0x4ca68f[_0xc4ce('0x3b')],{'$or':_[_0xc4ce('0x2a')](_0x55012e,function(_0x2b76a7){if(_0x2b76a7[_0xc4ce('0x3e')]!==_0xc4ce('0x3f')){var _0x3fa422={};_0x3fa422[_0x2b76a7[_0xc4ce('0x22')]]={'$like':'%'+_0x55b48d[_0xc4ce('0x30')][_0xc4ce('0x3d')]+'%'};return _0x3fa422;}})});}_0x4ca68f=_[_0xc4ce('0x25')]({},_0x4ca68f,_0x55b48d[_0xc4ce('0x40')]);var _0x51ddd4={'where':_0x4ca68f[_0xc4ce('0x3b')]};return db[_0xc4ce('0x2b')]['count'](_0x51ddd4)['then'](function(_0x3e6f40){_0x35ed9b[_0xc4ce('0x18')]=_0x3e6f40;if(_0x55b48d[_0xc4ce('0x30')][_0xc4ce('0x41')]){_0x4ca68f[_0xc4ce('0x42')]=[{'all':!![]}];}return db[_0xc4ce('0x2b')][_0xc4ce('0x43')](_0x4ca68f);})['then'](function(_0x40c74c){_0x35ed9b['rows']=_0x40c74c;return _0x35ed9b;})[_0xc4ce('0x1d')](respondWithFilteredResult(_0x13398e,_0x4ca68f))[_0xc4ce('0x44')](handleError(_0x13398e,null));};exports['show']=function(_0x327cd,_0x191804){var _0x3ce7e8={'raw':!![],'where':{'id':_0x327cd[_0xc4ce('0x45')]['id']}},_0x5c8fda={};_0x5c8fda['model']=_['keys'](db['SmsTransferReport'][_0xc4ce('0x2c')]);_0x5c8fda[_0xc4ce('0x30')]=_[_0xc4ce('0x31')](_0x327cd[_0xc4ce('0x30')]);_0x5c8fda['filters']=_[_0xc4ce('0x34')](_0x5c8fda[_0xc4ce('0x2f')],_0x5c8fda['query']);_0x3ce7e8[_0xc4ce('0x33')]=_['intersection'](_0x5c8fda[_0xc4ce('0x2f')],qs[_0xc4ce('0x35')](_0x327cd[_0xc4ce('0x30')][_0xc4ce('0x35')]));_0x3ce7e8['attributes']=_0x3ce7e8[_0xc4ce('0x33')][_0xc4ce('0x36')]?_0x3ce7e8[_0xc4ce('0x33')]:_0x5c8fda[_0xc4ce('0x2f')];if(_0x327cd[_0xc4ce('0x30')][_0xc4ce('0x41')]){_0x3ce7e8['include']=[{'all':!![]}];}_0x3ce7e8=_[_0xc4ce('0x25')]({},_0x3ce7e8,_0x327cd[_0xc4ce('0x40')]);return db['SmsTransferReport'][_0xc4ce('0x46')](_0x3ce7e8)[_0xc4ce('0x1d')](handleEntityNotFound(_0x191804,null))[_0xc4ce('0x1d')](respondWithResult(_0x191804,null))[_0xc4ce('0x44')](handleError(_0x191804,null));};exports[_0xc4ce('0x47')]=function(_0x411dfa,_0x5e0706){return db[_0xc4ce('0x2b')][_0xc4ce('0x47')](_0x411dfa['body'],{})[_0xc4ce('0x1d')](respondWithResult(_0x5e0706,0xc9))[_0xc4ce('0x44')](handleError(_0x5e0706,null));};exports['update']=function(_0x1361ea,_0x5614d8){if(_0x1361ea[_0xc4ce('0x26')]['id']){delete _0x1361ea[_0xc4ce('0x26')]['id'];}return db['SmsTransferReport'][_0xc4ce('0x46')]({'where':{'id':_0x1361ea[_0xc4ce('0x45')]['id']}})['then'](handleEntityNotFound(_0x5614d8,null))['then'](saveUpdates(_0x1361ea[_0xc4ce('0x26')],null))[_0xc4ce('0x1d')](respondWithResult(_0x5614d8,null))[_0xc4ce('0x44')](handleError(_0x5614d8,null));};exports[_0xc4ce('0x48')]=function(_0x158639,_0x2e9daa){return db[_0xc4ce('0x2b')]['find']({'where':{'id':_0x158639['params']['id']}})[_0xc4ce('0x1d')](handleEntityNotFound(_0x2e9daa,null))[_0xc4ce('0x1d')](removeEntity(_0x2e9daa,null))[_0xc4ce('0x44')](handleError(_0x2e9daa,null));};exports['describe']=function(_0x1f3a63,_0x1d9d40){return db[_0xc4ce('0x2b')][_0xc4ce('0x49')]()[_0xc4ce('0x1d')](respondWithResult(_0x1d9d40,null))['catch'](handleError(_0x1d9d40,null));};