1735978ed3dc94923fcdaf255e34a6e44d8d8f5f
[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 _0x5327=['keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','rows','catch','show','length','find','body','params','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','FaxApplication','rawAttributes','fieldName','type','model'];(function(_0x11a05f,_0x38a6af){var _0xdfea63=function(_0x53d39c){while(--_0x53d39c){_0x11a05f['push'](_0x11a05f['shift']());}};_0xdfea63(++_0x38a6af);}(_0x5327,0xef));var _0x7532=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5327[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x7532('0x0'));var rimraf=require(_0x7532('0x1'));var zipdir=require(_0x7532('0x2'));var jsonpatch=require(_0x7532('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x7532('0x4'));var Mustache=require(_0x7532('0x5'));var util=require(_0x7532('0x6'));var path=require(_0x7532('0x7'));var sox=require(_0x7532('0x8'));var csv=require(_0x7532('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7532('0xa'));var _=require(_0x7532('0xb'));var squel=require('squel');var crypto=require(_0x7532('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x7532('0xd'));var toCsv=require(_0x7532('0x9'));var querystring=require(_0x7532('0xe'));var Papa=require(_0x7532('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x7532('0x10'));var hardwareService=require(_0x7532('0x11'));var logger=require(_0x7532('0x12'))(_0x7532('0x13'));var utils=require(_0x7532('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x7532('0x15'));var db=require(_0x7532('0x16'))['db'];function respondWithStatusCode(_0x2377bb,_0x529bce){_0x529bce=_0x529bce||0xcc;return function(_0x511867){if(_0x511867){return _0x2377bb[_0x7532('0x17')](_0x529bce);}return _0x2377bb['status'](_0x529bce)[_0x7532('0x18')]();};}function respondWithResult(_0x430321,_0xa5cdf8){_0xa5cdf8=_0xa5cdf8||0xc8;return function(_0x58c91f){if(_0x58c91f){return _0x430321[_0x7532('0x19')](_0xa5cdf8)[_0x7532('0x1a')](_0x58c91f);}};}function respondWithFilteredResult(_0x226d5e,_0x449227){return function(_0x5902a4){if(_0x5902a4){var _0x4a216d=typeof _0x449227[_0x7532('0x1b')]===_0x7532('0x1c')&&typeof _0x449227[_0x7532('0x1d')]===_0x7532('0x1c');var _0x31eece=_0x5902a4[_0x7532('0x1e')];var _0x2e965e=_0x4a216d?0x0:_0x449227[_0x7532('0x1b')];var _0x517fe2=_0x4a216d?_0x5902a4[_0x7532('0x1e')]:_0x449227['offset']+_0x449227[_0x7532('0x1d')];var _0x59cdb5;if(_0x517fe2>=_0x31eece){_0x517fe2=_0x31eece;_0x59cdb5=0xc8;}else{_0x59cdb5=0xce;}_0x226d5e['status'](_0x59cdb5);return _0x226d5e[_0x7532('0x1f')](_0x7532('0x20'),_0x2e965e+'-'+_0x517fe2+'/'+_0x31eece)['json'](_0x5902a4);}return null;};}function patchUpdates(_0x30f45f){return function(_0x463fed){try{jsonpatch[_0x7532('0x21')](_0x463fed,_0x30f45f,!![]);}catch(_0x517d7b){return BPromise[_0x7532('0x22')](_0x517d7b);}return _0x463fed[_0x7532('0x23')]();};}function saveUpdates(_0x5978ba,_0xb33cf6){return function(_0x37ca92){if(_0x37ca92){return _0x37ca92[_0x7532('0x24')](_0x5978ba)[_0x7532('0x25')](function(_0x587d61){return _0x587d61;});}return null;};}function removeEntity(_0x4d6272,_0x1205fa){return function(_0x141b71){if(_0x141b71){return _0x141b71[_0x7532('0x26')]()[_0x7532('0x25')](function(){_0x4d6272[_0x7532('0x19')](0xcc)[_0x7532('0x18')]();});}};}function handleEntityNotFound(_0x1461cb,_0x22710e){return function(_0x1157a6){if(!_0x1157a6){_0x1461cb[_0x7532('0x17')](0x194);}return _0x1157a6;};}function handleError(_0x2fbe1b,_0x44f4be){_0x44f4be=_0x44f4be||0x1f4;return function(_0x44e49b){logger['error'](_0x44e49b[_0x7532('0x27')]);if(_0x44e49b[_0x7532('0x28')]){delete _0x44e49b['name'];}_0x2fbe1b['status'](_0x44f4be)[_0x7532('0x29')](_0x44e49b);};}exports[_0x7532('0x2a')]=function(_0x5b80a3,_0x1ca14c){var _0x1d42e2={},_0x3c7114={},_0x173761={'count':0x0,'rows':[]};var _0x243822=_[_0x7532('0x2b')](db[_0x7532('0x2c')][_0x7532('0x2d')],function(_0x3d21df){return{'name':_0x3d21df[_0x7532('0x2e')],'type':_0x3d21df[_0x7532('0x2f')]['key']};});_0x3c7114[_0x7532('0x30')]=_[_0x7532('0x2b')](_0x243822,'name');_0x3c7114['query']=_[_0x7532('0x31')](_0x5b80a3[_0x7532('0x32')]);_0x3c7114[_0x7532('0x33')]=_[_0x7532('0x34')](_0x3c7114[_0x7532('0x30')],_0x3c7114['query']);_0x1d42e2[_0x7532('0x35')]=_['intersection'](_0x3c7114[_0x7532('0x30')],qs[_0x7532('0x36')](_0x5b80a3['query'][_0x7532('0x36')]));_0x1d42e2[_0x7532('0x35')]=_0x1d42e2[_0x7532('0x35')]['length']?_0x1d42e2[_0x7532('0x35')]:_0x3c7114[_0x7532('0x30')];if(!_0x5b80a3[_0x7532('0x32')][_0x7532('0x37')](_0x7532('0x38'))){_0x1d42e2['limit']=qs[_0x7532('0x1d')](_0x5b80a3['query'][_0x7532('0x1d')]);_0x1d42e2[_0x7532('0x1b')]=qs[_0x7532('0x1b')](_0x5b80a3[_0x7532('0x32')][_0x7532('0x1b')]);}_0x1d42e2[_0x7532('0x39')]=qs[_0x7532('0x3a')](_0x5b80a3[_0x7532('0x32')][_0x7532('0x3a')]);_0x1d42e2[_0x7532('0x3b')]=qs[_0x7532('0x33')](_['pick'](_0x5b80a3[_0x7532('0x32')],_0x3c7114[_0x7532('0x33')]),_0x243822);if(_0x5b80a3[_0x7532('0x32')][_0x7532('0x3c')]){_0x1d42e2[_0x7532('0x3b')]=_[_0x7532('0x3d')](_0x1d42e2[_0x7532('0x3b')],{'$or':_[_0x7532('0x2b')](_0x243822,function(_0x228b59){if(_0x228b59['type']!==_0x7532('0x3e')){var _0x2bdeb9={};_0x2bdeb9[_0x228b59[_0x7532('0x28')]]={'$like':'%'+_0x5b80a3['query'][_0x7532('0x3c')]+'%'};return _0x2bdeb9;}})});}_0x1d42e2=_[_0x7532('0x3d')]({},_0x1d42e2,_0x5b80a3[_0x7532('0x3f')]);var _0xfc3233={'where':_0x1d42e2[_0x7532('0x3b')]};return db['FaxApplication'][_0x7532('0x1e')](_0xfc3233)[_0x7532('0x25')](function(_0x5a457c){_0x173761['count']=_0x5a457c;if(_0x5b80a3[_0x7532('0x32')][_0x7532('0x40')]){_0x1d42e2['include']=[{'all':!![]}];}return db[_0x7532('0x2c')]['findAll'](_0x1d42e2);})[_0x7532('0x25')](function(_0x406b1a){_0x173761[_0x7532('0x41')]=_0x406b1a;return _0x173761;})['then'](respondWithFilteredResult(_0x1ca14c,_0x1d42e2))[_0x7532('0x42')](handleError(_0x1ca14c,null));};exports[_0x7532('0x43')]=function(_0x304796,_0x3f5f25){var _0x280a9a={'raw':!![],'where':{'id':_0x304796['params']['id']}},_0x1d46d4={};_0x1d46d4[_0x7532('0x30')]=_[_0x7532('0x31')](db['FaxApplication'][_0x7532('0x2d')]);_0x1d46d4[_0x7532('0x32')]=_['keys'](_0x304796[_0x7532('0x32')]);_0x1d46d4['filters']=_['intersection'](_0x1d46d4['model'],_0x1d46d4['query']);_0x280a9a['attributes']=_[_0x7532('0x34')](_0x1d46d4['model'],qs[_0x7532('0x36')](_0x304796[_0x7532('0x32')]['fields']));_0x280a9a[_0x7532('0x35')]=_0x280a9a['attributes'][_0x7532('0x44')]?_0x280a9a[_0x7532('0x35')]:_0x1d46d4['model'];if(_0x304796[_0x7532('0x32')][_0x7532('0x40')]){_0x280a9a['include']=[{'all':!![]}];}_0x280a9a=_[_0x7532('0x3d')]({},_0x280a9a,_0x304796[_0x7532('0x3f')]);return db[_0x7532('0x2c')][_0x7532('0x45')](_0x280a9a)[_0x7532('0x25')](handleEntityNotFound(_0x3f5f25,null))[_0x7532('0x25')](respondWithResult(_0x3f5f25,null))['catch'](handleError(_0x3f5f25,null));};exports['create']=function(_0xda6545,_0x261bf5){return db[_0x7532('0x2c')]['create'](_0xda6545[_0x7532('0x46')],{})[_0x7532('0x25')](respondWithResult(_0x261bf5,0xc9))[_0x7532('0x42')](handleError(_0x261bf5,null));};exports['update']=function(_0x52734c,_0x50c52c){if(_0x52734c[_0x7532('0x46')]['id']){delete _0x52734c[_0x7532('0x46')]['id'];}return db[_0x7532('0x2c')][_0x7532('0x45')]({'where':{'id':_0x52734c['params']['id']}})[_0x7532('0x25')](handleEntityNotFound(_0x50c52c,null))[_0x7532('0x25')](saveUpdates(_0x52734c[_0x7532('0x46')],null))[_0x7532('0x25')](respondWithResult(_0x50c52c,null))[_0x7532('0x42')](handleError(_0x50c52c,null));};exports[_0x7532('0x26')]=function(_0xe474ed,_0x221971){return db[_0x7532('0x2c')][_0x7532('0x45')]({'where':{'id':_0xe474ed[_0x7532('0x47')]['id']}})[_0x7532('0x25')](handleEntityNotFound(_0x221971,null))[_0x7532('0x25')](removeEntity(_0x221971,null))[_0x7532('0x42')](handleError(_0x221971,null));};