19bb9ea0930e22b2820637cb44309e22fbc23508
[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 _0x435d=['eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','end','status','undefined','limit','count','offset','set','Content-Range','json','apply','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','FaxApplication','rawAttributes','fieldName','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','order','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','body'];(function(_0x16d3f8,_0x3f5dd3){var _0x49a172=function(_0x2f730d){while(--_0x2f730d){_0x16d3f8['push'](_0x16d3f8['shift']());}};_0x49a172(++_0x3f5dd3);}(_0x435d,0xdb));var _0xd435=function(_0x45397a,_0x3dc281){_0x45397a=_0x45397a-0x0;var _0x5ae1a6=_0x435d[_0x45397a];return _0x5ae1a6;};'use strict';var emlformat=require(_0xd435('0x0'));var rimraf=require(_0xd435('0x1'));var zipdir=require(_0xd435('0x2'));var jsonpatch=require(_0xd435('0x3'));var rp=require('request-promise');var moment=require(_0xd435('0x4'));var BPromise=require(_0xd435('0x5'));var Mustache=require('mustache');var util=require(_0xd435('0x6'));var path=require('path');var sox=require(_0xd435('0x7'));var csv=require(_0xd435('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd435('0x9'));var _=require(_0xd435('0xa'));var squel=require(_0xd435('0xb'));var crypto=require('crypto');var jsforce=require(_0xd435('0xc'));var deskjs=require(_0xd435('0xd'));var toCsv=require('to-csv');var querystring=require(_0xd435('0xe'));var Papa=require(_0xd435('0xf'));var Redis=require(_0xd435('0x10'));var authService=require(_0xd435('0x11'));var qs=require(_0xd435('0x12'));var as=require(_0xd435('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd435('0x14'))(_0xd435('0x15'));var utils=require(_0xd435('0x16'));var config=require(_0xd435('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2c0705,_0x44dff0){_0x44dff0=_0x44dff0||0xcc;return function(_0x37d686){if(_0x37d686){return _0x2c0705['sendStatus'](_0x44dff0);}return _0x2c0705['status'](_0x44dff0)[_0xd435('0x18')]();};}function respondWithResult(_0x41c1f5,_0x2becd9){_0x2becd9=_0x2becd9||0xc8;return function(_0x4de01f){if(_0x4de01f){return _0x41c1f5[_0xd435('0x19')](_0x2becd9)['json'](_0x4de01f);}};}function respondWithFilteredResult(_0x5140d8,_0x35aa5f){return function(_0x38874a){if(_0x38874a){var _0x24b924=typeof _0x35aa5f['offset']===_0xd435('0x1a')&&typeof _0x35aa5f[_0xd435('0x1b')]===_0xd435('0x1a');var _0x4cb2c1=_0x38874a[_0xd435('0x1c')];var _0x213b7b=_0x24b924?0x0:_0x35aa5f[_0xd435('0x1d')];var _0x5cb1b5=_0x24b924?_0x38874a[_0xd435('0x1c')]:_0x35aa5f[_0xd435('0x1d')]+_0x35aa5f[_0xd435('0x1b')];var _0x2b2a76;if(_0x5cb1b5>=_0x4cb2c1){_0x5cb1b5=_0x4cb2c1;_0x2b2a76=0xc8;}else{_0x2b2a76=0xce;}_0x5140d8[_0xd435('0x19')](_0x2b2a76);return _0x5140d8[_0xd435('0x1e')](_0xd435('0x1f'),_0x213b7b+'-'+_0x5cb1b5+'/'+_0x4cb2c1)[_0xd435('0x20')](_0x38874a);}return null;};}function patchUpdates(_0x1460bb){return function(_0x303800){try{jsonpatch[_0xd435('0x21')](_0x303800,_0x1460bb,!![]);}catch(_0x1a9ddd){return BPromise['reject'](_0x1a9ddd);}return _0x303800[_0xd435('0x22')]();};}function saveUpdates(_0x4bbef1,_0x4dd9ce){return function(_0x2223da){if(_0x2223da){return _0x2223da[_0xd435('0x23')](_0x4bbef1)[_0xd435('0x24')](function(_0x441f58){return _0x441f58;});}return null;};}function removeEntity(_0x335fef,_0x2ab954){return function(_0x3feb00){if(_0x3feb00){return _0x3feb00[_0xd435('0x25')]()[_0xd435('0x24')](function(){_0x335fef[_0xd435('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x506ba7,_0x22c241){return function(_0x1151e9){if(!_0x1151e9){_0x506ba7[_0xd435('0x26')](0x194);}return _0x1151e9;};}function handleError(_0x32abf4,_0x3cb5eb){_0x3cb5eb=_0x3cb5eb||0x1f4;return function(_0x1eb842){logger[_0xd435('0x27')](_0x1eb842[_0xd435('0x28')]);if(_0x1eb842[_0xd435('0x29')]){delete _0x1eb842[_0xd435('0x29')];}_0x32abf4[_0xd435('0x19')](_0x3cb5eb)[_0xd435('0x2a')](_0x1eb842);};}exports[_0xd435('0x2b')]=function(_0x48d363,_0x2c6d47){var _0x25ce81={},_0x5a4bd6={},_0xf1374e={'count':0x0,'rows':[]};var _0x21faf=_[_0xd435('0x2c')](db[_0xd435('0x2d')][_0xd435('0x2e')],function(_0x45be49){return{'name':_0x45be49[_0xd435('0x2f')],'type':_0x45be49['type']['key']};});_0x5a4bd6[_0xd435('0x30')]=_[_0xd435('0x2c')](_0x21faf,_0xd435('0x29'));_0x5a4bd6[_0xd435('0x31')]=_[_0xd435('0x32')](_0x48d363[_0xd435('0x31')]);_0x5a4bd6[_0xd435('0x33')]=_['intersection'](_0x5a4bd6[_0xd435('0x30')],_0x5a4bd6[_0xd435('0x31')]);_0x25ce81[_0xd435('0x34')]=_[_0xd435('0x35')](_0x5a4bd6[_0xd435('0x30')],qs[_0xd435('0x36')](_0x48d363[_0xd435('0x31')][_0xd435('0x36')]));_0x25ce81[_0xd435('0x34')]=_0x25ce81[_0xd435('0x34')]['length']?_0x25ce81[_0xd435('0x34')]:_0x5a4bd6[_0xd435('0x30')];if(!_0x48d363['query'][_0xd435('0x37')]('nolimit')){_0x25ce81['limit']=qs[_0xd435('0x1b')](_0x48d363[_0xd435('0x31')][_0xd435('0x1b')]);_0x25ce81['offset']=qs[_0xd435('0x1d')](_0x48d363['query'][_0xd435('0x1d')]);}_0x25ce81[_0xd435('0x38')]=qs['sort'](_0x48d363[_0xd435('0x31')]['sort']);_0x25ce81[_0xd435('0x39')]=qs[_0xd435('0x33')](_[_0xd435('0x3a')](_0x48d363[_0xd435('0x31')],_0x5a4bd6['filters']),_0x21faf);if(_0x48d363[_0xd435('0x31')][_0xd435('0x3b')]){_0x25ce81['where']=_[_0xd435('0x3c')](_0x25ce81[_0xd435('0x39')],{'$or':_[_0xd435('0x2c')](_0x21faf,function(_0xcfa2ad){if(_0xcfa2ad[_0xd435('0x3d')]!==_0xd435('0x3e')){var _0x3d4119={};_0x3d4119[_0xcfa2ad['name']]={'$like':'%'+_0x48d363[_0xd435('0x31')]['filter']+'%'};return _0x3d4119;}})});}_0x25ce81=_[_0xd435('0x3c')]({},_0x25ce81,_0x48d363[_0xd435('0x3f')]);var _0x58e106={'where':_0x25ce81[_0xd435('0x39')]};return db[_0xd435('0x2d')][_0xd435('0x1c')](_0x58e106)[_0xd435('0x24')](function(_0x4eab80){_0xf1374e[_0xd435('0x1c')]=_0x4eab80;if(_0x48d363[_0xd435('0x31')][_0xd435('0x40')]){_0x25ce81[_0xd435('0x41')]=[{'all':!![]}];}return db[_0xd435('0x2d')][_0xd435('0x42')](_0x25ce81);})[_0xd435('0x24')](function(_0x29e371){_0xf1374e[_0xd435('0x43')]=_0x29e371;return _0xf1374e;})[_0xd435('0x24')](respondWithFilteredResult(_0x2c6d47,_0x25ce81))[_0xd435('0x44')](handleError(_0x2c6d47,null));};exports[_0xd435('0x45')]=function(_0x19ac1c,_0x5cf7a7){var _0x3d6cb1={'raw':!![],'where':{'id':_0x19ac1c[_0xd435('0x46')]['id']}},_0x19a366={};_0x19a366[_0xd435('0x30')]=_[_0xd435('0x32')](db['FaxApplication'][_0xd435('0x2e')]);_0x19a366['query']=_[_0xd435('0x32')](_0x19ac1c[_0xd435('0x31')]);_0x19a366['filters']=_['intersection'](_0x19a366[_0xd435('0x30')],_0x19a366['query']);_0x3d6cb1[_0xd435('0x34')]=_[_0xd435('0x35')](_0x19a366[_0xd435('0x30')],qs[_0xd435('0x36')](_0x19ac1c['query']['fields']));_0x3d6cb1[_0xd435('0x34')]=_0x3d6cb1[_0xd435('0x34')]['length']?_0x3d6cb1[_0xd435('0x34')]:_0x19a366[_0xd435('0x30')];if(_0x19ac1c[_0xd435('0x31')]['includeAll']){_0x3d6cb1[_0xd435('0x41')]=[{'all':!![]}];}_0x3d6cb1=_[_0xd435('0x3c')]({},_0x3d6cb1,_0x19ac1c[_0xd435('0x3f')]);return db['FaxApplication'][_0xd435('0x47')](_0x3d6cb1)['then'](handleEntityNotFound(_0x5cf7a7,null))[_0xd435('0x24')](respondWithResult(_0x5cf7a7,null))['catch'](handleError(_0x5cf7a7,null));};exports['create']=function(_0x5b3df5,_0x650f81){return db[_0xd435('0x2d')]['create'](_0x5b3df5[_0xd435('0x48')],{})[_0xd435('0x24')](respondWithResult(_0x650f81,0xc9))[_0xd435('0x44')](handleError(_0x650f81,null));};exports[_0xd435('0x23')]=function(_0x33b8bd,_0x2fa5f4){if(_0x33b8bd['body']['id']){delete _0x33b8bd[_0xd435('0x48')]['id'];}return db[_0xd435('0x2d')][_0xd435('0x47')]({'where':{'id':_0x33b8bd[_0xd435('0x46')]['id']}})[_0xd435('0x24')](handleEntityNotFound(_0x2fa5f4,null))['then'](saveUpdates(_0x33b8bd[_0xd435('0x48')],null))[_0xd435('0x24')](respondWithResult(_0x2fa5f4,null))[_0xd435('0x44')](handleError(_0x2fa5f4,null));};exports[_0xd435('0x25')]=function(_0x4462d1,_0x8fd504){return db['FaxApplication'][_0xd435('0x47')]({'where':{'id':_0x4462d1[_0xd435('0x46')]['id']}})[_0xd435('0x24')](handleEntityNotFound(_0x8fd504,null))[_0xd435('0x24')](removeEntity(_0x8fd504,null))[_0xd435('0x44')](handleError(_0x8fd504,null));};