Built motion from commit d9028345.|2.5.43
[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 _0x01e7=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','end','error','name','send','index','OpenchannelApplication','fieldName','type','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','catch','create','body','find','params','destroy','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','../../components/auth/service'];(function(_0xa35953,_0xfd95ba){var _0x5393e3=function(_0x3873ac){while(--_0x3873ac){_0xa35953['push'](_0xa35953['shift']());}};_0x5393e3(++_0xfd95ba);}(_0x01e7,0x1bb));var _0x701e=function(_0xe87d60,_0x4cadb4){_0xe87d60=_0xe87d60-0x0;var _0x505a42=_0x01e7[_0xe87d60];return _0x505a42;};'use strict';var emlformat=require(_0x701e('0x0'));var rimraf=require(_0x701e('0x1'));var zipdir=require(_0x701e('0x2'));var jsonpatch=require(_0x701e('0x3'));var rp=require('request-promise');var moment=require(_0x701e('0x4'));var BPromise=require(_0x701e('0x5'));var Mustache=require(_0x701e('0x6'));var util=require(_0x701e('0x7'));var path=require(_0x701e('0x8'));var sox=require(_0x701e('0x9'));var csv=require('to-csv');var ejs=require(_0x701e('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x701e('0xb'));var squel=require(_0x701e('0xc'));var crypto=require(_0x701e('0xd'));var jsforce=require(_0x701e('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x701e('0xf'));var querystring=require(_0x701e('0x10'));var Papa=require(_0x701e('0x11'));var Redis=require('ioredis');var authService=require(_0x701e('0x12'));var qs=require(_0x701e('0x13'));var as=require(_0x701e('0x14'));var hardwareService=require(_0x701e('0x15'));var logger=require(_0x701e('0x16'))(_0x701e('0x17'));var utils=require('../../config/utils');var config=require(_0x701e('0x18'));var licenseUtil=require(_0x701e('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xed1753,_0xe6baad){_0xe6baad=_0xe6baad||0xcc;return function(_0x15d77c){if(_0x15d77c){return _0xed1753[_0x701e('0x1a')](_0xe6baad);}return _0xed1753[_0x701e('0x1b')](_0xe6baad)['end']();};}function respondWithResult(_0x11347d,_0x4e5c7b){_0x4e5c7b=_0x4e5c7b||0xc8;return function(_0x44f8cc){if(_0x44f8cc){return _0x11347d[_0x701e('0x1b')](_0x4e5c7b)[_0x701e('0x1c')](_0x44f8cc);}};}function respondWithFilteredResult(_0x158138,_0x150af1){return function(_0x474841){if(_0x474841){var _0x4ac0c5=typeof _0x150af1[_0x701e('0x1d')]===_0x701e('0x1e')&&typeof _0x150af1['limit']===_0x701e('0x1e');var _0x19d410=_0x474841[_0x701e('0x1f')];var _0x59c644=_0x4ac0c5?0x0:_0x150af1[_0x701e('0x1d')];var _0x5cfd1b=_0x4ac0c5?_0x474841[_0x701e('0x1f')]:_0x150af1[_0x701e('0x1d')]+_0x150af1[_0x701e('0x20')];var _0x34ef38;if(_0x5cfd1b>=_0x19d410){_0x5cfd1b=_0x19d410;_0x34ef38=0xc8;}else{_0x34ef38=0xce;}_0x158138[_0x701e('0x1b')](_0x34ef38);return _0x158138[_0x701e('0x21')](_0x701e('0x22'),_0x59c644+'-'+_0x5cfd1b+'/'+_0x19d410)[_0x701e('0x1c')](_0x474841);}return null;};}function patchUpdates(_0x2d1ebd){return function(_0x591e8b){try{jsonpatch[_0x701e('0x23')](_0x591e8b,_0x2d1ebd,!![]);}catch(_0x273776){return BPromise[_0x701e('0x24')](_0x273776);}return _0x591e8b['save']();};}function saveUpdates(_0x1475e9,_0x46b928){return function(_0x14431e){if(_0x14431e){return _0x14431e[_0x701e('0x25')](_0x1475e9)[_0x701e('0x26')](function(_0x2ed19d){return _0x2ed19d;});}return null;};}function removeEntity(_0x17e6cb,_0x1047a1){return function(_0x19131b){if(_0x19131b){return _0x19131b['destroy']()[_0x701e('0x26')](function(){_0x17e6cb[_0x701e('0x1b')](0xcc)[_0x701e('0x27')]();});}};}function handleEntityNotFound(_0x5b98b9,_0xa9564e){return function(_0x56c39a){if(!_0x56c39a){_0x5b98b9[_0x701e('0x1a')](0x194);}return _0x56c39a;};}function handleError(_0x18c563,_0x2b4c3f){_0x2b4c3f=_0x2b4c3f||0x1f4;return function(_0x29a420){logger[_0x701e('0x28')](_0x29a420['stack']);if(_0x29a420[_0x701e('0x29')]){delete _0x29a420['name'];}_0x18c563[_0x701e('0x1b')](_0x2b4c3f)[_0x701e('0x2a')](_0x29a420);};}exports[_0x701e('0x2b')]=function(_0x37ee0c,_0x1f9f73){var _0x12b2e2={},_0x53117a={},_0x3cb35b={'count':0x0,'rows':[]};var _0x508237=_['map'](db[_0x701e('0x2c')]['rawAttributes'],function(_0xc09c8e){return{'name':_0xc09c8e[_0x701e('0x2d')],'type':_0xc09c8e[_0x701e('0x2e')]['key']};});_0x53117a[_0x701e('0x2f')]=_[_0x701e('0x30')](_0x508237,_0x701e('0x29'));_0x53117a['query']=_[_0x701e('0x31')](_0x37ee0c[_0x701e('0x32')]);_0x53117a[_0x701e('0x33')]=_[_0x701e('0x34')](_0x53117a[_0x701e('0x2f')],_0x53117a[_0x701e('0x32')]);_0x12b2e2[_0x701e('0x35')]=_[_0x701e('0x34')](_0x53117a[_0x701e('0x2f')],qs[_0x701e('0x36')](_0x37ee0c[_0x701e('0x32')][_0x701e('0x36')]));_0x12b2e2[_0x701e('0x35')]=_0x12b2e2[_0x701e('0x35')][_0x701e('0x37')]?_0x12b2e2[_0x701e('0x35')]:_0x53117a['model'];if(!_0x37ee0c[_0x701e('0x32')][_0x701e('0x38')](_0x701e('0x39'))){_0x12b2e2['limit']=qs[_0x701e('0x20')](_0x37ee0c[_0x701e('0x32')][_0x701e('0x20')]);_0x12b2e2[_0x701e('0x1d')]=qs[_0x701e('0x1d')](_0x37ee0c[_0x701e('0x32')][_0x701e('0x1d')]);}_0x12b2e2[_0x701e('0x3a')]=qs[_0x701e('0x3b')](_0x37ee0c[_0x701e('0x32')][_0x701e('0x3b')]);_0x12b2e2[_0x701e('0x3c')]=qs['filters'](_[_0x701e('0x3d')](_0x37ee0c[_0x701e('0x32')],_0x53117a[_0x701e('0x33')]),_0x508237);if(_0x37ee0c['query'][_0x701e('0x3e')]){_0x12b2e2['where']=_[_0x701e('0x3f')](_0x12b2e2[_0x701e('0x3c')],{'$or':_[_0x701e('0x30')](_0x508237,function(_0x4cb30c){if(_0x4cb30c[_0x701e('0x2e')]!==_0x701e('0x40')){var _0x4ced5a={};_0x4ced5a[_0x4cb30c[_0x701e('0x29')]]={'$like':'%'+_0x37ee0c[_0x701e('0x32')][_0x701e('0x3e')]+'%'};return _0x4ced5a;}})});}_0x12b2e2=_[_0x701e('0x3f')]({},_0x12b2e2,_0x37ee0c[_0x701e('0x41')]);var _0x12e636={'where':_0x12b2e2[_0x701e('0x3c')]};return db['OpenchannelApplication'][_0x701e('0x1f')](_0x12e636)['then'](function(_0x46dcde){_0x3cb35b['count']=_0x46dcde;if(_0x37ee0c[_0x701e('0x32')][_0x701e('0x42')]){_0x12b2e2[_0x701e('0x43')]=[{'all':!![]}];}return db[_0x701e('0x2c')][_0x701e('0x44')](_0x12b2e2);})[_0x701e('0x26')](function(_0x5306b5){_0x3cb35b[_0x701e('0x45')]=_0x5306b5;return _0x3cb35b;})[_0x701e('0x26')](respondWithFilteredResult(_0x1f9f73,_0x12b2e2))['catch'](handleError(_0x1f9f73,null));};exports[_0x701e('0x46')]=function(_0xb7250a,_0x517582){var _0x4aa704={'raw':!![],'where':{'id':_0xb7250a['params']['id']}},_0x1c28f2={};_0x1c28f2[_0x701e('0x2f')]=_[_0x701e('0x31')](db[_0x701e('0x2c')]['rawAttributes']);_0x1c28f2['query']=_['keys'](_0xb7250a[_0x701e('0x32')]);_0x1c28f2[_0x701e('0x33')]=_['intersection'](_0x1c28f2[_0x701e('0x2f')],_0x1c28f2[_0x701e('0x32')]);_0x4aa704[_0x701e('0x35')]=_[_0x701e('0x34')](_0x1c28f2[_0x701e('0x2f')],qs['fields'](_0xb7250a[_0x701e('0x32')][_0x701e('0x36')]));_0x4aa704[_0x701e('0x35')]=_0x4aa704[_0x701e('0x35')][_0x701e('0x37')]?_0x4aa704[_0x701e('0x35')]:_0x1c28f2[_0x701e('0x2f')];if(_0xb7250a[_0x701e('0x32')][_0x701e('0x42')]){_0x4aa704[_0x701e('0x43')]=[{'all':!![]}];}_0x4aa704=_[_0x701e('0x3f')]({},_0x4aa704,_0xb7250a[_0x701e('0x41')]);return db[_0x701e('0x2c')]['find'](_0x4aa704)['then'](handleEntityNotFound(_0x517582,null))[_0x701e('0x26')](respondWithResult(_0x517582,null))[_0x701e('0x47')](handleError(_0x517582,null));};exports['create']=function(_0x36ac8c,_0x1f2b4a){return db['OpenchannelApplication'][_0x701e('0x48')](_0x36ac8c[_0x701e('0x49')],{})[_0x701e('0x26')](respondWithResult(_0x1f2b4a,0xc9))[_0x701e('0x47')](handleError(_0x1f2b4a,null));};exports[_0x701e('0x25')]=function(_0x22fa8f,_0x1f811b){if(_0x22fa8f['body']['id']){delete _0x22fa8f[_0x701e('0x49')]['id'];}return db['OpenchannelApplication'][_0x701e('0x4a')]({'where':{'id':_0x22fa8f[_0x701e('0x4b')]['id']}})[_0x701e('0x26')](handleEntityNotFound(_0x1f811b,null))['then'](saveUpdates(_0x22fa8f['body'],null))[_0x701e('0x26')](respondWithResult(_0x1f811b,null))[_0x701e('0x47')](handleError(_0x1f811b,null));};exports[_0x701e('0x4c')]=function(_0x417860,_0x34d3bf){return db[_0x701e('0x2c')][_0x701e('0x4a')]({'where':{'id':_0x417860[_0x701e('0x4b')]['id']}})[_0x701e('0x26')](handleEntityNotFound(_0x34d3bf,null))[_0x701e('0x26')](removeEntity(_0x34d3bf,null))[_0x701e('0x47')](handleError(_0x34d3bf,null));};