a1d6a97cc45822d31d6bb7a4fd636032684ac6f8
[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 _0xd60e=['order','sort','where','filter','merge','type','options','includeAll','include','findAll','rows','catch','params','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','update','destroy','then','error','stack','name','send','index','map','FaxApplication','fieldName','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit'];(function(_0x2b59a5,_0x3b17c4){var _0x447f65=function(_0x3be6cf){while(--_0x3be6cf){_0x2b59a5['push'](_0x2b59a5['shift']());}};_0x447f65(++_0x3b17c4);}(_0xd60e,0xaa));var _0xed60=function(_0x28d93c,_0x5efa6f){_0x28d93c=_0x28d93c-0x0;var _0x4d8d3c=_0xd60e[_0x28d93c];return _0x4d8d3c;};'use strict';var emlformat=require(_0xed60('0x0'));var rimraf=require(_0xed60('0x1'));var zipdir=require(_0xed60('0x2'));var jsonpatch=require(_0xed60('0x3'));var rp=require(_0xed60('0x4'));var moment=require(_0xed60('0x5'));var BPromise=require(_0xed60('0x6'));var Mustache=require('mustache');var util=require(_0xed60('0x7'));var path=require(_0xed60('0x8'));var sox=require('sox');var csv=require(_0xed60('0x9'));var ejs=require(_0xed60('0xa'));var fs=require('fs');var fs_extra=require(_0xed60('0xb'));var _=require(_0xed60('0xc'));var squel=require(_0xed60('0xd'));var crypto=require(_0xed60('0xe'));var jsforce=require(_0xed60('0xf'));var deskjs=require(_0xed60('0x10'));var toCsv=require(_0xed60('0x9'));var querystring=require(_0xed60('0x11'));var Papa=require(_0xed60('0x12'));var Redis=require('ioredis');var authService=require(_0xed60('0x13'));var qs=require(_0xed60('0x14'));var as=require(_0xed60('0x15'));var hardwareService=require(_0xed60('0x16'));var logger=require(_0xed60('0x17'))(_0xed60('0x18'));var utils=require(_0xed60('0x19'));var config=require(_0xed60('0x1a'));var licenseUtil=require(_0xed60('0x1b'));var db=require(_0xed60('0x1c'))['db'];function respondWithStatusCode(_0x185c25,_0x494048){_0x494048=_0x494048||0xcc;return function(_0xb987de){if(_0xb987de){return _0x185c25[_0xed60('0x1d')](_0x494048);}return _0x185c25[_0xed60('0x1e')](_0x494048)[_0xed60('0x1f')]();};}function respondWithResult(_0x325221,_0x484ecc){_0x484ecc=_0x484ecc||0xc8;return function(_0x1ecb15){if(_0x1ecb15){return _0x325221['status'](_0x484ecc)[_0xed60('0x20')](_0x1ecb15);}};}function respondWithFilteredResult(_0x2978d0,_0xbed1ac){return function(_0x454a9a){if(_0x454a9a){var _0xc898a9=typeof _0xbed1ac[_0xed60('0x21')]===_0xed60('0x22')&&typeof _0xbed1ac[_0xed60('0x23')]===_0xed60('0x22');var _0x37c45b=_0x454a9a[_0xed60('0x24')];var _0x12b629=_0xc898a9?0x0:_0xbed1ac[_0xed60('0x21')];var _0x426106=_0xc898a9?_0x454a9a[_0xed60('0x24')]:_0xbed1ac[_0xed60('0x21')]+_0xbed1ac[_0xed60('0x23')];var _0x25db3b;if(_0x426106>=_0x37c45b){_0x426106=_0x37c45b;_0x25db3b=0xc8;}else{_0x25db3b=0xce;}_0x2978d0['status'](_0x25db3b);return _0x2978d0[_0xed60('0x25')]('Content-Range',_0x12b629+'-'+_0x426106+'/'+_0x37c45b)[_0xed60('0x20')](_0x454a9a);}return null;};}function patchUpdates(_0x38ce59){return function(_0x1475c7){try{jsonpatch['apply'](_0x1475c7,_0x38ce59,!![]);}catch(_0x5add73){return BPromise[_0xed60('0x26')](_0x5add73);}return _0x1475c7[_0xed60('0x27')]();};}function saveUpdates(_0x55ab0e,_0x507ce1){return function(_0x330f25){if(_0x330f25){return _0x330f25[_0xed60('0x28')](_0x55ab0e)['then'](function(_0x34ab86){return _0x34ab86;});}return null;};}function removeEntity(_0x462c3b,_0x301d12){return function(_0x1b4bf4){if(_0x1b4bf4){return _0x1b4bf4[_0xed60('0x29')]()[_0xed60('0x2a')](function(){_0x462c3b[_0xed60('0x1e')](0xcc)[_0xed60('0x1f')]();});}};}function handleEntityNotFound(_0x1fccbe,_0x256ecd){return function(_0x15506d){if(!_0x15506d){_0x1fccbe[_0xed60('0x1d')](0x194);}return _0x15506d;};}function handleError(_0x468efe,_0x1641b8){_0x1641b8=_0x1641b8||0x1f4;return function(_0x3315c3){logger[_0xed60('0x2b')](_0x3315c3[_0xed60('0x2c')]);if(_0x3315c3[_0xed60('0x2d')]){delete _0x3315c3[_0xed60('0x2d')];}_0x468efe[_0xed60('0x1e')](_0x1641b8)[_0xed60('0x2e')](_0x3315c3);};}exports[_0xed60('0x2f')]=function(_0x149cb4,_0x32467d){var _0x18ec85={},_0x156d64={},_0x2c8611={'count':0x0,'rows':[]};var _0x11930c=_[_0xed60('0x30')](db[_0xed60('0x31')]['rawAttributes'],function(_0x1f13d3){return{'name':_0x1f13d3[_0xed60('0x32')],'type':_0x1f13d3['type'][_0xed60('0x33')]};});_0x156d64[_0xed60('0x34')]=_[_0xed60('0x30')](_0x11930c,'name');_0x156d64[_0xed60('0x35')]=_['keys'](_0x149cb4[_0xed60('0x35')]);_0x156d64[_0xed60('0x36')]=_['intersection'](_0x156d64[_0xed60('0x34')],_0x156d64[_0xed60('0x35')]);_0x18ec85['attributes']=_[_0xed60('0x37')](_0x156d64[_0xed60('0x34')],qs[_0xed60('0x38')](_0x149cb4[_0xed60('0x35')][_0xed60('0x38')]));_0x18ec85[_0xed60('0x39')]=_0x18ec85[_0xed60('0x39')][_0xed60('0x3a')]?_0x18ec85[_0xed60('0x39')]:_0x156d64[_0xed60('0x34')];if(!_0x149cb4['query'][_0xed60('0x3b')](_0xed60('0x3c'))){_0x18ec85['limit']=qs[_0xed60('0x23')](_0x149cb4['query'][_0xed60('0x23')]);_0x18ec85['offset']=qs['offset'](_0x149cb4['query'][_0xed60('0x21')]);}_0x18ec85[_0xed60('0x3d')]=qs[_0xed60('0x3e')](_0x149cb4['query']['sort']);_0x18ec85[_0xed60('0x3f')]=qs[_0xed60('0x36')](_['pick'](_0x149cb4[_0xed60('0x35')],_0x156d64[_0xed60('0x36')]),_0x11930c);if(_0x149cb4[_0xed60('0x35')][_0xed60('0x40')]){_0x18ec85['where']=_[_0xed60('0x41')](_0x18ec85[_0xed60('0x3f')],{'$or':_[_0xed60('0x30')](_0x11930c,function(_0x558180){if(_0x558180[_0xed60('0x42')]!=='VIRTUAL'){var _0x5ea4f9={};_0x5ea4f9[_0x558180['name']]={'$like':'%'+_0x149cb4[_0xed60('0x35')][_0xed60('0x40')]+'%'};return _0x5ea4f9;}})});}_0x18ec85=_[_0xed60('0x41')]({},_0x18ec85,_0x149cb4[_0xed60('0x43')]);var _0x113755={'where':_0x18ec85[_0xed60('0x3f')]};return db['FaxApplication'][_0xed60('0x24')](_0x113755)['then'](function(_0x11e121){_0x2c8611['count']=_0x11e121;if(_0x149cb4[_0xed60('0x35')][_0xed60('0x44')]){_0x18ec85[_0xed60('0x45')]=[{'all':!![]}];}return db[_0xed60('0x31')][_0xed60('0x46')](_0x18ec85);})[_0xed60('0x2a')](function(_0x206075){_0x2c8611[_0xed60('0x47')]=_0x206075;return _0x2c8611;})[_0xed60('0x2a')](respondWithFilteredResult(_0x32467d,_0x18ec85))[_0xed60('0x48')](handleError(_0x32467d,null));};exports['show']=function(_0x4f4441,_0x18f333){var _0x3426af={'raw':!![],'where':{'id':_0x4f4441[_0xed60('0x49')]['id']}},_0x2164c3={};_0x2164c3[_0xed60('0x34')]=_['keys'](db[_0xed60('0x31')]['rawAttributes']);_0x2164c3[_0xed60('0x35')]=_['keys'](_0x4f4441[_0xed60('0x35')]);_0x2164c3[_0xed60('0x36')]=_[_0xed60('0x37')](_0x2164c3['model'],_0x2164c3[_0xed60('0x35')]);_0x3426af[_0xed60('0x39')]=_[_0xed60('0x37')](_0x2164c3[_0xed60('0x34')],qs[_0xed60('0x38')](_0x4f4441[_0xed60('0x35')][_0xed60('0x38')]));_0x3426af[_0xed60('0x39')]=_0x3426af['attributes'][_0xed60('0x3a')]?_0x3426af[_0xed60('0x39')]:_0x2164c3['model'];if(_0x4f4441[_0xed60('0x35')]['includeAll']){_0x3426af[_0xed60('0x45')]=[{'all':!![]}];}_0x3426af=_[_0xed60('0x41')]({},_0x3426af,_0x4f4441[_0xed60('0x43')]);return db[_0xed60('0x31')][_0xed60('0x4a')](_0x3426af)[_0xed60('0x2a')](handleEntityNotFound(_0x18f333,null))['then'](respondWithResult(_0x18f333,null))[_0xed60('0x48')](handleError(_0x18f333,null));};exports['create']=function(_0x52e256,_0xb9010f){return db[_0xed60('0x31')][_0xed60('0x4b')](_0x52e256[_0xed60('0x4c')],{})[_0xed60('0x2a')](respondWithResult(_0xb9010f,0xc9))[_0xed60('0x48')](handleError(_0xb9010f,null));};exports[_0xed60('0x28')]=function(_0xae134,_0x1b9218){if(_0xae134[_0xed60('0x4c')]['id']){delete _0xae134[_0xed60('0x4c')]['id'];}return db['FaxApplication']['find']({'where':{'id':_0xae134['params']['id']}})[_0xed60('0x2a')](handleEntityNotFound(_0x1b9218,null))['then'](saveUpdates(_0xae134['body'],null))['then'](respondWithResult(_0x1b9218,null))['catch'](handleError(_0x1b9218,null));};exports[_0xed60('0x29')]=function(_0xd5b31f,_0x3a6c51){return db[_0xed60('0x31')][_0xed60('0x4a')]({'where':{'id':_0xd5b31f[_0xed60('0x49')]['id']}})[_0xed60('0x2a')](handleEntityNotFound(_0x3a6c51,null))['then'](removeEntity(_0x3a6c51,null))[_0xed60('0x48')](handleError(_0x3a6c51,null));};