6984ac3d373189e78e4a380b014a120ce3165b74
[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 _0x3e79=['map','query','keys','filters','attributes','intersection','fields','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','FaxApplication','include','findAll','rows','catch','show','params','includeAll','create','find','body','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','status','end','count','offset','limit','set','Content-Range','json','reject','update','then','sendStatus','error','stack','name','send','index','rawAttributes','fieldName','type','key','model'];(function(_0x2b10c6,_0x185590){var _0x3789d2=function(_0x272987){while(--_0x272987){_0x2b10c6['push'](_0x2b10c6['shift']());}};_0x3789d2(++_0x185590);}(_0x3e79,0x148));var _0x93e7=function(_0x377f32,_0x2b032c){_0x377f32=_0x377f32-0x0;var _0x43a1b0=_0x3e79[_0x377f32];return _0x43a1b0;};'use strict';var pdf=require(_0x93e7('0x0'));var emlformat=require(_0x93e7('0x1'));var rimraf=require(_0x93e7('0x2'));var zipdir=require(_0x93e7('0x3'));var jsonpatch=require(_0x93e7('0x4'));var rp=require(_0x93e7('0x5'));var moment=require(_0x93e7('0x6'));var BPromise=require(_0x93e7('0x7'));var Mustache=require(_0x93e7('0x8'));var util=require(_0x93e7('0x9'));var path=require(_0x93e7('0xa'));var sox=require('sox');var csv=require(_0x93e7('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x93e7('0xc'));var squel=require('squel');var crypto=require(_0x93e7('0xd'));var jsforce=require(_0x93e7('0xe'));var deskjs=require(_0x93e7('0xf'));var toCsv=require(_0x93e7('0xb'));var querystring=require(_0x93e7('0x10'));var Papa=require('papaparse');var Redis=require(_0x93e7('0x11'));var authService=require(_0x93e7('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x93e7('0x13'));var hardwareService=require(_0x93e7('0x14'));var logger=require(_0x93e7('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x93e7('0x16'));var licenseUtil=require(_0x93e7('0x17'));var db=require(_0x93e7('0x18'))['db'];function respondWithStatusCode(_0x1803b9,_0x17b879){_0x17b879=_0x17b879||0xcc;return function(_0x30b437){if(_0x30b437){return _0x1803b9['sendStatus'](_0x17b879);}return _0x1803b9[_0x93e7('0x19')](_0x17b879)[_0x93e7('0x1a')]();};}function respondWithResult(_0x3d0b59,_0x209ac0){_0x209ac0=_0x209ac0||0xc8;return function(_0x456e53){if(_0x456e53){return _0x3d0b59[_0x93e7('0x19')](_0x209ac0)['json'](_0x456e53);}};}function respondWithFilteredResult(_0x4b1a3a,_0x4c0fe4){return function(_0x36eb69){if(_0x36eb69){var _0x201d7f=_0x36eb69[_0x93e7('0x1b')],_0x29934b=_0x4c0fe4['offset'],_0x5c90d3=_0x4c0fe4[_0x93e7('0x1c')]+_0x4c0fe4[_0x93e7('0x1d')],_0xff5e53;if(_0x5c90d3>=_0x201d7f){_0x5c90d3=_0x201d7f;_0xff5e53=0xc8;}else{_0xff5e53=0xce;}_0x4b1a3a[_0x93e7('0x19')](_0xff5e53);return _0x4b1a3a[_0x93e7('0x1e')](_0x93e7('0x1f'),_0x29934b+'-'+_0x5c90d3+'/'+_0x201d7f)[_0x93e7('0x20')](_0x36eb69);}return null;};}function patchUpdates(_0x726ef4){return function(_0x2ecd36){try{jsonpatch['apply'](_0x2ecd36,_0x726ef4,!![]);}catch(_0x3a4800){return BPromise[_0x93e7('0x21')](_0x3a4800);}return _0x2ecd36['save']();};}function saveUpdates(_0x1076e1,_0xd6606b){return function(_0x536e8c){if(_0x536e8c){return _0x536e8c[_0x93e7('0x22')](_0x1076e1)[_0x93e7('0x23')](function(_0x5a0b47){return _0x5a0b47;});}return null;};}function removeEntity(_0x4e1ec6,_0x29acfe){return function(_0x46f4ae){if(_0x46f4ae){return _0x46f4ae['destroy']()['then'](function(){_0x4e1ec6[_0x93e7('0x19')](0xcc)[_0x93e7('0x1a')]();});}};}function handleEntityNotFound(_0x1bcbdf,_0x5dbf3f){return function(_0x5299ae){if(!_0x5299ae){_0x1bcbdf[_0x93e7('0x24')](0x194);}return _0x5299ae;};}function handleError(_0x56391b,_0x3ce9f3){_0x3ce9f3=_0x3ce9f3||0x1f4;return function(_0x324e93){logger[_0x93e7('0x25')](_0x324e93[_0x93e7('0x26')]);if(_0x324e93[_0x93e7('0x27')]){delete _0x324e93[_0x93e7('0x27')];}_0x56391b[_0x93e7('0x19')](_0x3ce9f3)[_0x93e7('0x28')](_0x324e93);};}exports[_0x93e7('0x29')]=function(_0x4e2153,_0x4d7d0b){var _0x19a6df={},_0x531379={},_0x175255={'count':0x0,'rows':[]};var _0x525bbf=_['map'](db['FaxApplication'][_0x93e7('0x2a')],function(_0x1d7517){return{'name':_0x1d7517[_0x93e7('0x2b')],'type':_0x1d7517[_0x93e7('0x2c')][_0x93e7('0x2d')]};});_0x531379[_0x93e7('0x2e')]=_[_0x93e7('0x2f')](_0x525bbf,'name');_0x531379[_0x93e7('0x30')]=_[_0x93e7('0x31')](_0x4e2153[_0x93e7('0x30')]);_0x531379[_0x93e7('0x32')]=_['intersection'](_0x531379[_0x93e7('0x2e')],_0x531379[_0x93e7('0x30')]);_0x19a6df[_0x93e7('0x33')]=_[_0x93e7('0x34')](_0x531379[_0x93e7('0x2e')],qs[_0x93e7('0x35')](_0x4e2153['query']['fields']));_0x19a6df[_0x93e7('0x33')]=_0x19a6df['attributes'][_0x93e7('0x36')]?_0x19a6df[_0x93e7('0x33')]:_0x531379[_0x93e7('0x2e')];if(!_0x4e2153[_0x93e7('0x30')]['hasOwnProperty'](_0x93e7('0x37'))){_0x19a6df[_0x93e7('0x1d')]=qs[_0x93e7('0x1d')](_0x4e2153['query'][_0x93e7('0x1d')]);_0x19a6df[_0x93e7('0x1c')]=qs['offset'](_0x4e2153['query'][_0x93e7('0x1c')]);}_0x19a6df['order']=qs[_0x93e7('0x38')](_0x4e2153[_0x93e7('0x30')][_0x93e7('0x38')]);_0x19a6df[_0x93e7('0x39')]=qs[_0x93e7('0x32')](_[_0x93e7('0x3a')](_0x4e2153[_0x93e7('0x30')],_0x531379[_0x93e7('0x32')]),_0x525bbf);if(_0x4e2153[_0x93e7('0x30')][_0x93e7('0x3b')]){_0x19a6df[_0x93e7('0x39')]=_[_0x93e7('0x3c')](_0x19a6df['where'],{'$or':_['map'](_0x525bbf,function(_0x206cbe){if(_0x206cbe[_0x93e7('0x2c')]!==_0x93e7('0x3d')){var _0x290fff={};_0x290fff[_0x206cbe['name']]={'$like':'%'+_0x4e2153[_0x93e7('0x30')]['filter']+'%'};return _0x290fff;}})});}_0x19a6df=_[_0x93e7('0x3c')]({},_0x19a6df,_0x4e2153[_0x93e7('0x3e')]);var _0x942535={'where':_0x19a6df[_0x93e7('0x39')]};return db[_0x93e7('0x3f')]['count'](_0x942535)[_0x93e7('0x23')](function(_0x3f1048){_0x175255[_0x93e7('0x1b')]=_0x3f1048;if(_0x4e2153[_0x93e7('0x30')]['includeAll']){_0x19a6df[_0x93e7('0x40')]=[{'all':!![]}];}return db[_0x93e7('0x3f')][_0x93e7('0x41')](_0x19a6df);})[_0x93e7('0x23')](function(_0x310aa5){_0x175255[_0x93e7('0x42')]=_0x310aa5;return _0x175255;})[_0x93e7('0x23')](respondWithFilteredResult(_0x4d7d0b,_0x19a6df))[_0x93e7('0x43')](handleError(_0x4d7d0b,null));};exports[_0x93e7('0x44')]=function(_0x3776d2,_0x1981b0){var _0x332897={'raw':!![],'where':{'id':_0x3776d2[_0x93e7('0x45')]['id']}},_0x71c614={};_0x71c614[_0x93e7('0x2e')]=_[_0x93e7('0x31')](db[_0x93e7('0x3f')][_0x93e7('0x2a')]);_0x71c614[_0x93e7('0x30')]=_[_0x93e7('0x31')](_0x3776d2[_0x93e7('0x30')]);_0x71c614[_0x93e7('0x32')]=_[_0x93e7('0x34')](_0x71c614[_0x93e7('0x2e')],_0x71c614[_0x93e7('0x30')]);_0x332897[_0x93e7('0x33')]=_[_0x93e7('0x34')](_0x71c614[_0x93e7('0x2e')],qs['fields'](_0x3776d2['query'][_0x93e7('0x35')]));_0x332897[_0x93e7('0x33')]=_0x332897[_0x93e7('0x33')][_0x93e7('0x36')]?_0x332897[_0x93e7('0x33')]:_0x71c614[_0x93e7('0x2e')];if(_0x3776d2['query'][_0x93e7('0x46')]){_0x332897[_0x93e7('0x40')]=[{'all':!![]}];}_0x332897=_[_0x93e7('0x3c')]({},_0x332897,_0x3776d2[_0x93e7('0x3e')]);return db[_0x93e7('0x3f')]['find'](_0x332897)[_0x93e7('0x23')](handleEntityNotFound(_0x1981b0,null))['then'](respondWithResult(_0x1981b0,null))['catch'](handleError(_0x1981b0,null));};exports[_0x93e7('0x47')]=function(_0x5cce5c,_0x5d9cce){return db[_0x93e7('0x3f')][_0x93e7('0x47')](_0x5cce5c['body'],{})[_0x93e7('0x23')](respondWithResult(_0x5d9cce,0xc9))['catch'](handleError(_0x5d9cce,null));};exports[_0x93e7('0x22')]=function(_0x40b87e,_0x8a14d8){if(_0x40b87e['body']['id']){delete _0x40b87e['body']['id'];}return db[_0x93e7('0x3f')][_0x93e7('0x48')]({'where':{'id':_0x40b87e['params']['id']}})[_0x93e7('0x23')](handleEntityNotFound(_0x8a14d8,null))[_0x93e7('0x23')](saveUpdates(_0x40b87e[_0x93e7('0x49')],null))[_0x93e7('0x23')](respondWithResult(_0x8a14d8,null))['catch'](handleError(_0x8a14d8,null));};exports[_0x93e7('0x4a')]=function(_0x226f8b,_0x588805){return db[_0x93e7('0x3f')][_0x93e7('0x48')]({'where':{'id':_0x226f8b[_0x93e7('0x45')]['id']}})['then'](handleEntityNotFound(_0x588805,null))['then'](removeEntity(_0x588805,null))['catch'](handleError(_0x588805,null));};