3b28538f6c8f736f5b38b4b00083f78750ab8131
[motion2.git] / server / api / openchannelApplication / openchannelApplication.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 _0xe8b0=['OpenchannelApplication','fieldName','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','rows','catch','show','params','rawAttributes','length','find','create','body','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','name','index','map'];(function(_0x4939c2,_0x5383b1){var _0x5508c7=function(_0x45a511){while(--_0x45a511){_0x4939c2['push'](_0x4939c2['shift']());}};_0x5508c7(++_0x5383b1);}(_0xe8b0,0x1b6));var _0x0e8b=function(_0x58b9f9,_0x3046b6){_0x58b9f9=_0x58b9f9-0x0;var _0x146adc=_0xe8b0[_0x58b9f9];return _0x146adc;};'use strict';var pdf=require(_0x0e8b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x0e8b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0e8b('0x2'));var rp=require(_0x0e8b('0x3'));var moment=require(_0x0e8b('0x4'));var BPromise=require(_0x0e8b('0x5'));var Mustache=require(_0x0e8b('0x6'));var util=require('util');var path=require(_0x0e8b('0x7'));var sox=require('sox');var csv=require(_0x0e8b('0x8'));var ejs=require(_0x0e8b('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0e8b('0xa'));var toCsv=require(_0x0e8b('0x8'));var querystring=require('querystring');var Papa=require(_0x0e8b('0xb'));var Redis=require('ioredis');var authService=require(_0x0e8b('0xc'));var qs=require(_0x0e8b('0xd'));var as=require(_0x0e8b('0xe'));var hardwareService=require(_0x0e8b('0xf'));var logger=require(_0x0e8b('0x10'))(_0x0e8b('0x11'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0e8b('0x12'));var db=require(_0x0e8b('0x13'))['db'];function respondWithStatusCode(_0x4e589a,_0x2605f4){_0x2605f4=_0x2605f4||0xcc;return function(_0x12188){if(_0x12188){return _0x4e589a[_0x0e8b('0x14')](_0x2605f4);}return _0x4e589a[_0x0e8b('0x15')](_0x2605f4)['end']();};}function respondWithResult(_0x1ffd64,_0x11c4e1){_0x11c4e1=_0x11c4e1||0xc8;return function(_0x5e591a){if(_0x5e591a){return _0x1ffd64[_0x0e8b('0x15')](_0x11c4e1)[_0x0e8b('0x16')](_0x5e591a);}};}function respondWithFilteredResult(_0x1cc879,_0x324e79){return function(_0x2f0744){if(_0x2f0744){var _0x1c5d97=_0x2f0744[_0x0e8b('0x17')],_0x37397e=_0x324e79[_0x0e8b('0x18')],_0x295e24=_0x324e79[_0x0e8b('0x18')]+_0x324e79[_0x0e8b('0x19')],_0x46fde1;if(_0x295e24>=_0x1c5d97){_0x295e24=_0x1c5d97;_0x46fde1=0xc8;}else{_0x46fde1=0xce;}_0x1cc879[_0x0e8b('0x15')](_0x46fde1);return _0x1cc879[_0x0e8b('0x1a')](_0x0e8b('0x1b'),_0x37397e+'-'+_0x295e24+'/'+_0x1c5d97)['json'](_0x2f0744);}return null;};}function patchUpdates(_0x69a5ea){return function(_0xb90946){try{jsonpatch[_0x0e8b('0x1c')](_0xb90946,_0x69a5ea,!![]);}catch(_0x3a0342){return BPromise[_0x0e8b('0x1d')](_0x3a0342);}return _0xb90946[_0x0e8b('0x1e')]();};}function saveUpdates(_0x5c6842,_0x4cc105){return function(_0x12c70e){if(_0x12c70e){return _0x12c70e[_0x0e8b('0x1f')](_0x5c6842)[_0x0e8b('0x20')](function(_0x2f7f72){return _0x2f7f72;});}return null;};}function removeEntity(_0x58c4ea,_0x4faa8b){return function(_0x4d6e2a){if(_0x4d6e2a){return _0x4d6e2a[_0x0e8b('0x21')]()['then'](function(){_0x58c4ea['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x865801,_0x53f2cd){return function(_0x3375e5){if(!_0x3375e5){_0x865801[_0x0e8b('0x14')](0x194);}return _0x3375e5;};}function handleError(_0x5dda09,_0x3a3f18){_0x3a3f18=_0x3a3f18||0x1f4;return function(_0x314ff0){logger[_0x0e8b('0x22')](_0x314ff0['stack']);if(_0x314ff0[_0x0e8b('0x23')]){delete _0x314ff0['name'];}_0x5dda09[_0x0e8b('0x15')](_0x3a3f18)['send'](_0x314ff0);};}exports[_0x0e8b('0x24')]=function(_0x450aff,_0x291c06){var _0x276192={},_0x1b4579={},_0x1dd1b6={'count':0x0,'rows':[]};var _0x392788=_[_0x0e8b('0x25')](db[_0x0e8b('0x26')]['rawAttributes'],function(_0x33f8d6){return{'name':_0x33f8d6[_0x0e8b('0x27')],'type':_0x33f8d6['type']['key']};});_0x1b4579[_0x0e8b('0x28')]=_[_0x0e8b('0x25')](_0x392788,'name');_0x1b4579[_0x0e8b('0x29')]=_[_0x0e8b('0x2a')](_0x450aff[_0x0e8b('0x29')]);_0x1b4579['filters']=_['intersection'](_0x1b4579[_0x0e8b('0x28')],_0x1b4579['query']);_0x276192[_0x0e8b('0x2b')]=_[_0x0e8b('0x2c')](_0x1b4579[_0x0e8b('0x28')],qs[_0x0e8b('0x2d')](_0x450aff[_0x0e8b('0x29')][_0x0e8b('0x2d')]));_0x276192['attributes']=_0x276192['attributes']['length']?_0x276192[_0x0e8b('0x2b')]:_0x1b4579[_0x0e8b('0x28')];if(!_0x450aff['query'][_0x0e8b('0x2e')](_0x0e8b('0x2f'))){_0x276192[_0x0e8b('0x19')]=qs[_0x0e8b('0x19')](_0x450aff[_0x0e8b('0x29')][_0x0e8b('0x19')]);_0x276192['offset']=qs[_0x0e8b('0x18')](_0x450aff[_0x0e8b('0x29')]['offset']);}_0x276192[_0x0e8b('0x30')]=qs[_0x0e8b('0x31')](_0x450aff[_0x0e8b('0x29')][_0x0e8b('0x31')]);_0x276192[_0x0e8b('0x32')]=qs[_0x0e8b('0x33')](_[_0x0e8b('0x34')](_0x450aff['query'],_0x1b4579[_0x0e8b('0x33')]),_0x392788);if(_0x450aff[_0x0e8b('0x29')]['filter']){_0x276192[_0x0e8b('0x32')]=_[_0x0e8b('0x35')](_0x276192[_0x0e8b('0x32')],{'$or':_['map'](_0x392788,function(_0x57c158){if(_0x57c158['type']!==_0x0e8b('0x36')){var _0x429e88={};_0x429e88[_0x57c158[_0x0e8b('0x23')]]={'$like':'%'+_0x450aff[_0x0e8b('0x29')][_0x0e8b('0x37')]+'%'};return _0x429e88;}})});}_0x276192=_['merge']({},_0x276192,_0x450aff[_0x0e8b('0x38')]);var _0x5f3eb8={'where':_0x276192['where']};return db[_0x0e8b('0x26')][_0x0e8b('0x17')](_0x5f3eb8)['then'](function(_0x140fe7){_0x1dd1b6['count']=_0x140fe7;if(_0x450aff[_0x0e8b('0x29')][_0x0e8b('0x39')]){_0x276192[_0x0e8b('0x3a')]=[{'all':!![]}];}return db[_0x0e8b('0x26')]['findAll'](_0x276192);})[_0x0e8b('0x20')](function(_0x5b89ba){_0x1dd1b6[_0x0e8b('0x3b')]=_0x5b89ba;return _0x1dd1b6;})[_0x0e8b('0x20')](respondWithFilteredResult(_0x291c06,_0x276192))[_0x0e8b('0x3c')](handleError(_0x291c06,null));};exports[_0x0e8b('0x3d')]=function(_0x3b8d7a,_0x4f5505){var _0x44388a={'raw':!![],'where':{'id':_0x3b8d7a[_0x0e8b('0x3e')]['id']}},_0x3c4155={};_0x3c4155[_0x0e8b('0x28')]=_[_0x0e8b('0x2a')](db[_0x0e8b('0x26')][_0x0e8b('0x3f')]);_0x3c4155[_0x0e8b('0x29')]=_[_0x0e8b('0x2a')](_0x3b8d7a[_0x0e8b('0x29')]);_0x3c4155['filters']=_['intersection'](_0x3c4155['model'],_0x3c4155[_0x0e8b('0x29')]);_0x44388a[_0x0e8b('0x2b')]=_[_0x0e8b('0x2c')](_0x3c4155['model'],qs[_0x0e8b('0x2d')](_0x3b8d7a['query'][_0x0e8b('0x2d')]));_0x44388a[_0x0e8b('0x2b')]=_0x44388a[_0x0e8b('0x2b')][_0x0e8b('0x40')]?_0x44388a[_0x0e8b('0x2b')]:_0x3c4155[_0x0e8b('0x28')];if(_0x3b8d7a[_0x0e8b('0x29')][_0x0e8b('0x39')]){_0x44388a[_0x0e8b('0x3a')]=[{'all':!![]}];}_0x44388a=_[_0x0e8b('0x35')]({},_0x44388a,_0x3b8d7a[_0x0e8b('0x38')]);return db[_0x0e8b('0x26')][_0x0e8b('0x41')](_0x44388a)['then'](handleEntityNotFound(_0x4f5505,null))[_0x0e8b('0x20')](respondWithResult(_0x4f5505,null))[_0x0e8b('0x3c')](handleError(_0x4f5505,null));};exports[_0x0e8b('0x42')]=function(_0x3af372,_0x60ed14){return db['OpenchannelApplication'][_0x0e8b('0x42')](_0x3af372[_0x0e8b('0x43')],{})[_0x0e8b('0x20')](respondWithResult(_0x60ed14,0xc9))[_0x0e8b('0x3c')](handleError(_0x60ed14,null));};exports[_0x0e8b('0x1f')]=function(_0x545600,_0x460848){if(_0x545600['body']['id']){delete _0x545600[_0x0e8b('0x43')]['id'];}return db[_0x0e8b('0x26')][_0x0e8b('0x41')]({'where':{'id':_0x545600[_0x0e8b('0x3e')]['id']}})[_0x0e8b('0x20')](handleEntityNotFound(_0x460848,null))[_0x0e8b('0x20')](saveUpdates(_0x545600['body'],null))[_0x0e8b('0x20')](respondWithResult(_0x460848,null))[_0x0e8b('0x3c')](handleError(_0x460848,null));};exports[_0x0e8b('0x21')]=function(_0x2df63b,_0xb9d22a){return db['OpenchannelApplication'][_0x0e8b('0x41')]({'where':{'id':_0x2df63b[_0x0e8b('0x3e')]['id']}})[_0x0e8b('0x20')](handleEntityNotFound(_0xb9d22a,null))[_0x0e8b('0x20')](removeEntity(_0xb9d22a,null))['catch'](handleError(_0xb9d22a,null));};