0c4540c8455cbcbf67d73d73ed1b63f24c046a48
[motion2.git] / server / api / faxApplication / faxApplication.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 _0xebd7=['pick','filter','VIRTUAL','merge','findAll','rows','catch','show','params','includeAll','include','create','body','update','find','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','set','apply','reject','save','then','destroy','error','stack','name','send','index','map','FaxApplication','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','nolimit','sort','where','filters'];(function(_0x42bdee,_0x1fbc14){var _0x1e55ee=function(_0x1f2fc7){while(--_0x1f2fc7){_0x42bdee['push'](_0x42bdee['shift']());}};_0x1e55ee(++_0x1fbc14);}(_0xebd7,0x1c5));var _0x7ebd=function(_0x20311c,_0x244176){_0x20311c=_0x20311c-0x0;var _0x412e0d=_0xebd7[_0x20311c];return _0x412e0d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7ebd('0x0'));var zipdir=require(_0x7ebd('0x1'));var jsonpatch=require(_0x7ebd('0x2'));var rp=require(_0x7ebd('0x3'));var moment=require(_0x7ebd('0x4'));var BPromise=require(_0x7ebd('0x5'));var Mustache=require(_0x7ebd('0x6'));var util=require(_0x7ebd('0x7'));var path=require(_0x7ebd('0x8'));var sox=require('sox');var csv=require(_0x7ebd('0x9'));var ejs=require(_0x7ebd('0xa'));var fs=require('fs');var fs_extra=require(_0x7ebd('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x7ebd('0xc'));var jsforce=require(_0x7ebd('0xd'));var deskjs=require(_0x7ebd('0xe'));var toCsv=require(_0x7ebd('0x9'));var querystring=require(_0x7ebd('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7ebd('0x10'));var qs=require(_0x7ebd('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7ebd('0x12'));var logger=require(_0x7ebd('0x13'))('api');var utils=require(_0x7ebd('0x14'));var config=require(_0x7ebd('0x15'));var licenseUtil=require(_0x7ebd('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x10818e,_0x3ab422){_0x3ab422=_0x3ab422||0xcc;return function(_0x237bb5){if(_0x237bb5){return _0x10818e['sendStatus'](_0x3ab422);}return _0x10818e[_0x7ebd('0x17')](_0x3ab422)[_0x7ebd('0x18')]();};}function respondWithResult(_0x2d3539,_0x4199e2){_0x4199e2=_0x4199e2||0xc8;return function(_0x42ab81){if(_0x42ab81){return _0x2d3539['status'](_0x4199e2)[_0x7ebd('0x19')](_0x42ab81);}};}function respondWithFilteredResult(_0x1fcd83,_0x540981){return function(_0x2d0ca9){if(_0x2d0ca9){var _0x15fc71=typeof _0x540981[_0x7ebd('0x1a')]===_0x7ebd('0x1b')&&typeof _0x540981[_0x7ebd('0x1c')]===_0x7ebd('0x1b');var _0x69cdd9=_0x2d0ca9['count'];var _0x3d1b4b=_0x15fc71?0x0:_0x540981[_0x7ebd('0x1a')];var _0x2468ff=_0x15fc71?_0x2d0ca9[_0x7ebd('0x1d')]:_0x540981[_0x7ebd('0x1a')]+_0x540981['limit'];var _0x4d2ae7;if(_0x2468ff>=_0x69cdd9){_0x2468ff=_0x69cdd9;_0x4d2ae7=0xc8;}else{_0x4d2ae7=0xce;}_0x1fcd83['status'](_0x4d2ae7);return _0x1fcd83[_0x7ebd('0x1e')]('Content-Range',_0x3d1b4b+'-'+_0x2468ff+'/'+_0x69cdd9)[_0x7ebd('0x19')](_0x2d0ca9);}return null;};}function patchUpdates(_0x1bdd1e){return function(_0x48f418){try{jsonpatch[_0x7ebd('0x1f')](_0x48f418,_0x1bdd1e,!![]);}catch(_0x3c2016){return BPromise[_0x7ebd('0x20')](_0x3c2016);}return _0x48f418[_0x7ebd('0x21')]();};}function saveUpdates(_0x5572ae,_0x3fb936){return function(_0x1075da){if(_0x1075da){return _0x1075da['update'](_0x5572ae)[_0x7ebd('0x22')](function(_0x3796b6){return _0x3796b6;});}return null;};}function removeEntity(_0x1e2d97,_0x3fc2dd){return function(_0x499f36){if(_0x499f36){return _0x499f36[_0x7ebd('0x23')]()['then'](function(){_0x1e2d97['status'](0xcc)[_0x7ebd('0x18')]();});}};}function handleEntityNotFound(_0x3fb4ea,_0x3ee45c){return function(_0x3e9ec8){if(!_0x3e9ec8){_0x3fb4ea['sendStatus'](0x194);}return _0x3e9ec8;};}function handleError(_0x475194,_0x537cf5){_0x537cf5=_0x537cf5||0x1f4;return function(_0x560d8b){logger[_0x7ebd('0x24')](_0x560d8b[_0x7ebd('0x25')]);if(_0x560d8b[_0x7ebd('0x26')]){delete _0x560d8b['name'];}_0x475194[_0x7ebd('0x17')](_0x537cf5)[_0x7ebd('0x27')](_0x560d8b);};}exports[_0x7ebd('0x28')]=function(_0xd3ae31,_0x264705){var _0x565033={},_0x2c162b={},_0x2245ed={'count':0x0,'rows':[]};var _0x31e94c=_[_0x7ebd('0x29')](db[_0x7ebd('0x2a')][_0x7ebd('0x2b')],function(_0x3101fa){return{'name':_0x3101fa[_0x7ebd('0x2c')],'type':_0x3101fa[_0x7ebd('0x2d')][_0x7ebd('0x2e')]};});_0x2c162b[_0x7ebd('0x2f')]=_['map'](_0x31e94c,'name');_0x2c162b['query']=_[_0x7ebd('0x30')](_0xd3ae31[_0x7ebd('0x31')]);_0x2c162b['filters']=_[_0x7ebd('0x32')](_0x2c162b[_0x7ebd('0x2f')],_0x2c162b['query']);_0x565033[_0x7ebd('0x33')]=_['intersection'](_0x2c162b[_0x7ebd('0x2f')],qs[_0x7ebd('0x34')](_0xd3ae31[_0x7ebd('0x31')][_0x7ebd('0x34')]));_0x565033[_0x7ebd('0x33')]=_0x565033[_0x7ebd('0x33')][_0x7ebd('0x35')]?_0x565033[_0x7ebd('0x33')]:_0x2c162b[_0x7ebd('0x2f')];if(!_0xd3ae31[_0x7ebd('0x31')]['hasOwnProperty'](_0x7ebd('0x36'))){_0x565033[_0x7ebd('0x1c')]=qs['limit'](_0xd3ae31[_0x7ebd('0x31')][_0x7ebd('0x1c')]);_0x565033[_0x7ebd('0x1a')]=qs[_0x7ebd('0x1a')](_0xd3ae31['query'][_0x7ebd('0x1a')]);}_0x565033['order']=qs['sort'](_0xd3ae31['query'][_0x7ebd('0x37')]);_0x565033[_0x7ebd('0x38')]=qs[_0x7ebd('0x39')](_[_0x7ebd('0x3a')](_0xd3ae31[_0x7ebd('0x31')],_0x2c162b[_0x7ebd('0x39')]),_0x31e94c);if(_0xd3ae31[_0x7ebd('0x31')][_0x7ebd('0x3b')]){_0x565033['where']=_['merge'](_0x565033[_0x7ebd('0x38')],{'$or':_['map'](_0x31e94c,function(_0x394acf){if(_0x394acf[_0x7ebd('0x2d')]!==_0x7ebd('0x3c')){var _0x32c7f7={};_0x32c7f7[_0x394acf[_0x7ebd('0x26')]]={'$like':'%'+_0xd3ae31[_0x7ebd('0x31')][_0x7ebd('0x3b')]+'%'};return _0x32c7f7;}})});}_0x565033=_[_0x7ebd('0x3d')]({},_0x565033,_0xd3ae31['options']);var _0x5625cc={'where':_0x565033[_0x7ebd('0x38')]};return db['FaxApplication'][_0x7ebd('0x1d')](_0x5625cc)[_0x7ebd('0x22')](function(_0x162bb6){_0x2245ed['count']=_0x162bb6;if(_0xd3ae31[_0x7ebd('0x31')]['includeAll']){_0x565033['include']=[{'all':!![]}];}return db[_0x7ebd('0x2a')][_0x7ebd('0x3e')](_0x565033);})[_0x7ebd('0x22')](function(_0x2405db){_0x2245ed[_0x7ebd('0x3f')]=_0x2405db;return _0x2245ed;})[_0x7ebd('0x22')](respondWithFilteredResult(_0x264705,_0x565033))[_0x7ebd('0x40')](handleError(_0x264705,null));};exports[_0x7ebd('0x41')]=function(_0x2b3378,_0x5c2940){var _0x5b6e48={'raw':!![],'where':{'id':_0x2b3378[_0x7ebd('0x42')]['id']}},_0x40719e={};_0x40719e['model']=_[_0x7ebd('0x30')](db[_0x7ebd('0x2a')]['rawAttributes']);_0x40719e[_0x7ebd('0x31')]=_[_0x7ebd('0x30')](_0x2b3378[_0x7ebd('0x31')]);_0x40719e[_0x7ebd('0x39')]=_[_0x7ebd('0x32')](_0x40719e['model'],_0x40719e[_0x7ebd('0x31')]);_0x5b6e48[_0x7ebd('0x33')]=_[_0x7ebd('0x32')](_0x40719e[_0x7ebd('0x2f')],qs[_0x7ebd('0x34')](_0x2b3378[_0x7ebd('0x31')][_0x7ebd('0x34')]));_0x5b6e48[_0x7ebd('0x33')]=_0x5b6e48['attributes'][_0x7ebd('0x35')]?_0x5b6e48['attributes']:_0x40719e['model'];if(_0x2b3378[_0x7ebd('0x31')][_0x7ebd('0x43')]){_0x5b6e48[_0x7ebd('0x44')]=[{'all':!![]}];}_0x5b6e48=_[_0x7ebd('0x3d')]({},_0x5b6e48,_0x2b3378['options']);return db[_0x7ebd('0x2a')]['find'](_0x5b6e48)[_0x7ebd('0x22')](handleEntityNotFound(_0x5c2940,null))['then'](respondWithResult(_0x5c2940,null))['catch'](handleError(_0x5c2940,null));};exports[_0x7ebd('0x45')]=function(_0x4ed9ff,_0x525f81){return db[_0x7ebd('0x2a')][_0x7ebd('0x45')](_0x4ed9ff[_0x7ebd('0x46')],{})['then'](respondWithResult(_0x525f81,0xc9))[_0x7ebd('0x40')](handleError(_0x525f81,null));};exports[_0x7ebd('0x47')]=function(_0x3a4d52,_0x504ecf){if(_0x3a4d52[_0x7ebd('0x46')]['id']){delete _0x3a4d52['body']['id'];}return db[_0x7ebd('0x2a')][_0x7ebd('0x48')]({'where':{'id':_0x3a4d52['params']['id']}})[_0x7ebd('0x22')](handleEntityNotFound(_0x504ecf,null))[_0x7ebd('0x22')](saveUpdates(_0x3a4d52[_0x7ebd('0x46')],null))[_0x7ebd('0x22')](respondWithResult(_0x504ecf,null))[_0x7ebd('0x40')](handleError(_0x504ecf,null));};exports['destroy']=function(_0x476816,_0x3ca92f){return db[_0x7ebd('0x2a')][_0x7ebd('0x48')]({'where':{'id':_0x476816[_0x7ebd('0x42')]['id']}})[_0x7ebd('0x22')](handleEntityNotFound(_0x3ca92f,null))['then'](removeEntity(_0x3ca92f,null))[_0x7ebd('0x40')](handleError(_0x3ca92f,null));};