247d5f140e419064785a350cbac7ccb9393e9b3f
[motion2.git] / server / api / chatTransferReport / chatTransferReport.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 _0xaf30=['count','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','ChatTransferReport','rawAttributes','fieldName','key','map','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','describe','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined'];(function(_0x43ce1e,_0x47fea5){var _0x16735c=function(_0x36fd5c){while(--_0x36fd5c){_0x43ce1e['push'](_0x43ce1e['shift']());}};_0x16735c(++_0x47fea5);}(_0xaf30,0x16c));var _0x0af3=function(_0x3a07c1,_0x34d57f){_0x3a07c1=_0x3a07c1-0x0;var _0x2bbe15=_0xaf30[_0x3a07c1];return _0x2bbe15;};'use strict';var emlformat=require(_0x0af3('0x0'));var rimraf=require(_0x0af3('0x1'));var zipdir=require(_0x0af3('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0af3('0x3'));var BPromise=require(_0x0af3('0x4'));var Mustache=require(_0x0af3('0x5'));var util=require(_0x0af3('0x6'));var path=require(_0x0af3('0x7'));var sox=require(_0x0af3('0x8'));var csv=require(_0x0af3('0x9'));var ejs=require(_0x0af3('0xa'));var fs=require('fs');var fs_extra=require(_0x0af3('0xb'));var _=require('lodash');var squel=require(_0x0af3('0xc'));var crypto=require(_0x0af3('0xd'));var jsforce=require(_0x0af3('0xe'));var deskjs=require(_0x0af3('0xf'));var toCsv=require('to-csv');var querystring=require(_0x0af3('0x10'));var Papa=require(_0x0af3('0x11'));var Redis=require(_0x0af3('0x12'));var authService=require(_0x0af3('0x13'));var qs=require(_0x0af3('0x14'));var as=require(_0x0af3('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0af3('0x16'))(_0x0af3('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0af3('0x18'));var db=require(_0x0af3('0x19'))['db'];function respondWithStatusCode(_0x3aef93,_0x4666b9){_0x4666b9=_0x4666b9||0xcc;return function(_0x1d384e){if(_0x1d384e){return _0x3aef93[_0x0af3('0x1a')](_0x4666b9);}return _0x3aef93[_0x0af3('0x1b')](_0x4666b9)[_0x0af3('0x1c')]();};}function respondWithResult(_0x1ad150,_0x2897eb){_0x2897eb=_0x2897eb||0xc8;return function(_0x179ae1){if(_0x179ae1){return _0x1ad150['status'](_0x2897eb)['json'](_0x179ae1);}};}function respondWithFilteredResult(_0x56ecf7,_0x447541){return function(_0x507266){if(_0x507266){var _0x106e03=typeof _0x447541[_0x0af3('0x1d')]===_0x0af3('0x1e')&&typeof _0x447541['limit']===_0x0af3('0x1e');var _0xe8b4b=_0x507266[_0x0af3('0x1f')];var _0x5a610e=_0x106e03?0x0:_0x447541[_0x0af3('0x1d')];var _0xc314e=_0x106e03?_0x507266['count']:_0x447541[_0x0af3('0x1d')]+_0x447541[_0x0af3('0x20')];var _0x39f573;if(_0xc314e>=_0xe8b4b){_0xc314e=_0xe8b4b;_0x39f573=0xc8;}else{_0x39f573=0xce;}_0x56ecf7[_0x0af3('0x1b')](_0x39f573);return _0x56ecf7[_0x0af3('0x21')](_0x0af3('0x22'),_0x5a610e+'-'+_0xc314e+'/'+_0xe8b4b)['json'](_0x507266);}return null;};}function patchUpdates(_0x43afb1){return function(_0x49aee9){try{jsonpatch[_0x0af3('0x23')](_0x49aee9,_0x43afb1,!![]);}catch(_0x47126e){return BPromise['reject'](_0x47126e);}return _0x49aee9[_0x0af3('0x24')]();};}function saveUpdates(_0x352c1c,_0x2f9ef9){return function(_0x34f1b4){if(_0x34f1b4){return _0x34f1b4[_0x0af3('0x25')](_0x352c1c)[_0x0af3('0x26')](function(_0x3a1cc9){return _0x3a1cc9;});}return null;};}function removeEntity(_0xb96747,_0x14a4fb){return function(_0x2fe82c){if(_0x2fe82c){return _0x2fe82c[_0x0af3('0x27')]()[_0x0af3('0x26')](function(){_0xb96747[_0x0af3('0x1b')](0xcc)[_0x0af3('0x1c')]();});}};}function handleEntityNotFound(_0xb08010,_0x2ac1a4){return function(_0x5a8e24){if(!_0x5a8e24){_0xb08010[_0x0af3('0x1a')](0x194);}return _0x5a8e24;};}function handleError(_0x69af1f,_0xfe781d){_0xfe781d=_0xfe781d||0x1f4;return function(_0x12aa0d){logger[_0x0af3('0x28')](_0x12aa0d[_0x0af3('0x29')]);if(_0x12aa0d['name']){delete _0x12aa0d[_0x0af3('0x2a')];}_0x69af1f['status'](_0xfe781d)[_0x0af3('0x2b')](_0x12aa0d);};}exports[_0x0af3('0x2c')]=function(_0x432f82,_0x25a19a){var _0x1d89c5={},_0x6c12fd={},_0x1aec5f={'count':0x0,'rows':[]};var _0x362311=_['map'](db[_0x0af3('0x2d')][_0x0af3('0x2e')],function(_0x35a86b){return{'name':_0x35a86b[_0x0af3('0x2f')],'type':_0x35a86b['type'][_0x0af3('0x30')]};});_0x6c12fd['model']=_[_0x0af3('0x31')](_0x362311,_0x0af3('0x2a'));_0x6c12fd[_0x0af3('0x32')]=_[_0x0af3('0x33')](_0x432f82[_0x0af3('0x32')]);_0x6c12fd[_0x0af3('0x34')]=_[_0x0af3('0x35')](_0x6c12fd[_0x0af3('0x36')],_0x6c12fd[_0x0af3('0x32')]);_0x1d89c5[_0x0af3('0x37')]=_[_0x0af3('0x35')](_0x6c12fd[_0x0af3('0x36')],qs[_0x0af3('0x38')](_0x432f82[_0x0af3('0x32')][_0x0af3('0x38')]));_0x1d89c5[_0x0af3('0x37')]=_0x1d89c5['attributes'][_0x0af3('0x39')]?_0x1d89c5['attributes']:_0x6c12fd[_0x0af3('0x36')];if(!_0x432f82[_0x0af3('0x32')][_0x0af3('0x3a')](_0x0af3('0x3b'))){_0x1d89c5[_0x0af3('0x20')]=qs[_0x0af3('0x20')](_0x432f82[_0x0af3('0x32')][_0x0af3('0x20')]);_0x1d89c5[_0x0af3('0x1d')]=qs[_0x0af3('0x1d')](_0x432f82[_0x0af3('0x32')]['offset']);}_0x1d89c5[_0x0af3('0x3c')]=qs[_0x0af3('0x3d')](_0x432f82[_0x0af3('0x32')]['sort']);_0x1d89c5[_0x0af3('0x3e')]=qs[_0x0af3('0x34')](_['pick'](_0x432f82['query'],_0x6c12fd[_0x0af3('0x34')]),_0x362311);if(_0x432f82[_0x0af3('0x32')][_0x0af3('0x3f')]){_0x1d89c5[_0x0af3('0x3e')]=_[_0x0af3('0x40')](_0x1d89c5[_0x0af3('0x3e')],{'$or':_['map'](_0x362311,function(_0x50be96){if(_0x50be96[_0x0af3('0x41')]!==_0x0af3('0x42')){var _0x23788d={};_0x23788d[_0x50be96['name']]={'$like':'%'+_0x432f82[_0x0af3('0x32')][_0x0af3('0x3f')]+'%'};return _0x23788d;}})});}_0x1d89c5=_[_0x0af3('0x40')]({},_0x1d89c5,_0x432f82[_0x0af3('0x43')]);var _0x20bcfb={'where':_0x1d89c5[_0x0af3('0x3e')]};return db[_0x0af3('0x2d')]['count'](_0x20bcfb)['then'](function(_0x32663c){_0x1aec5f[_0x0af3('0x1f')]=_0x32663c;if(_0x432f82['query']['includeAll']){_0x1d89c5[_0x0af3('0x44')]=[{'all':!![]}];}return db['ChatTransferReport'][_0x0af3('0x45')](_0x1d89c5);})[_0x0af3('0x26')](function(_0x3283b9){_0x1aec5f[_0x0af3('0x46')]=_0x3283b9;return _0x1aec5f;})[_0x0af3('0x26')](respondWithFilteredResult(_0x25a19a,_0x1d89c5))[_0x0af3('0x47')](handleError(_0x25a19a,null));};exports[_0x0af3('0x48')]=function(_0x2cd517,_0x43261b){var _0x4cfcbd={'raw':!![],'where':{'id':_0x2cd517[_0x0af3('0x49')]['id']}},_0x3cbbd1={};_0x3cbbd1[_0x0af3('0x36')]=_[_0x0af3('0x33')](db['ChatTransferReport'][_0x0af3('0x2e')]);_0x3cbbd1[_0x0af3('0x32')]=_[_0x0af3('0x33')](_0x2cd517[_0x0af3('0x32')]);_0x3cbbd1[_0x0af3('0x34')]=_[_0x0af3('0x35')](_0x3cbbd1['model'],_0x3cbbd1[_0x0af3('0x32')]);_0x4cfcbd[_0x0af3('0x37')]=_[_0x0af3('0x35')](_0x3cbbd1['model'],qs[_0x0af3('0x38')](_0x2cd517[_0x0af3('0x32')][_0x0af3('0x38')]));_0x4cfcbd[_0x0af3('0x37')]=_0x4cfcbd[_0x0af3('0x37')][_0x0af3('0x39')]?_0x4cfcbd['attributes']:_0x3cbbd1[_0x0af3('0x36')];if(_0x2cd517[_0x0af3('0x32')][_0x0af3('0x4a')]){_0x4cfcbd[_0x0af3('0x44')]=[{'all':!![]}];}_0x4cfcbd=_[_0x0af3('0x40')]({},_0x4cfcbd,_0x2cd517[_0x0af3('0x43')]);return db['ChatTransferReport'][_0x0af3('0x4b')](_0x4cfcbd)[_0x0af3('0x26')](handleEntityNotFound(_0x43261b,null))[_0x0af3('0x26')](respondWithResult(_0x43261b,null))[_0x0af3('0x47')](handleError(_0x43261b,null));};exports[_0x0af3('0x4c')]=function(_0x30cb37,_0xe45f22){return db[_0x0af3('0x2d')][_0x0af3('0x4c')](_0x30cb37[_0x0af3('0x4d')],{})['then'](respondWithResult(_0xe45f22,0xc9))['catch'](handleError(_0xe45f22,null));};exports[_0x0af3('0x25')]=function(_0x3b5c88,_0x39ccd0){if(_0x3b5c88[_0x0af3('0x4d')]['id']){delete _0x3b5c88[_0x0af3('0x4d')]['id'];}return db['ChatTransferReport'][_0x0af3('0x4b')]({'where':{'id':_0x3b5c88['params']['id']}})[_0x0af3('0x26')](handleEntityNotFound(_0x39ccd0,null))[_0x0af3('0x26')](saveUpdates(_0x3b5c88[_0x0af3('0x4d')],null))[_0x0af3('0x26')](respondWithResult(_0x39ccd0,null))['catch'](handleError(_0x39ccd0,null));};exports[_0x0af3('0x27')]=function(_0x33453b,_0x3a99c0){return db[_0x0af3('0x2d')][_0x0af3('0x4b')]({'where':{'id':_0x33453b['params']['id']}})['then'](handleEntityNotFound(_0x3a99c0,null))[_0x0af3('0x26')](removeEntity(_0x3a99c0,null))['catch'](handleError(_0x3a99c0,null));};exports[_0x0af3('0x4e')]=function(_0x494871,_0x56c390){return db[_0x0af3('0x2d')][_0x0af3('0x4e')]()[_0x0af3('0x26')](respondWithResult(_0x56c390,null))[_0x0af3('0x47')](handleError(_0x56c390,null));};