671f813c7e67418a044f6057d5b8228c88b3aa1f
[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 _0x3496=['stack','name','send','map','OpenchannelApplication','rawAttributes','fieldName','type','key','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','order','sort','where','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','show','params','body','find','html-pdf','rimraf','request-promise','bluebird','util','path','sox','to-csv','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','set','reject','update','then','destroy'];(function(_0x116cf4,_0x5ae4ae){var _0x4095ff=function(_0x5bd998){while(--_0x5bd998){_0x116cf4['push'](_0x116cf4['shift']());}};_0x4095ff(++_0x5ae4ae);}(_0x3496,0x116));var _0x6349=function(_0xc7ddf4,_0x167da9){_0xc7ddf4=_0xc7ddf4-0x0;var _0x226b2c=_0x3496[_0xc7ddf4];return _0x226b2c;};'use strict';var pdf=require(_0x6349('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x6349('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x6349('0x2'));var moment=require('moment');var BPromise=require(_0x6349('0x3'));var Mustache=require('mustache');var util=require(_0x6349('0x4'));var path=require(_0x6349('0x5'));var sox=require(_0x6349('0x6'));var csv=require(_0x6349('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x6349('0x8'));var jsforce=require(_0x6349('0x9'));var deskjs=require('desk.js');var toCsv=require(_0x6349('0x7'));var querystring=require(_0x6349('0xa'));var Papa=require(_0x6349('0xb'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x6349('0xc'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x6349('0xd'))('api');var utils=require('../../config/utils');var config=require(_0x6349('0xe'));var licenseUtil=require('../../config/license/util');var db=require(_0x6349('0xf'))['db'];function respondWithStatusCode(_0x174e10,_0x503ad9){_0x503ad9=_0x503ad9||0xcc;return function(_0x577e64){if(_0x577e64){return _0x174e10[_0x6349('0x10')](_0x503ad9);}return _0x174e10[_0x6349('0x11')](_0x503ad9)[_0x6349('0x12')]();};}function respondWithResult(_0x5161f0,_0x3cc726){_0x3cc726=_0x3cc726||0xc8;return function(_0x5c73a5){if(_0x5c73a5){return _0x5161f0[_0x6349('0x11')](_0x3cc726)[_0x6349('0x13')](_0x5c73a5);}};}function respondWithFilteredResult(_0x221d0a,_0x4f3410){return function(_0x11d0cd){if(_0x11d0cd){var _0x22a296=_0x11d0cd['count'],_0x235222=_0x4f3410[_0x6349('0x14')],_0x58dfa1=_0x4f3410['offset']+_0x4f3410[_0x6349('0x15')],_0x3bf0c4;if(_0x58dfa1>=_0x22a296){_0x58dfa1=_0x22a296;_0x3bf0c4=0xc8;}else{_0x3bf0c4=0xce;}_0x221d0a[_0x6349('0x11')](_0x3bf0c4);return _0x221d0a[_0x6349('0x16')]('Content-Range',_0x235222+'-'+_0x58dfa1+'/'+_0x22a296)[_0x6349('0x13')](_0x11d0cd);}return null;};}function patchUpdates(_0x5c4379){return function(_0xa63637){try{jsonpatch['apply'](_0xa63637,_0x5c4379,!![]);}catch(_0x4d9bfc){return BPromise[_0x6349('0x17')](_0x4d9bfc);}return _0xa63637['save']();};}function saveUpdates(_0xd0c558,_0x4d9423){return function(_0x206cda){if(_0x206cda){return _0x206cda[_0x6349('0x18')](_0xd0c558)[_0x6349('0x19')](function(_0x3ae82e){return _0x3ae82e;});}return null;};}function removeEntity(_0x1b62a0,_0x592c98){return function(_0x3b2725){if(_0x3b2725){return _0x3b2725[_0x6349('0x1a')]()['then'](function(){_0x1b62a0[_0x6349('0x11')](0xcc)[_0x6349('0x12')]();});}};}function handleEntityNotFound(_0x4d488a,_0x5e7aee){return function(_0x5e66d3){if(!_0x5e66d3){_0x4d488a['sendStatus'](0x194);}return _0x5e66d3;};}function handleError(_0x49730f,_0x9a4e85){_0x9a4e85=_0x9a4e85||0x1f4;return function(_0x2d80d9){logger['error'](_0x2d80d9[_0x6349('0x1b')]);if(_0x2d80d9[_0x6349('0x1c')]){delete _0x2d80d9[_0x6349('0x1c')];}_0x49730f['status'](_0x9a4e85)[_0x6349('0x1d')](_0x2d80d9);};}exports['index']=function(_0x1e0f6a,_0x5f2d52){var _0x5c8889={},_0x25fa09={},_0x115af2={'count':0x0,'rows':[]};var _0x3f086e=_[_0x6349('0x1e')](db[_0x6349('0x1f')][_0x6349('0x20')],function(_0x2ead08){return{'name':_0x2ead08[_0x6349('0x21')],'type':_0x2ead08[_0x6349('0x22')][_0x6349('0x23')]};});_0x25fa09[_0x6349('0x24')]=_[_0x6349('0x1e')](_0x3f086e,_0x6349('0x1c'));_0x25fa09['query']=_['keys'](_0x1e0f6a['query']);_0x25fa09[_0x6349('0x25')]=_[_0x6349('0x26')](_0x25fa09['model'],_0x25fa09[_0x6349('0x27')]);_0x5c8889[_0x6349('0x28')]=_[_0x6349('0x26')](_0x25fa09[_0x6349('0x24')],qs[_0x6349('0x29')](_0x1e0f6a[_0x6349('0x27')][_0x6349('0x29')]));_0x5c8889[_0x6349('0x28')]=_0x5c8889[_0x6349('0x28')][_0x6349('0x2a')]?_0x5c8889[_0x6349('0x28')]:_0x25fa09[_0x6349('0x24')];if(!_0x1e0f6a[_0x6349('0x27')][_0x6349('0x2b')]('nolimit')){_0x5c8889[_0x6349('0x15')]=qs[_0x6349('0x15')](_0x1e0f6a['query'][_0x6349('0x15')]);_0x5c8889[_0x6349('0x14')]=qs['offset'](_0x1e0f6a[_0x6349('0x27')][_0x6349('0x14')]);}_0x5c8889[_0x6349('0x2c')]=qs[_0x6349('0x2d')](_0x1e0f6a[_0x6349('0x27')][_0x6349('0x2d')]);_0x5c8889[_0x6349('0x2e')]=qs[_0x6349('0x25')](_['pick'](_0x1e0f6a[_0x6349('0x27')],_0x25fa09[_0x6349('0x25')]),_0x3f086e);if(_0x1e0f6a['query']['filter']){_0x5c8889['where']=_[_0x6349('0x2f')](_0x5c8889['where'],{'$or':_[_0x6349('0x1e')](_0x3f086e,function(_0x3fe7d8){if(_0x3fe7d8[_0x6349('0x22')]!==_0x6349('0x30')){var _0x55f2ae={};_0x55f2ae[_0x3fe7d8['name']]={'$like':'%'+_0x1e0f6a[_0x6349('0x27')][_0x6349('0x31')]+'%'};return _0x55f2ae;}})});}_0x5c8889=_[_0x6349('0x2f')]({},_0x5c8889,_0x1e0f6a[_0x6349('0x32')]);var _0x284d8e={'where':_0x5c8889[_0x6349('0x2e')]};return db[_0x6349('0x1f')][_0x6349('0x33')](_0x284d8e)[_0x6349('0x19')](function(_0x1d2cf0){_0x115af2[_0x6349('0x33')]=_0x1d2cf0;if(_0x1e0f6a['query'][_0x6349('0x34')]){_0x5c8889[_0x6349('0x35')]=[{'all':!![]}];}return db[_0x6349('0x1f')][_0x6349('0x36')](_0x5c8889);})['then'](function(_0x11dbe6){_0x115af2[_0x6349('0x37')]=_0x11dbe6;return _0x115af2;})[_0x6349('0x19')](respondWithFilteredResult(_0x5f2d52,_0x5c8889))[_0x6349('0x38')](handleError(_0x5f2d52,null));};exports[_0x6349('0x39')]=function(_0x11d343,_0x27898c){var _0x4b493a={'raw':!![],'where':{'id':_0x11d343[_0x6349('0x3a')]['id']}},_0x3a0d63={};_0x3a0d63[_0x6349('0x24')]=_['keys'](db[_0x6349('0x1f')]['rawAttributes']);_0x3a0d63[_0x6349('0x27')]=_['keys'](_0x11d343['query']);_0x3a0d63[_0x6349('0x25')]=_['intersection'](_0x3a0d63[_0x6349('0x24')],_0x3a0d63[_0x6349('0x27')]);_0x4b493a[_0x6349('0x28')]=_[_0x6349('0x26')](_0x3a0d63[_0x6349('0x24')],qs[_0x6349('0x29')](_0x11d343['query'][_0x6349('0x29')]));_0x4b493a[_0x6349('0x28')]=_0x4b493a[_0x6349('0x28')][_0x6349('0x2a')]?_0x4b493a[_0x6349('0x28')]:_0x3a0d63[_0x6349('0x24')];if(_0x11d343[_0x6349('0x27')][_0x6349('0x34')]){_0x4b493a['include']=[{'all':!![]}];}_0x4b493a=_[_0x6349('0x2f')]({},_0x4b493a,_0x11d343[_0x6349('0x32')]);return db['OpenchannelApplication']['find'](_0x4b493a)[_0x6349('0x19')](handleEntityNotFound(_0x27898c,null))['then'](respondWithResult(_0x27898c,null))[_0x6349('0x38')](handleError(_0x27898c,null));};exports['create']=function(_0x1c1610,_0x3ae99a){return db[_0x6349('0x1f')]['create'](_0x1c1610[_0x6349('0x3b')],{})[_0x6349('0x19')](respondWithResult(_0x3ae99a,0xc9))['catch'](handleError(_0x3ae99a,null));};exports['update']=function(_0x20367b,_0x4c0091){if(_0x20367b[_0x6349('0x3b')]['id']){delete _0x20367b[_0x6349('0x3b')]['id'];}return db['OpenchannelApplication'][_0x6349('0x3c')]({'where':{'id':_0x20367b[_0x6349('0x3a')]['id']}})[_0x6349('0x19')](handleEntityNotFound(_0x4c0091,null))[_0x6349('0x19')](saveUpdates(_0x20367b[_0x6349('0x3b')],null))[_0x6349('0x19')](respondWithResult(_0x4c0091,null))['catch'](handleError(_0x4c0091,null));};exports[_0x6349('0x1a')]=function(_0x195c60,_0x49f5ef){return db['OpenchannelApplication'][_0x6349('0x3c')]({'where':{'id':_0x195c60[_0x6349('0x3a')]['id']}})[_0x6349('0x19')](handleEntityNotFound(_0x49f5ef,null))[_0x6349('0x19')](removeEntity(_0x49f5ef,null))['catch'](handleError(_0x49f5ef,null));};