f07191f36bc5001ed03346ae511a7cdd295f4a18
[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 _0x4289=['rows','catch','show','options','find','create','body','params','eml-format','zip-dir','request-promise','moment','mustache','path','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','fields','attributes','length','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','FaxApplication','includeAll','include','findAll'];(function(_0x35db40,_0x4f8d4b){var _0x20a13c=function(_0x2238dd){while(--_0x2238dd){_0x35db40['push'](_0x35db40['shift']());}};_0x20a13c(++_0x4f8d4b);}(_0x4289,0xe9));var _0x9428=function(_0x3d8680,_0x3ca47d){_0x3d8680=_0x3d8680-0x0;var _0x76dbf5=_0x4289[_0x3d8680];return _0x76dbf5;};'use strict';var emlformat=require(_0x9428('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9428('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9428('0x2'));var moment=require(_0x9428('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x9428('0x4'));var util=require('util');var path=require(_0x9428('0x5'));var sox=require('sox');var csv=require(_0x9428('0x6'));var ejs=require(_0x9428('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x9428('0x8'));var crypto=require('crypto');var jsforce=require(_0x9428('0x9'));var deskjs=require(_0x9428('0xa'));var toCsv=require(_0x9428('0x6'));var querystring=require(_0x9428('0xb'));var Papa=require(_0x9428('0xc'));var Redis=require(_0x9428('0xd'));var authService=require(_0x9428('0xe'));var qs=require(_0x9428('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9428('0x10'));var logger=require(_0x9428('0x11'))(_0x9428('0x12'));var utils=require(_0x9428('0x13'));var config=require(_0x9428('0x14'));var licenseUtil=require(_0x9428('0x15'));var db=require(_0x9428('0x16'))['db'];function respondWithStatusCode(_0x592676,_0x3cd4ac){_0x3cd4ac=_0x3cd4ac||0xcc;return function(_0x2a4ada){if(_0x2a4ada){return _0x592676[_0x9428('0x17')](_0x3cd4ac);}return _0x592676['status'](_0x3cd4ac)[_0x9428('0x18')]();};}function respondWithResult(_0x480ae7,_0x20dd90){_0x20dd90=_0x20dd90||0xc8;return function(_0x473785){if(_0x473785){return _0x480ae7[_0x9428('0x19')](_0x20dd90)[_0x9428('0x1a')](_0x473785);}};}function respondWithFilteredResult(_0x1d91c4,_0x41bf0c){return function(_0x563080){if(_0x563080){var _0x18ac08=typeof _0x41bf0c[_0x9428('0x1b')]==='undefined'&&typeof _0x41bf0c['limit']===_0x9428('0x1c');var _0x2c0f99=_0x563080[_0x9428('0x1d')];var _0x1da159=_0x18ac08?0x0:_0x41bf0c[_0x9428('0x1b')];var _0x488f52=_0x18ac08?_0x563080['count']:_0x41bf0c[_0x9428('0x1b')]+_0x41bf0c[_0x9428('0x1e')];var _0x2c246d;if(_0x488f52>=_0x2c0f99){_0x488f52=_0x2c0f99;_0x2c246d=0xc8;}else{_0x2c246d=0xce;}_0x1d91c4['status'](_0x2c246d);return _0x1d91c4[_0x9428('0x1f')](_0x9428('0x20'),_0x1da159+'-'+_0x488f52+'/'+_0x2c0f99)['json'](_0x563080);}return null;};}function patchUpdates(_0x4e9963){return function(_0xc800c){try{jsonpatch[_0x9428('0x21')](_0xc800c,_0x4e9963,!![]);}catch(_0x1add30){return BPromise[_0x9428('0x22')](_0x1add30);}return _0xc800c[_0x9428('0x23')]();};}function saveUpdates(_0x526b52,_0x2297da){return function(_0x5a8a97){if(_0x5a8a97){return _0x5a8a97[_0x9428('0x24')](_0x526b52)[_0x9428('0x25')](function(_0x11373e){return _0x11373e;});}return null;};}function removeEntity(_0x3709e1,_0x232a7e){return function(_0x512d7a){if(_0x512d7a){return _0x512d7a[_0x9428('0x26')]()[_0x9428('0x25')](function(){_0x3709e1['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5ecb11,_0x378e72){return function(_0x261c31){if(!_0x261c31){_0x5ecb11[_0x9428('0x17')](0x194);}return _0x261c31;};}function handleError(_0x5bd02c,_0x9ae3a1){_0x9ae3a1=_0x9ae3a1||0x1f4;return function(_0x5a54fc){logger['error'](_0x5a54fc[_0x9428('0x27')]);if(_0x5a54fc[_0x9428('0x28')]){delete _0x5a54fc['name'];}_0x5bd02c[_0x9428('0x19')](_0x9ae3a1)[_0x9428('0x29')](_0x5a54fc);};}exports['index']=function(_0x1a2c58,_0x1a699a){var _0xbb6367={},_0x3635c6={},_0x5cd742={'count':0x0,'rows':[]};var _0x145703=_['map'](db['FaxApplication'][_0x9428('0x2a')],function(_0xc9180e){return{'name':_0xc9180e[_0x9428('0x2b')],'type':_0xc9180e[_0x9428('0x2c')][_0x9428('0x2d')]};});_0x3635c6[_0x9428('0x2e')]=_[_0x9428('0x2f')](_0x145703,'name');_0x3635c6[_0x9428('0x30')]=_[_0x9428('0x31')](_0x1a2c58[_0x9428('0x30')]);_0x3635c6['filters']=_[_0x9428('0x32')](_0x3635c6[_0x9428('0x2e')],_0x3635c6[_0x9428('0x30')]);_0xbb6367['attributes']=_[_0x9428('0x32')](_0x3635c6[_0x9428('0x2e')],qs['fields'](_0x1a2c58[_0x9428('0x30')][_0x9428('0x33')]));_0xbb6367['attributes']=_0xbb6367[_0x9428('0x34')][_0x9428('0x35')]?_0xbb6367['attributes']:_0x3635c6[_0x9428('0x2e')];if(!_0x1a2c58[_0x9428('0x30')]['hasOwnProperty'](_0x9428('0x36'))){_0xbb6367[_0x9428('0x1e')]=qs[_0x9428('0x1e')](_0x1a2c58['query'][_0x9428('0x1e')]);_0xbb6367[_0x9428('0x1b')]=qs[_0x9428('0x1b')](_0x1a2c58[_0x9428('0x30')][_0x9428('0x1b')]);}_0xbb6367[_0x9428('0x37')]=qs['sort'](_0x1a2c58[_0x9428('0x30')][_0x9428('0x38')]);_0xbb6367[_0x9428('0x39')]=qs[_0x9428('0x3a')](_[_0x9428('0x3b')](_0x1a2c58['query'],_0x3635c6[_0x9428('0x3a')]),_0x145703);if(_0x1a2c58[_0x9428('0x30')][_0x9428('0x3c')]){_0xbb6367['where']=_['merge'](_0xbb6367['where'],{'$or':_[_0x9428('0x2f')](_0x145703,function(_0x4944e7){if(_0x4944e7[_0x9428('0x2c')]!==_0x9428('0x3d')){var _0xcee340={};_0xcee340[_0x4944e7['name']]={'$like':'%'+_0x1a2c58[_0x9428('0x30')]['filter']+'%'};return _0xcee340;}})});}_0xbb6367=_[_0x9428('0x3e')]({},_0xbb6367,_0x1a2c58['options']);var _0x53a240={'where':_0xbb6367['where']};return db[_0x9428('0x3f')][_0x9428('0x1d')](_0x53a240)[_0x9428('0x25')](function(_0x23cf9c){_0x5cd742[_0x9428('0x1d')]=_0x23cf9c;if(_0x1a2c58[_0x9428('0x30')][_0x9428('0x40')]){_0xbb6367[_0x9428('0x41')]=[{'all':!![]}];}return db[_0x9428('0x3f')][_0x9428('0x42')](_0xbb6367);})[_0x9428('0x25')](function(_0x3f8278){_0x5cd742[_0x9428('0x43')]=_0x3f8278;return _0x5cd742;})[_0x9428('0x25')](respondWithFilteredResult(_0x1a699a,_0xbb6367))[_0x9428('0x44')](handleError(_0x1a699a,null));};exports[_0x9428('0x45')]=function(_0x49cc06,_0x42c8cc){var _0x2d32b0={'raw':!![],'where':{'id':_0x49cc06['params']['id']}},_0x41e5d2={};_0x41e5d2[_0x9428('0x2e')]=_[_0x9428('0x31')](db[_0x9428('0x3f')][_0x9428('0x2a')]);_0x41e5d2[_0x9428('0x30')]=_[_0x9428('0x31')](_0x49cc06[_0x9428('0x30')]);_0x41e5d2[_0x9428('0x3a')]=_[_0x9428('0x32')](_0x41e5d2[_0x9428('0x2e')],_0x41e5d2[_0x9428('0x30')]);_0x2d32b0[_0x9428('0x34')]=_[_0x9428('0x32')](_0x41e5d2[_0x9428('0x2e')],qs[_0x9428('0x33')](_0x49cc06[_0x9428('0x30')][_0x9428('0x33')]));_0x2d32b0[_0x9428('0x34')]=_0x2d32b0[_0x9428('0x34')][_0x9428('0x35')]?_0x2d32b0[_0x9428('0x34')]:_0x41e5d2['model'];if(_0x49cc06[_0x9428('0x30')]['includeAll']){_0x2d32b0[_0x9428('0x41')]=[{'all':!![]}];}_0x2d32b0=_['merge']({},_0x2d32b0,_0x49cc06[_0x9428('0x46')]);return db['FaxApplication'][_0x9428('0x47')](_0x2d32b0)['then'](handleEntityNotFound(_0x42c8cc,null))['then'](respondWithResult(_0x42c8cc,null))[_0x9428('0x44')](handleError(_0x42c8cc,null));};exports[_0x9428('0x48')]=function(_0x53b5e2,_0x1a0cbe){return db[_0x9428('0x3f')][_0x9428('0x48')](_0x53b5e2['body'],{})[_0x9428('0x25')](respondWithResult(_0x1a0cbe,0xc9))['catch'](handleError(_0x1a0cbe,null));};exports[_0x9428('0x24')]=function(_0x53f8b5,_0x3c9f83){if(_0x53f8b5['body']['id']){delete _0x53f8b5[_0x9428('0x49')]['id'];}return db['FaxApplication']['find']({'where':{'id':_0x53f8b5[_0x9428('0x4a')]['id']}})[_0x9428('0x25')](handleEntityNotFound(_0x3c9f83,null))[_0x9428('0x25')](saveUpdates(_0x53f8b5[_0x9428('0x49')],null))[_0x9428('0x25')](respondWithResult(_0x3c9f83,null))[_0x9428('0x44')](handleError(_0x3c9f83,null));};exports[_0x9428('0x26')]=function(_0x43d6b3,_0x5be83c){return db['FaxApplication']['find']({'where':{'id':_0x43d6b3[_0x9428('0x4a')]['id']}})[_0x9428('0x25')](handleEntityNotFound(_0x5be83c,null))[_0x9428('0x25')](removeEntity(_0x5be83c,null))[_0x9428('0x44')](handleError(_0x5be83c,null));};