cea68b87c2656e094114ba3ed5f114e823ae688b
[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 _0x1466=['then','error','name','map','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','merge','type','VIRTUAL','filter','options','FaxApplication','includeAll','findAll','params','rawAttributes','include','find','catch','create','body','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','Content-Range','apply','save'];(function(_0x42d1f6,_0x17950e){var _0x34d456=function(_0x491dfe){while(--_0x491dfe){_0x42d1f6['push'](_0x42d1f6['shift']());}};_0x34d456(++_0x17950e);}(_0x1466,0xf7));var _0x6146=function(_0xbc7e55,_0x15e817){_0xbc7e55=_0xbc7e55-0x0;var _0x46ecaa=_0x1466[_0xbc7e55];return _0x46ecaa;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6146('0x0'));var zipdir=require(_0x6146('0x1'));var jsonpatch=require(_0x6146('0x2'));var rp=require(_0x6146('0x3'));var moment=require('moment');var BPromise=require(_0x6146('0x4'));var Mustache=require('mustache');var util=require(_0x6146('0x5'));var path=require(_0x6146('0x6'));var sox=require(_0x6146('0x7'));var csv=require(_0x6146('0x8'));var ejs=require(_0x6146('0x9'));var fs=require('fs');var fs_extra=require(_0x6146('0xa'));var _=require(_0x6146('0xb'));var squel=require('squel');var crypto=require(_0x6146('0xc'));var jsforce=require(_0x6146('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6146('0xe'));var Papa=require(_0x6146('0xf'));var Redis=require(_0x6146('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x6146('0x11'));var as=require(_0x6146('0x12'));var hardwareService=require(_0x6146('0x13'));var logger=require(_0x6146('0x14'))(_0x6146('0x15'));var utils=require(_0x6146('0x16'));var config=require(_0x6146('0x17'));var licenseUtil=require(_0x6146('0x18'));var db=require(_0x6146('0x19'))['db'];function respondWithStatusCode(_0x3079bf,_0x292747){_0x292747=_0x292747||0xcc;return function(_0x54a3ca){if(_0x54a3ca){return _0x3079bf[_0x6146('0x1a')](_0x292747);}return _0x3079bf['status'](_0x292747)[_0x6146('0x1b')]();};}function respondWithResult(_0x57d2d7,_0x4099d2){_0x4099d2=_0x4099d2||0xc8;return function(_0x4bd8d6){if(_0x4bd8d6){return _0x57d2d7[_0x6146('0x1c')](_0x4099d2)[_0x6146('0x1d')](_0x4bd8d6);}};}function respondWithFilteredResult(_0x19578d,_0x3aab67){return function(_0x1de76a){if(_0x1de76a){var _0x1b5934=typeof _0x3aab67['offset']===_0x6146('0x1e')&&typeof _0x3aab67[_0x6146('0x1f')]===_0x6146('0x1e');var _0x4910ce=_0x1de76a[_0x6146('0x20')];var _0x42e981=_0x1b5934?0x0:_0x3aab67[_0x6146('0x21')];var _0x50a012=_0x1b5934?_0x1de76a['count']:_0x3aab67[_0x6146('0x21')]+_0x3aab67[_0x6146('0x1f')];var _0x2f5b71;if(_0x50a012>=_0x4910ce){_0x50a012=_0x4910ce;_0x2f5b71=0xc8;}else{_0x2f5b71=0xce;}_0x19578d[_0x6146('0x1c')](_0x2f5b71);return _0x19578d['set'](_0x6146('0x22'),_0x42e981+'-'+_0x50a012+'/'+_0x4910ce)[_0x6146('0x1d')](_0x1de76a);}return null;};}function patchUpdates(_0x7916fe){return function(_0x7947fc){try{jsonpatch[_0x6146('0x23')](_0x7947fc,_0x7916fe,!![]);}catch(_0xa4e2bf){return BPromise['reject'](_0xa4e2bf);}return _0x7947fc[_0x6146('0x24')]();};}function saveUpdates(_0xb884a3,_0x4cefa2){return function(_0x46edee){if(_0x46edee){return _0x46edee['update'](_0xb884a3)[_0x6146('0x25')](function(_0x23299d){return _0x23299d;});}return null;};}function removeEntity(_0x35d724,_0x542bc9){return function(_0x5cff4c){if(_0x5cff4c){return _0x5cff4c['destroy']()[_0x6146('0x25')](function(){_0x35d724[_0x6146('0x1c')](0xcc)[_0x6146('0x1b')]();});}};}function handleEntityNotFound(_0x2f352f,_0x6ee711){return function(_0xf16e9d){if(!_0xf16e9d){_0x2f352f['sendStatus'](0x194);}return _0xf16e9d;};}function handleError(_0x4b543f,_0x1a224d){_0x1a224d=_0x1a224d||0x1f4;return function(_0x364d68){logger[_0x6146('0x26')](_0x364d68['stack']);if(_0x364d68[_0x6146('0x27')]){delete _0x364d68[_0x6146('0x27')];}_0x4b543f[_0x6146('0x1c')](_0x1a224d)['send'](_0x364d68);};}exports['index']=function(_0x56a998,_0x43d8d5){var _0x53d063={},_0x35a9e8={},_0x3fc0d4={'count':0x0,'rows':[]};var _0x42c69f=_[_0x6146('0x28')](db['FaxApplication']['rawAttributes'],function(_0x422741){return{'name':_0x422741[_0x6146('0x29')],'type':_0x422741['type'][_0x6146('0x2a')]};});_0x35a9e8[_0x6146('0x2b')]=_['map'](_0x42c69f,'name');_0x35a9e8[_0x6146('0x2c')]=_[_0x6146('0x2d')](_0x56a998[_0x6146('0x2c')]);_0x35a9e8[_0x6146('0x2e')]=_['intersection'](_0x35a9e8[_0x6146('0x2b')],_0x35a9e8[_0x6146('0x2c')]);_0x53d063[_0x6146('0x2f')]=_[_0x6146('0x30')](_0x35a9e8[_0x6146('0x2b')],qs['fields'](_0x56a998[_0x6146('0x2c')][_0x6146('0x31')]));_0x53d063['attributes']=_0x53d063[_0x6146('0x2f')][_0x6146('0x32')]?_0x53d063['attributes']:_0x35a9e8['model'];if(!_0x56a998[_0x6146('0x2c')][_0x6146('0x33')]('nolimit')){_0x53d063['limit']=qs[_0x6146('0x1f')](_0x56a998[_0x6146('0x2c')]['limit']);_0x53d063[_0x6146('0x21')]=qs[_0x6146('0x21')](_0x56a998[_0x6146('0x2c')][_0x6146('0x21')]);}_0x53d063[_0x6146('0x34')]=qs[_0x6146('0x35')](_0x56a998['query'][_0x6146('0x35')]);_0x53d063[_0x6146('0x36')]=qs['filters'](_[_0x6146('0x37')](_0x56a998['query'],_0x35a9e8[_0x6146('0x2e')]),_0x42c69f);if(_0x56a998[_0x6146('0x2c')]['filter']){_0x53d063[_0x6146('0x36')]=_[_0x6146('0x38')](_0x53d063[_0x6146('0x36')],{'$or':_['map'](_0x42c69f,function(_0xc56e5){if(_0xc56e5[_0x6146('0x39')]!==_0x6146('0x3a')){var _0x2c126c={};_0x2c126c[_0xc56e5[_0x6146('0x27')]]={'$like':'%'+_0x56a998[_0x6146('0x2c')][_0x6146('0x3b')]+'%'};return _0x2c126c;}})});}_0x53d063=_[_0x6146('0x38')]({},_0x53d063,_0x56a998[_0x6146('0x3c')]);var _0x1f7ebb={'where':_0x53d063['where']};return db[_0x6146('0x3d')]['count'](_0x1f7ebb)[_0x6146('0x25')](function(_0x2dee5f){_0x3fc0d4['count']=_0x2dee5f;if(_0x56a998[_0x6146('0x2c')][_0x6146('0x3e')]){_0x53d063['include']=[{'all':!![]}];}return db[_0x6146('0x3d')][_0x6146('0x3f')](_0x53d063);})[_0x6146('0x25')](function(_0x493796){_0x3fc0d4['rows']=_0x493796;return _0x3fc0d4;})['then'](respondWithFilteredResult(_0x43d8d5,_0x53d063))['catch'](handleError(_0x43d8d5,null));};exports['show']=function(_0x4d6362,_0x5d4e30){var _0x276ac7={'raw':!![],'where':{'id':_0x4d6362[_0x6146('0x40')]['id']}},_0x4940b6={};_0x4940b6[_0x6146('0x2b')]=_[_0x6146('0x2d')](db[_0x6146('0x3d')][_0x6146('0x41')]);_0x4940b6['query']=_[_0x6146('0x2d')](_0x4d6362['query']);_0x4940b6[_0x6146('0x2e')]=_[_0x6146('0x30')](_0x4940b6['model'],_0x4940b6['query']);_0x276ac7[_0x6146('0x2f')]=_[_0x6146('0x30')](_0x4940b6[_0x6146('0x2b')],qs[_0x6146('0x31')](_0x4d6362[_0x6146('0x2c')]['fields']));_0x276ac7[_0x6146('0x2f')]=_0x276ac7[_0x6146('0x2f')][_0x6146('0x32')]?_0x276ac7[_0x6146('0x2f')]:_0x4940b6[_0x6146('0x2b')];if(_0x4d6362[_0x6146('0x2c')][_0x6146('0x3e')]){_0x276ac7[_0x6146('0x42')]=[{'all':!![]}];}_0x276ac7=_[_0x6146('0x38')]({},_0x276ac7,_0x4d6362['options']);return db[_0x6146('0x3d')][_0x6146('0x43')](_0x276ac7)[_0x6146('0x25')](handleEntityNotFound(_0x5d4e30,null))[_0x6146('0x25')](respondWithResult(_0x5d4e30,null))[_0x6146('0x44')](handleError(_0x5d4e30,null));};exports[_0x6146('0x45')]=function(_0x3f73a2,_0x2a3dd6){return db['FaxApplication']['create'](_0x3f73a2[_0x6146('0x46')],{})[_0x6146('0x25')](respondWithResult(_0x2a3dd6,0xc9))['catch'](handleError(_0x2a3dd6,null));};exports['update']=function(_0xd6c7b4,_0x1e5b3c){if(_0xd6c7b4['body']['id']){delete _0xd6c7b4[_0x6146('0x46')]['id'];}return db[_0x6146('0x3d')]['find']({'where':{'id':_0xd6c7b4[_0x6146('0x40')]['id']}})['then'](handleEntityNotFound(_0x1e5b3c,null))[_0x6146('0x25')](saveUpdates(_0xd6c7b4[_0x6146('0x46')],null))[_0x6146('0x25')](respondWithResult(_0x1e5b3c,null))[_0x6146('0x44')](handleError(_0x1e5b3c,null));};exports['destroy']=function(_0xa7628a,_0x6d82e3){return db['FaxApplication'][_0x6146('0x43')]({'where':{'id':_0xa7628a[_0x6146('0x40')]['id']}})['then'](handleEntityNotFound(_0x6d82e3,null))[_0x6146('0x25')](removeEntity(_0x6d82e3,null))['catch'](handleError(_0x6d82e3,null));};