Built motion from commit 8c034dcd.|2.6.31
[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 _0xcbe5=['desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','error','name','send','index','OpenchannelApplication','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','order','sort','where','pick','filters','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','length','create','body','destroy','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','jsforce'];(function(_0x326bf1,_0x2cd17b){var _0x183ff8=function(_0x4db6b3){while(--_0x4db6b3){_0x326bf1['push'](_0x326bf1['shift']());}};_0x183ff8(++_0x2cd17b);}(_0xcbe5,0x168));var _0x5cbe=function(_0x1cc8fe,_0x105328){_0x1cc8fe=_0x1cc8fe-0x0;var _0x230054=_0xcbe5[_0x1cc8fe];return _0x230054;};'use strict';var emlformat=require(_0x5cbe('0x0'));var rimraf=require(_0x5cbe('0x1'));var zipdir=require(_0x5cbe('0x2'));var jsonpatch=require(_0x5cbe('0x3'));var rp=require(_0x5cbe('0x4'));var moment=require(_0x5cbe('0x5'));var BPromise=require(_0x5cbe('0x6'));var Mustache=require(_0x5cbe('0x7'));var util=require(_0x5cbe('0x8'));var path=require('path');var sox=require(_0x5cbe('0x9'));var csv=require(_0x5cbe('0xa'));var ejs=require(_0x5cbe('0xb'));var fs=require('fs');var fs_extra=require(_0x5cbe('0xc'));var _=require(_0x5cbe('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x5cbe('0xe'));var deskjs=require(_0x5cbe('0xf'));var toCsv=require('to-csv');var querystring=require(_0x5cbe('0x10'));var Papa=require('papaparse');var Redis=require(_0x5cbe('0x11'));var authService=require(_0x5cbe('0x12'));var qs=require(_0x5cbe('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5cbe('0x14'))('api');var utils=require(_0x5cbe('0x15'));var config=require(_0x5cbe('0x16'));var licenseUtil=require(_0x5cbe('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x41a690,_0x1b6761){_0x1b6761=_0x1b6761||0xcc;return function(_0x1e0dc5){if(_0x1e0dc5){return _0x41a690[_0x5cbe('0x18')](_0x1b6761);}return _0x41a690[_0x5cbe('0x19')](_0x1b6761)[_0x5cbe('0x1a')]();};}function respondWithResult(_0x5c436f,_0x2f28fc){_0x2f28fc=_0x2f28fc||0xc8;return function(_0x257f60){if(_0x257f60){return _0x5c436f[_0x5cbe('0x19')](_0x2f28fc)[_0x5cbe('0x1b')](_0x257f60);}};}function respondWithFilteredResult(_0x8740c8,_0x1f0680){return function(_0x2dcc71){if(_0x2dcc71){var _0x44d7db=typeof _0x1f0680[_0x5cbe('0x1c')]===_0x5cbe('0x1d')&&typeof _0x1f0680[_0x5cbe('0x1e')]==='undefined';var _0x5b5866=_0x2dcc71['count'];var _0x50de88=_0x44d7db?0x0:_0x1f0680[_0x5cbe('0x1c')];var _0x545ade=_0x44d7db?_0x2dcc71[_0x5cbe('0x1f')]:_0x1f0680['offset']+_0x1f0680[_0x5cbe('0x1e')];var _0xf5ad2;if(_0x545ade>=_0x5b5866){_0x545ade=_0x5b5866;_0xf5ad2=0xc8;}else{_0xf5ad2=0xce;}_0x8740c8['status'](_0xf5ad2);return _0x8740c8[_0x5cbe('0x20')](_0x5cbe('0x21'),_0x50de88+'-'+_0x545ade+'/'+_0x5b5866)[_0x5cbe('0x1b')](_0x2dcc71);}return null;};}function patchUpdates(_0x3bf094){return function(_0x1355f5){try{jsonpatch[_0x5cbe('0x22')](_0x1355f5,_0x3bf094,!![]);}catch(_0x2e0f62){return BPromise[_0x5cbe('0x23')](_0x2e0f62);}return _0x1355f5[_0x5cbe('0x24')]();};}function saveUpdates(_0x49ba4d,_0x284c51){return function(_0x1b85fe){if(_0x1b85fe){return _0x1b85fe[_0x5cbe('0x25')](_0x49ba4d)[_0x5cbe('0x26')](function(_0x46ca97){return _0x46ca97;});}return null;};}function removeEntity(_0x45a5e7,_0x36b056){return function(_0x51cd8f){if(_0x51cd8f){return _0x51cd8f['destroy']()[_0x5cbe('0x26')](function(){_0x45a5e7[_0x5cbe('0x19')](0xcc)[_0x5cbe('0x1a')]();});}};}function handleEntityNotFound(_0x32765b,_0x2afaeb){return function(_0x3bf60d){if(!_0x3bf60d){_0x32765b[_0x5cbe('0x18')](0x194);}return _0x3bf60d;};}function handleError(_0x3d1240,_0x2f8269){_0x2f8269=_0x2f8269||0x1f4;return function(_0x3e9aca){logger[_0x5cbe('0x27')](_0x3e9aca['stack']);if(_0x3e9aca[_0x5cbe('0x28')]){delete _0x3e9aca[_0x5cbe('0x28')];}_0x3d1240[_0x5cbe('0x19')](_0x2f8269)[_0x5cbe('0x29')](_0x3e9aca);};}exports[_0x5cbe('0x2a')]=function(_0x2d14e4,_0x2086a5){var _0x33535c={},_0x390161={},_0x1df089={'count':0x0,'rows':[]};var _0x4a6816=_['map'](db[_0x5cbe('0x2b')][_0x5cbe('0x2c')],function(_0x5bed20){return{'name':_0x5bed20[_0x5cbe('0x2d')],'type':_0x5bed20[_0x5cbe('0x2e')][_0x5cbe('0x2f')]};});_0x390161[_0x5cbe('0x30')]=_[_0x5cbe('0x31')](_0x4a6816,'name');_0x390161[_0x5cbe('0x32')]=_[_0x5cbe('0x33')](_0x2d14e4[_0x5cbe('0x32')]);_0x390161['filters']=_[_0x5cbe('0x34')](_0x390161['model'],_0x390161[_0x5cbe('0x32')]);_0x33535c[_0x5cbe('0x35')]=_[_0x5cbe('0x34')](_0x390161[_0x5cbe('0x30')],qs['fields'](_0x2d14e4['query'][_0x5cbe('0x36')]));_0x33535c['attributes']=_0x33535c['attributes']['length']?_0x33535c['attributes']:_0x390161[_0x5cbe('0x30')];if(!_0x2d14e4[_0x5cbe('0x32')]['hasOwnProperty']('nolimit')){_0x33535c['limit']=qs['limit'](_0x2d14e4[_0x5cbe('0x32')]['limit']);_0x33535c[_0x5cbe('0x1c')]=qs['offset'](_0x2d14e4['query'][_0x5cbe('0x1c')]);}_0x33535c[_0x5cbe('0x37')]=qs['sort'](_0x2d14e4[_0x5cbe('0x32')][_0x5cbe('0x38')]);_0x33535c[_0x5cbe('0x39')]=qs['filters'](_[_0x5cbe('0x3a')](_0x2d14e4[_0x5cbe('0x32')],_0x390161[_0x5cbe('0x3b')]),_0x4a6816);if(_0x2d14e4[_0x5cbe('0x32')][_0x5cbe('0x3c')]){_0x33535c[_0x5cbe('0x39')]=_['merge'](_0x33535c[_0x5cbe('0x39')],{'$or':_[_0x5cbe('0x31')](_0x4a6816,function(_0x330ae9){if(_0x330ae9[_0x5cbe('0x2e')]!=='VIRTUAL'){var _0x34fe17={};_0x34fe17[_0x330ae9[_0x5cbe('0x28')]]={'$like':'%'+_0x2d14e4[_0x5cbe('0x32')][_0x5cbe('0x3c')]+'%'};return _0x34fe17;}})});}_0x33535c=_[_0x5cbe('0x3d')]({},_0x33535c,_0x2d14e4[_0x5cbe('0x3e')]);var _0x32bc3d={'where':_0x33535c[_0x5cbe('0x39')]};return db[_0x5cbe('0x2b')]['count'](_0x32bc3d)['then'](function(_0x132ce4){_0x1df089[_0x5cbe('0x1f')]=_0x132ce4;if(_0x2d14e4['query'][_0x5cbe('0x3f')]){_0x33535c[_0x5cbe('0x40')]=[{'all':!![]}];}return db[_0x5cbe('0x2b')][_0x5cbe('0x41')](_0x33535c);})[_0x5cbe('0x26')](function(_0x28a71a){_0x1df089[_0x5cbe('0x42')]=_0x28a71a;return _0x1df089;})[_0x5cbe('0x26')](respondWithFilteredResult(_0x2086a5,_0x33535c))[_0x5cbe('0x43')](handleError(_0x2086a5,null));};exports[_0x5cbe('0x44')]=function(_0x37a9bd,_0x7fc467){var _0x14f3f9={'raw':!![],'where':{'id':_0x37a9bd[_0x5cbe('0x45')]['id']}},_0x3ff218={};_0x3ff218[_0x5cbe('0x30')]=_[_0x5cbe('0x33')](db[_0x5cbe('0x2b')][_0x5cbe('0x2c')]);_0x3ff218[_0x5cbe('0x32')]=_[_0x5cbe('0x33')](_0x37a9bd[_0x5cbe('0x32')]);_0x3ff218[_0x5cbe('0x3b')]=_[_0x5cbe('0x34')](_0x3ff218[_0x5cbe('0x30')],_0x3ff218[_0x5cbe('0x32')]);_0x14f3f9[_0x5cbe('0x35')]=_[_0x5cbe('0x34')](_0x3ff218[_0x5cbe('0x30')],qs[_0x5cbe('0x36')](_0x37a9bd['query']['fields']));_0x14f3f9[_0x5cbe('0x35')]=_0x14f3f9[_0x5cbe('0x35')][_0x5cbe('0x46')]?_0x14f3f9[_0x5cbe('0x35')]:_0x3ff218[_0x5cbe('0x30')];if(_0x37a9bd[_0x5cbe('0x32')][_0x5cbe('0x3f')]){_0x14f3f9['include']=[{'all':!![]}];}_0x14f3f9=_[_0x5cbe('0x3d')]({},_0x14f3f9,_0x37a9bd[_0x5cbe('0x3e')]);return db[_0x5cbe('0x2b')]['find'](_0x14f3f9)[_0x5cbe('0x26')](handleEntityNotFound(_0x7fc467,null))[_0x5cbe('0x26')](respondWithResult(_0x7fc467,null))[_0x5cbe('0x43')](handleError(_0x7fc467,null));};exports[_0x5cbe('0x47')]=function(_0x1e46ed,_0x26733e){return db[_0x5cbe('0x2b')][_0x5cbe('0x47')](_0x1e46ed[_0x5cbe('0x48')],{})[_0x5cbe('0x26')](respondWithResult(_0x26733e,0xc9))[_0x5cbe('0x43')](handleError(_0x26733e,null));};exports[_0x5cbe('0x25')]=function(_0x78be6,_0x28414f){if(_0x78be6[_0x5cbe('0x48')]['id']){delete _0x78be6[_0x5cbe('0x48')]['id'];}return db[_0x5cbe('0x2b')]['find']({'where':{'id':_0x78be6[_0x5cbe('0x45')]['id']}})[_0x5cbe('0x26')](handleEntityNotFound(_0x28414f,null))['then'](saveUpdates(_0x78be6[_0x5cbe('0x48')],null))[_0x5cbe('0x26')](respondWithResult(_0x28414f,null))[_0x5cbe('0x43')](handleError(_0x28414f,null));};exports[_0x5cbe('0x49')]=function(_0x3ccf07,_0x5d02b8){return db[_0x5cbe('0x2b')][_0x5cbe('0x4a')]({'where':{'id':_0x3ccf07[_0x5cbe('0x45')]['id']}})[_0x5cbe('0x26')](handleEntityNotFound(_0x5d02b8,null))[_0x5cbe('0x26')](removeEntity(_0x5d02b8,null))[_0x5cbe('0x43')](handleError(_0x5d02b8,null));};