a190fcbc4d28669ad7fe9f56b5c9bb0e64b99660
[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 _0xccf4=['to-csv','fs-extra','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','count','Content-Range','apply','save','then','destroy','name','map','FaxApplication','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','rawAttributes','create','update','body','find','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox'];(function(_0x51020b,_0x38c2c7){var _0x371e47=function(_0x2a538f){while(--_0x2a538f){_0x51020b['push'](_0x51020b['shift']());}};_0x371e47(++_0x38c2c7);}(_0xccf4,0x148));var _0x4ccf=function(_0x218a4c,_0x355be1){_0x218a4c=_0x218a4c-0x0;var _0x5655a2=_0xccf4[_0x218a4c];return _0x5655a2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4ccf('0x0'));var zipdir=require(_0x4ccf('0x1'));var jsonpatch=require(_0x4ccf('0x2'));var rp=require('request-promise');var moment=require(_0x4ccf('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x4ccf('0x4'));var util=require(_0x4ccf('0x5'));var path=require('path');var sox=require(_0x4ccf('0x6'));var csv=require(_0x4ccf('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4ccf('0x8'));var _=require('lodash');var squel=require(_0x4ccf('0x9'));var crypto=require(_0x4ccf('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x4ccf('0xb'));var toCsv=require(_0x4ccf('0x7'));var querystring=require(_0x4ccf('0xc'));var Papa=require('papaparse');var Redis=require(_0x4ccf('0xd'));var authService=require(_0x4ccf('0xe'));var qs=require(_0x4ccf('0xf'));var as=require(_0x4ccf('0x10'));var hardwareService=require(_0x4ccf('0x11'));var logger=require('../../config/logger')(_0x4ccf('0x12'));var utils=require(_0x4ccf('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x4ccf('0x14'));var db=require(_0x4ccf('0x15'))['db'];function respondWithStatusCode(_0x5d94d5,_0x471cca){_0x471cca=_0x471cca||0xcc;return function(_0x35c8d8){if(_0x35c8d8){return _0x5d94d5[_0x4ccf('0x16')](_0x471cca);}return _0x5d94d5[_0x4ccf('0x17')](_0x471cca)[_0x4ccf('0x18')]();};}function respondWithResult(_0xd8462b,_0x45308a){_0x45308a=_0x45308a||0xc8;return function(_0x3e0d2a){if(_0x3e0d2a){return _0xd8462b[_0x4ccf('0x17')](_0x45308a)[_0x4ccf('0x19')](_0x3e0d2a);}};}function respondWithFilteredResult(_0x52a61d,_0x4a016c){return function(_0x16220c){if(_0x16220c){var _0x2b7392=typeof _0x4a016c[_0x4ccf('0x1a')]==='undefined'&&typeof _0x4a016c[_0x4ccf('0x1b')]==='undefined';var _0x5d216c=_0x16220c[_0x4ccf('0x1c')];var _0x1ae7c=_0x2b7392?0x0:_0x4a016c[_0x4ccf('0x1a')];var _0x502171=_0x2b7392?_0x16220c[_0x4ccf('0x1c')]:_0x4a016c[_0x4ccf('0x1a')]+_0x4a016c[_0x4ccf('0x1b')];var _0x793f5c;if(_0x502171>=_0x5d216c){_0x502171=_0x5d216c;_0x793f5c=0xc8;}else{_0x793f5c=0xce;}_0x52a61d[_0x4ccf('0x17')](_0x793f5c);return _0x52a61d['set'](_0x4ccf('0x1d'),_0x1ae7c+'-'+_0x502171+'/'+_0x5d216c)[_0x4ccf('0x19')](_0x16220c);}return null;};}function patchUpdates(_0x24eaa8){return function(_0x5dfeab){try{jsonpatch[_0x4ccf('0x1e')](_0x5dfeab,_0x24eaa8,!![]);}catch(_0x60094b){return BPromise['reject'](_0x60094b);}return _0x5dfeab[_0x4ccf('0x1f')]();};}function saveUpdates(_0x285a4f,_0x226819){return function(_0x533a5b){if(_0x533a5b){return _0x533a5b['update'](_0x285a4f)[_0x4ccf('0x20')](function(_0x4d558b){return _0x4d558b;});}return null;};}function removeEntity(_0x484eee,_0x29d7d0){return function(_0x32a259){if(_0x32a259){return _0x32a259[_0x4ccf('0x21')]()[_0x4ccf('0x20')](function(){_0x484eee[_0x4ccf('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5bc563,_0x4fd1c9){return function(_0x5c8830){if(!_0x5c8830){_0x5bc563[_0x4ccf('0x16')](0x194);}return _0x5c8830;};}function handleError(_0x3c020e,_0x22bf8b){_0x22bf8b=_0x22bf8b||0x1f4;return function(_0x583ec0){logger['error'](_0x583ec0['stack']);if(_0x583ec0[_0x4ccf('0x22')]){delete _0x583ec0['name'];}_0x3c020e[_0x4ccf('0x17')](_0x22bf8b)['send'](_0x583ec0);};}exports['index']=function(_0x37ea62,_0x5b8510){var _0x56a67a={},_0x3218ea={},_0x150e9d={'count':0x0,'rows':[]};var _0x46de14=_[_0x4ccf('0x23')](db[_0x4ccf('0x24')]['rawAttributes'],function(_0x37d540){return{'name':_0x37d540[_0x4ccf('0x25')],'type':_0x37d540[_0x4ccf('0x26')][_0x4ccf('0x27')]};});_0x3218ea[_0x4ccf('0x28')]=_[_0x4ccf('0x23')](_0x46de14,_0x4ccf('0x22'));_0x3218ea[_0x4ccf('0x29')]=_[_0x4ccf('0x2a')](_0x37ea62[_0x4ccf('0x29')]);_0x3218ea[_0x4ccf('0x2b')]=_[_0x4ccf('0x2c')](_0x3218ea[_0x4ccf('0x28')],_0x3218ea[_0x4ccf('0x29')]);_0x56a67a[_0x4ccf('0x2d')]=_['intersection'](_0x3218ea[_0x4ccf('0x28')],qs[_0x4ccf('0x2e')](_0x37ea62[_0x4ccf('0x29')][_0x4ccf('0x2e')]));_0x56a67a[_0x4ccf('0x2d')]=_0x56a67a[_0x4ccf('0x2d')][_0x4ccf('0x2f')]?_0x56a67a[_0x4ccf('0x2d')]:_0x3218ea[_0x4ccf('0x28')];if(!_0x37ea62[_0x4ccf('0x29')][_0x4ccf('0x30')]('nolimit')){_0x56a67a['limit']=qs[_0x4ccf('0x1b')](_0x37ea62[_0x4ccf('0x29')][_0x4ccf('0x1b')]);_0x56a67a[_0x4ccf('0x1a')]=qs[_0x4ccf('0x1a')](_0x37ea62[_0x4ccf('0x29')][_0x4ccf('0x1a')]);}_0x56a67a['order']=qs['sort'](_0x37ea62[_0x4ccf('0x29')][_0x4ccf('0x31')]);_0x56a67a[_0x4ccf('0x32')]=qs[_0x4ccf('0x2b')](_[_0x4ccf('0x33')](_0x37ea62[_0x4ccf('0x29')],_0x3218ea[_0x4ccf('0x2b')]),_0x46de14);if(_0x37ea62[_0x4ccf('0x29')][_0x4ccf('0x34')]){_0x56a67a[_0x4ccf('0x32')]=_[_0x4ccf('0x35')](_0x56a67a['where'],{'$or':_['map'](_0x46de14,function(_0x24124c){if(_0x24124c[_0x4ccf('0x26')]!==_0x4ccf('0x36')){var _0x124b57={};_0x124b57[_0x24124c[_0x4ccf('0x22')]]={'$like':'%'+_0x37ea62['query']['filter']+'%'};return _0x124b57;}})});}_0x56a67a=_[_0x4ccf('0x35')]({},_0x56a67a,_0x37ea62[_0x4ccf('0x37')]);var _0x3d4acb={'where':_0x56a67a[_0x4ccf('0x32')]};return db[_0x4ccf('0x24')]['count'](_0x3d4acb)[_0x4ccf('0x20')](function(_0x12af7e){_0x150e9d[_0x4ccf('0x1c')]=_0x12af7e;if(_0x37ea62[_0x4ccf('0x29')][_0x4ccf('0x38')]){_0x56a67a[_0x4ccf('0x39')]=[{'all':!![]}];}return db[_0x4ccf('0x24')][_0x4ccf('0x3a')](_0x56a67a);})[_0x4ccf('0x20')](function(_0x284887){_0x150e9d['rows']=_0x284887;return _0x150e9d;})[_0x4ccf('0x20')](respondWithFilteredResult(_0x5b8510,_0x56a67a))[_0x4ccf('0x3b')](handleError(_0x5b8510,null));};exports[_0x4ccf('0x3c')]=function(_0x509a32,_0x1b3880){var _0x3a10a3={'raw':!![],'where':{'id':_0x509a32[_0x4ccf('0x3d')]['id']}},_0x20c8b4={};_0x20c8b4['model']=_[_0x4ccf('0x2a')](db[_0x4ccf('0x24')][_0x4ccf('0x3e')]);_0x20c8b4[_0x4ccf('0x29')]=_[_0x4ccf('0x2a')](_0x509a32[_0x4ccf('0x29')]);_0x20c8b4[_0x4ccf('0x2b')]=_[_0x4ccf('0x2c')](_0x20c8b4['model'],_0x20c8b4[_0x4ccf('0x29')]);_0x3a10a3[_0x4ccf('0x2d')]=_[_0x4ccf('0x2c')](_0x20c8b4[_0x4ccf('0x28')],qs[_0x4ccf('0x2e')](_0x509a32[_0x4ccf('0x29')][_0x4ccf('0x2e')]));_0x3a10a3[_0x4ccf('0x2d')]=_0x3a10a3[_0x4ccf('0x2d')][_0x4ccf('0x2f')]?_0x3a10a3['attributes']:_0x20c8b4[_0x4ccf('0x28')];if(_0x509a32[_0x4ccf('0x29')]['includeAll']){_0x3a10a3['include']=[{'all':!![]}];}_0x3a10a3=_[_0x4ccf('0x35')]({},_0x3a10a3,_0x509a32[_0x4ccf('0x37')]);return db['FaxApplication']['find'](_0x3a10a3)[_0x4ccf('0x20')](handleEntityNotFound(_0x1b3880,null))[_0x4ccf('0x20')](respondWithResult(_0x1b3880,null))[_0x4ccf('0x3b')](handleError(_0x1b3880,null));};exports[_0x4ccf('0x3f')]=function(_0x10bb3a,_0x4db476){return db[_0x4ccf('0x24')][_0x4ccf('0x3f')](_0x10bb3a['body'],{})[_0x4ccf('0x20')](respondWithResult(_0x4db476,0xc9))[_0x4ccf('0x3b')](handleError(_0x4db476,null));};exports[_0x4ccf('0x40')]=function(_0x3d11ad,_0x3595d6){if(_0x3d11ad['body']['id']){delete _0x3d11ad[_0x4ccf('0x41')]['id'];}return db[_0x4ccf('0x24')]['find']({'where':{'id':_0x3d11ad['params']['id']}})[_0x4ccf('0x20')](handleEntityNotFound(_0x3595d6,null))[_0x4ccf('0x20')](saveUpdates(_0x3d11ad[_0x4ccf('0x41')],null))[_0x4ccf('0x20')](respondWithResult(_0x3595d6,null))[_0x4ccf('0x3b')](handleError(_0x3595d6,null));};exports[_0x4ccf('0x21')]=function(_0x228399,_0x57023c){return db['FaxApplication'][_0x4ccf('0x42')]({'where':{'id':_0x228399[_0x4ccf('0x3d')]['id']}})[_0x4ccf('0x20')](handleEntityNotFound(_0x57023c,null))['then'](removeEntity(_0x57023c,null))[_0x4ccf('0x3b')](handleError(_0x57023c,null));};